diff --git a/deploy/self-hosting/.env.example b/deploy/self-hosting/.env.example index d9b9fc56f..86bcc897d 100644 --- a/deploy/self-hosting/.env.example +++ b/deploy/self-hosting/.env.example @@ -306,7 +306,7 @@ FLUXER_KLIPY_API_KEY= FLUXER_EMAIL_ENABLED=false FLUXER_EMAIL_PROVIDER=none FLUXER_EMAIL_FROM_EMAIL=noreply@example.com -FLUXER_EMAIL_FROM_NAME=Fluxer +FLUXER_EMAIL_FROM_NAME= #FLUXER_EMAIL_REPLY_TO_EMAIL=support@example.com FLUXER_EMAIL_APP_BASE_URL= FLUXER_EMAIL_SMTP_HOST= @@ -319,7 +319,10 @@ FLUXER_EMAIL_SMTP_SECURE=true FLUXER_DISCOVERY_ENABLED=true #FLUXER_DISCOVERY_MIN_MEMBER_COUNT=1 -# Instance identity and account policy. +# Instance identity and account policy. The terms, privacy and community +# guidelines links have no variable here. Set them in the admin panel under +# Instance Config. Until a guidelines link is set, the clients, report forms and +# enforcement emails show none. #FLUXER_APP_PRODUCT_NAME=Fluxer #FLUXER_APP_ICON_URL= #FLUXER_APP_SYMBOL_URL= diff --git a/fluxer_admin/openapi-admin.json b/fluxer_admin/openapi-admin.json index 8f7b624a5..beabebff7 100644 --- a/fluxer_admin/openapi-admin.json +++ b/fluxer_admin/openapi-admin.json @@ -5,7 +5,7 @@ "title": "Fluxer API", "version": "1.0.0", "description": "API for Fluxer, a free and open source instant messaging and VoIP chat app built for friends, groups, and communities.", - "contact": {"name": "Fluxer Platform AB", "email": "support@fluxer.app"}, + "contact": {"name": "Fluxer Platform AB", "email": "support@fluxer.com"}, "license": {"name": "AGPL-3.0", "url": "https://www.gnu.org/licenses/agpl-3.0.html"} }, "servers": [{"url": "https://api.fluxer.app/v1", "description": "Production API"}], @@ -11362,9 +11362,10 @@ "type": "object", "properties": { "terms_url": {"nullable": true, "type": "string"}, - "privacy_url": {"nullable": true, "type": "string"} + "privacy_url": {"nullable": true, "type": "string"}, + "guidelines_url": {"nullable": true, "type": "string"} }, - "required": ["terms_url", "privacy_url"], + "required": ["terms_url", "privacy_url", "guidelines_url"], "additionalProperties": false }, "registration": { @@ -11818,7 +11819,8 @@ "type": "object", "properties": { "terms_url": {"nullable": true, "type": "string", "maxLength": 2048}, - "privacy_url": {"nullable": true, "type": "string", "maxLength": 2048} + "privacy_url": {"nullable": true, "type": "string", "maxLength": 2048}, + "guidelines_url": {"nullable": true, "type": "string", "maxLength": 2048} } }, "registration": { @@ -17474,8 +17476,8 @@ "IP authorization is required.", "IP authorization resend is on cooldown.", "IP authorization resend limit exceeded.", - "Your IP address {ipAddress} has been permanently blocked from the Fluxer API by platform administrators. If you believe this is a mistake, contact support@fluxer.app to appeal. Include this IP address in your appeal.", - "Your IP address {ipAddress} has been temporarily blocked from the Fluxer API. The block lifts on its own when it expires. If you think this is a mistake, contact support@fluxer.com and include this IP address.", + "Your IP address {ipAddress} has been permanently blocked from the {product_name} API by platform administrators. {appealEmail, select, null {If you believe this is a mistake, contact the administrators of this instance to appeal.} other {If you believe this is a mistake, contact {appealEmail} to appeal.}} Include this IP address in your appeal.", + "Your IP address {ipAddress} has been temporarily blocked from the {product_name} API. The block lifts on its own when it expires. {appealEmail, select, null {If you think this is a mistake, contact the administrators of this instance and include this IP address.} other {If you think this is a mistake, contact {appealEmail} and include this IP address.}}", "This IP address cannot be added to the blocklist.", "You've reached the maximum of {limit, plural, one {# application} other {# applications}}.", "You've reached the maximum of {count, plural, one {# bookmark} other {# bookmarks}}.", @@ -17543,7 +17545,7 @@ "Test purchases cannot be applied to this account.", "Stream key channel mismatch.", "Stream key scope mismatch.", - "Payment processing encountered an error. Please try again or contact support.", + "{supportEmail, select, null {Payment processing encountered an error. Please try again or contact the administrators of this instance.} other {Payment processing encountered an error. Please try again or contact support.}}", "Gift code redemption is in progress. Try again in a moment.", "Invalid product selection.", "Invalid product configuration.", diff --git a/fluxer_admin/src/api/types/instance_config.rs b/fluxer_admin/src/api/types/instance_config.rs index 6f5d89463..69e1a9862 100644 --- a/fluxer_admin/src/api/types/instance_config.rs +++ b/fluxer_admin/src/api/types/instance_config.rs @@ -417,6 +417,8 @@ pub struct AppSetupConfigResponse { pub struct AppLegalConfigResponse { pub terms_url: Option, pub privacy_url: Option, + #[serde(default)] + pub guidelines_url: Option, } #[derive(Clone, Debug, Deserialize, Serialize)] @@ -927,6 +929,8 @@ pub struct AppLegalConfigUpdateRequest { pub terms_url: Option>, #[serde(skip_serializing_if = "Option::is_none")] pub privacy_url: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub guidelines_url: Option>, } #[derive(Clone, Debug, Default, Serialize)] diff --git a/fluxer_admin/src/routes/system_actions.rs b/fluxer_admin/src/routes/system_actions.rs index 8311c88ae..a46658fdd 100644 --- a/fluxer_admin/src/routes/system_actions.rs +++ b/fluxer_admin/src/routes/system_actions.rs @@ -709,6 +709,7 @@ fn build_app_legal_update(form: &MultiValueForm) -> InstanceConfigUpdateRequest legal: Some(AppLegalConfigUpdateRequest { terms_url: optional("app_terms_url"), privacy_url: optional("app_privacy_url"), + guidelines_url: optional("app_guidelines_url"), }), registration: None, }), @@ -1158,6 +1159,47 @@ pub async fn limit_config_post( mod tests { use super::*; + #[test] + fn build_app_legal_update_sends_the_guidelines_url_and_clears_blank_fields() { + let form = MultiValueForm::parse( + b"app_terms_url=+https%3A%2F%2Fexample.com%2Fterms+&app_privacy_url=&app_guidelines_url=https%3A%2F%2Fexample.com%2Frules", + ); + let request = build_app_legal_update(&form); + let legal = request + .app_public + .expect("app public update") + .legal + .expect("legal update"); + assert_eq!( + legal.terms_url, + Some(Some("https://example.com/terms".to_owned())) + ); + assert_eq!(legal.privacy_url, Some(None)); + assert_eq!( + legal.guidelines_url, + Some(Some("https://example.com/rules".to_owned())) + ); + let body = serde_json::to_value(&legal).expect("serialize legal update"); + assert_eq!( + body, + serde_json::json!({ + "terms_url": "https://example.com/terms", + "privacy_url": null, + "guidelines_url": "https://example.com/rules" + }) + ); + + let cleared = build_app_legal_update(&MultiValueForm::parse( + b"app_terms_url=&app_privacy_url=&app_guidelines_url=+", + )); + let body = serde_json::to_value(cleared.app_public.expect("app public").legal) + .expect("serialize cleared legal update"); + assert_eq!( + body, + serde_json::json!({"terms_url": null, "privacy_url": null, "guidelines_url": null}) + ); + } + #[test] fn build_integrations_update_leaves_email_alone_when_its_fields_are_hidden() { let hidden = build_integrations_update(&MultiValueForm::parse( diff --git a/fluxer_admin/src/templates/pages/instance_config.rs b/fluxer_admin/src/templates/pages/instance_config.rs index 4ff690a78..ada7e9c17 100644 --- a/fluxer_admin/src/templates/pages/instance_config.rs +++ b/fluxer_admin/src/templates/pages/instance_config.rs @@ -167,6 +167,7 @@ pub fn instance_config_page( csrf_token, &instance_config.integrations, instance_config.account_identity.mode, + &instance_config.app_public.branding.product_name, )) }, )) @@ -568,6 +569,7 @@ fn integrations_config_section( csrf_token: &str, integrations: &InstanceIntegrationsResponse, account_identity: AccountIdentityMode, + product_name: &str, ) -> Markup { let smtp_port = integrations .email @@ -629,7 +631,7 @@ fn integrations_config_section( "integration_email_from_name", "From name", integrations.email.from_name.as_deref().unwrap_or(""), - "Fluxer", + product_name, )) (text_input( "integration_smtp_host", @@ -955,9 +957,18 @@ fn app_public_config_section( app_public.legal.privacy_url.as_deref().unwrap_or(""), "https://example.com/privacy", )) + (text_input( + "app_guidelines_url", + "Community Guidelines URL", + app_public.legal.guidelines_url.as_deref().unwrap_or(""), + "https://example.com/guidelines", + )) } p class="text-xs text-neutral-500" { - "Registration asks for agreement only to the documents configured here. Leave both blank to hide legal consent on self-hosted registration." + "Registration asks for agreement only to the terms and privacy documents configured here. Leave both blank to hide legal consent on self-hosted registration." + } + p class="text-xs text-neutral-500" { + "The community guidelines URL is linked from the app, the report flow and enforcement emails. Use an absolute http or https URL. Leave it blank to hide those links." } (form_actions(html! { (submit_button("Save Legal Documents")) @@ -1966,6 +1977,7 @@ mod tests { "csrf", &integrations, AccountIdentityMode::Username, + "Fluxer", ) .into_string(); assert!(!username.contains("Email delivery")); @@ -1978,6 +1990,7 @@ mod tests { "csrf", &integrations, AccountIdentityMode::Email, + "Fluxer", ) .into_string(); assert!(email.contains("Email delivery")); diff --git a/fluxer_admin/tests/api_deserialization.rs b/fluxer_admin/tests/api_deserialization.rs index 5739a2de0..af7ef37a8 100644 --- a/fluxer_admin/tests/api_deserialization.rs +++ b/fluxer_admin/tests/api_deserialization.rs @@ -17,7 +17,7 @@ fn deserialize_admin_users_me_response() { "premium_flags": 2, "avatar": "563de430", "banner": "bd221c57", - "bio": "For support, please contact support@fluxer.app.", + "bio": "For support, please contact support@fluxer.com.", "pronouns": "he/him", "accent_color": 2631308, "email": "hampus@fluxer.com", @@ -1327,6 +1327,51 @@ fn deserialize_report_legal_hold_fields_and_hold_response() { } } +#[test] +fn instance_legal_config_carries_the_guidelines_url() { + let with: types::AppLegalConfigResponse = serde_json::from_value(serde_json::json!({ + "terms_url": "https://example.com/terms", + "privacy_url": null, + "guidelines_url": "https://example.com/rules" + })) + .expect("legal config with guidelines"); + assert_eq!( + with.guidelines_url.as_deref(), + Some("https://example.com/rules") + ); + let generated: generated_types::InstanceConfigResponseAppPublicLegal = + serde_json::from_value(serde_json::json!({ + "terms_url": null, + "privacy_url": null, + "guidelines_url": "https://example.com/rules" + })) + .expect("generated legal config"); + assert_eq!( + generated.guidelines_url.as_deref(), + Some("https://example.com/rules") + ); + let old: types::AppLegalConfigResponse = serde_json::from_value(serde_json::json!({ + "terms_url": "https://example.com/terms", + "privacy_url": "https://example.com/privacy" + })) + .expect("legal config from an older api"); + assert!(old.guidelines_url.is_none()); + + let update = types::AppLegalConfigUpdateRequest { + terms_url: Some(None), + privacy_url: None, + guidelines_url: Some(Some("https://example.com/rules".to_owned())), + }; + let body = serde_json::to_value(&update).expect("serialize legal update"); + assert_eq!( + body, + serde_json::json!({"terms_url": null, "guidelines_url": "https://example.com/rules"}) + ); + let accepted: generated_types::InstanceConfigUpdateRequestAppPublicLegal = + serde_json::from_value(body).expect("the update matches the generated request contract"); + assert!(accepted.guidelines_url.is_some()); +} + #[test] fn deserialize_webhook_report_with_a_bot_creator_and_a_deleted_creator() { let bot = decode_report_both_ways(report_json(serde_json::json!({ diff --git a/fluxer_admin/tests/htmx_acceptance.rs b/fluxer_admin/tests/htmx_acceptance.rs index c161a8c2b..8448219e4 100644 --- a/fluxer_admin/tests/htmx_acceptance.rs +++ b/fluxer_admin/tests/htmx_acceptance.rs @@ -812,6 +812,90 @@ async fn report_legal_hold_form_places_and_clears_the_hold() { assert_eq!(received.lock().unwrap().len(), 3); } +#[tokio::test] +async fn instance_config_legal_form_round_trips_the_guidelines_url() { + let patches = Arc::new(Mutex::new(Vec::::new())); + let sink = patches.clone(); + let configured = || { + let mut config = instance_config(); + config["self_hosted"] = json!(true); + config["app_public"] = json!({ + "branding": {"product_name": "Fluxer", "premium_product_name": "Premium"}, + "setup": {"configured": true}, + "legal": { + "terms_url": "https://example.com/terms", + "privacy_url": null, + "guidelines_url": "https://example.com/community-guidelines" + }, + "registration": {"collect_date_of_birth": true} + }); + config + }; + let api = Router::new() + .route( + "/admin/instance/config", + routing::get(move || async move { json_response(configured()) }).patch( + move |Json(body): Json| { + let sink = sink.clone(); + async move { + sink.lock().unwrap().push(body); + json_response(configured()) + } + }, + ), + ) + .fallback(mock_api); + let app = setup_with_api(api).await; + let (headers, page) = get_with_headers(&app, "/instance-config", &[]).await; + assert!( + page.contains(r#"id="app_guidelines_url" name="app_guidelines_url" value="https://example.com/community-guidelines""#), + "{page}" + ); + assert!(page.contains("Community Guidelines URL"), "{page}"); + let csrf_token = csrf_cookie(&headers) + .unwrap_or_else(|| panic!("instance config page did not set csrf_token cookie\n{page}")); + assert_form_has_csrf( + &page, + "/instance-config?action=update_app_legal", + &csrf_token, + ); + let cookie = format!("{}; csrf_token={}", app.session_cookie, csrf_token); + for form in [ + format!( + "_csrf={csrf_token}&app_terms_url=https%3A%2F%2Fexample.com%2Fterms&app_privacy_url=&app_guidelines_url=https%3A%2F%2Frules.example.org%2Fguidelines" + ), + format!("_csrf={csrf_token}&app_terms_url=&app_privacy_url=&app_guidelines_url="), + ] { + let (status, _, body) = post_form_with_headers( + &app, + "/instance-config?action=update_app_legal", + &[("Cookie", &cookie)], + &form, + ) + .await; + assert!( + status.is_redirection() || status.is_success(), + "{status} {body}" + ); + } + let patches = patches.lock().unwrap(); + assert_eq!( + *patches, + vec![ + json!({"app_public": {"legal": { + "terms_url": "https://example.com/terms", + "privacy_url": null, + "guidelines_url": "https://rules.example.org/guidelines" + }}}), + json!({"app_public": {"legal": { + "terms_url": null, + "privacy_url": null, + "guidelines_url": null + }}}), + ] + ); +} + #[tokio::test] async fn user_fragment_alias_returns_drawer_fragment() { let app = setup().await; diff --git a/fluxer_api/pkgs/email/src/EmailI18nService.ts b/fluxer_api/pkgs/email/src/EmailI18nService.ts index 35b1c4417..8c7666f47 100644 --- a/fluxer_api/pkgs/email/src/EmailI18nService.ts +++ b/fluxer_api/pkgs/email/src/EmailI18nService.ts @@ -10,6 +10,7 @@ export interface IEmailI18nService { templateKey: T, locale: string | null, variables: EmailTemplateVariables[T], + productName: string, ): I18nResult; } @@ -18,7 +19,8 @@ export class EmailI18nService implements IEmailI18nService { templateKey: T, locale: string | null, variables: EmailTemplateVariables[T], + productName: string, ): I18nResult { - return getEmailTemplate(templateKey, locale, variables); + return getEmailTemplate(templateKey, locale, variables, productName); } } diff --git a/fluxer_api/pkgs/email/src/EmailProviderTypes.ts b/fluxer_api/pkgs/email/src/EmailProviderTypes.ts index e607e4328..cd7b75877 100644 --- a/fluxer_api/pkgs/email/src/EmailProviderTypes.ts +++ b/fluxer_api/pkgs/email/src/EmailProviderTypes.ts @@ -6,7 +6,12 @@ export interface EmailConfig { fromName: string; replyTo?: string | null; appBaseUrl: string; - marketingBaseUrl: string; + termsUrl: string | null; + guidelinesUrl: string | null; + appealsEmail: string | null; + safetyEmail: string | null; + supportEmail: string | null; + productName: string; } export interface EmailMessage { diff --git a/fluxer_api/pkgs/email/src/EmailService.test.ts b/fluxer_api/pkgs/email/src/EmailService.test.ts index c20dc9dce..b0f99dec8 100644 --- a/fluxer_api/pkgs/email/src/EmailService.test.ts +++ b/fluxer_api/pkgs/email/src/EmailService.test.ts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import {EmailI18nService} from '@pkgs/email/src/EmailI18nService'; +import {EmailI18nService, type IEmailI18nService} from '@pkgs/email/src/EmailI18nService'; import type {EmailConfig, EmailMessage, IEmailProvider} from '@pkgs/email/src/EmailProviderTypes'; import {EmailService} from '@pkgs/email/src/EmailService'; import {TestEmailService} from '@pkgs/email/src/TestEmailService'; @@ -11,7 +11,12 @@ const CONFIG: EmailConfig = { fromEmail: 'noreply@example.com', fromName: 'Fluxer', appBaseUrl: 'https://example.com', - marketingBaseUrl: 'https://example.com', + termsUrl: 'https://example.com/terms', + guidelinesUrl: 'https://example.com/guidelines', + appealsEmail: 'appeals@fluxer.com', + safetyEmail: 'safety@fluxer.com', + supportEmail: 'support@fluxer.com', + productName: 'Fluxer', }; async function sendWith(config: EmailConfig): Promise { @@ -41,7 +46,7 @@ describe('EmailService reply-to', () => { }); }); -function createCapturingService(): {service: EmailService; sent: Array} { +function createCapturingServiceFor(config: EmailConfig): {service: EmailService; sent: Array} { const sent: Array = []; const provider: IEmailProvider = { sendEmail: async (message) => { @@ -49,7 +54,11 @@ function createCapturingService(): {service: EmailService; sent: Array} { + return createCapturingServiceFor(CONFIG); } describe('EmailService report notices', () => { @@ -82,7 +91,7 @@ describe('EmailService report notices', () => { expect(sent[0].subject).toBe('We made a decision on your Fluxer report'); expect(sent[0].text).toContain('(ID: 1234567890)'); expect(sent[0].text).toContain('Response from the Safety Team:\nWe removed the content.'); - expect(sent[0].text).toContain('Email appeals@fluxer.app from this email address'); + expect(sent[0].text).toContain('Email appeals@fluxer.com from this email address'); }); it('sends a generic DSA decision notice without a public comment', async () => { @@ -90,7 +99,7 @@ describe('EmailService report notices', () => { await service.sendDsaReportResolvedEmail('notifier@example.com', '1234567890', '', 'en-US'); expect(sent[0].text).not.toContain('Response from the Safety Team'); expect(sent[0].text).not.toContain('\n\n\n'); - expect(sent[0].text).toContain('Email appeals@fluxer.app from this email address'); + expect(sent[0].text).toContain('Email appeals@fluxer.com from this email address'); }); }); @@ -109,3 +118,256 @@ describe('TestEmailService report notices', () => { ]); }); }); + +describe('EmailService enforcement notices', () => { + function capture(config: EmailConfig): {service: EmailService; sent: Array} { + const sent: Array = []; + const provider: IEmailProvider = { + sendEmail: async (message) => { + sent.push(message); + return true; + }, + }; + return {service: new EmailService(config, new EmailI18nService(), provider), sent}; + } + + async function sendBoth(config: EmailConfig): Promise> { + const {service, sent} = capture(config); + const until = new Date('2026-10-01T23:30:00Z'); + await service.sendAccountTempBannedEmail('user@example.com', 'testuser', 'Spam', 24, until, 'en-US'); + await service.sendAccountScheduledForDeletionEmail('user@example.com', 'testuser', 'Spam', until, 'en-US'); + expect(sent).toHaveLength(2); + return sent.map((message) => message.text); + } + + it('links the configured terms and guidelines', async () => { + for (const text of await sendBoth(CONFIG)) { + expect(text).toContain( + 'Please review:\n- Terms of Service: https://example.com/terms\n- Community Guidelines: https://example.com/guidelines\n\n', + ); + } + }); + + it('leaves out the review list when no policy page is configured', async () => { + for (const text of await sendBoth({...CONFIG, termsUrl: null, guidelinesUrl: null})) { + expect(text).not.toContain('Please review:'); + expect(text).not.toContain('https://'); + expect(text).not.toContain('\n\n\n'); + expect(text).toContain('appeals@fluxer.com'); + } + }); + + it('lists only the configured page', async () => { + for (const text of await sendBoth({...CONFIG, termsUrl: null, guidelinesUrl: 'https://rules.example.org'})) { + expect(text).toContain('Please review:\n- Community Guidelines: https://rules.example.org\n\n'); + expect(text).not.toContain('Terms of Service:'); + } + for (const text of await sendBoth({...CONFIG, termsUrl: 'https://tos.example.org', guidelinesUrl: null})) { + expect(text).toContain('Please review:\n- Terms of Service: https://tos.example.org\n\n'); + expect(text).not.toContain('Community Guidelines:'); + } + }); +}); + +describe('EmailService contact addresses', () => { + const SELF_HOSTED: EmailConfig = {...CONFIG, appealsEmail: null, safetyEmail: null, supportEmail: null}; + const DATE = new Date('2026-10-01T23:30:00Z'); + + async function sendAll(config: EmailConfig, locale: string): Promise> { + const sent: Array = []; + const provider: IEmailProvider = { + sendEmail: async (message) => { + sent.push(message); + return true; + }, + }; + const service = new EmailService(config, new EmailI18nService(), provider); + const to = 'user@example.com'; + await service.sendAccountTempBannedEmail(to, 'testuser', 'Spam', 24, DATE, locale); + await service.sendAccountScheduledForDeletionEmail(to, 'testuser', 'Spam', DATE, locale); + await service.sendScheduledDeletionNotification(to, 'testuser', DATE, 'Spam', locale); + await service.sendDsaReportResolvedEmail(to, '1234567890', 'We removed the content.', locale); + await service.sendReportResolvedEmail(to, 'testuser', '1234567890', 'We removed the content.', locale); + await service.sendAccountDeletionCancelledEmail(to, 'testuser', locale); + await service.sendAccountDeletionRequestedEmail(to, 'testuser', null, DATE, locale); + await service.sendAccountDeletionInactivityEmail(to, 'testuser', null, DATE, locale); + expect(sent).toHaveLength(8); + const [tempBan, deletion, deletionNotice, dsaResolved, resolved, cancelled, requested, inactivity] = sent.map( + (message) => message.text, + ); + return {tempBan, deletion, deletionNotice, dsaResolved, resolved, cancelled, requested, inactivity}; + } + + it('names the hosted mailboxes in en-US', async () => { + const hosted = await sendAll(CONFIG, 'en-US'); + expect(hosted.tempBan).toContain( + 'Email appeals@fluxer.com from this email address and clearly explain why you believe the decision was incorrect.', + ); + expect(hosted.deletion).toContain( + 'you have 60 days to submit an appeal. Email appeals@fluxer.com from this email address.\n', + ); + expect(hosted.deletionNotice).toContain( + 'you can submit an appeal. Email appeals@fluxer.com from this email address.\n', + ); + expect(hosted.dsaResolved).toContain('Email appeals@fluxer.com from this email address, include your report ID,'); + expect(hosted.resolved).toContain('please contact safety@fluxer.com.\n'); + expect(hosted.cancelled).toContain('If you have any questions, contact safety@fluxer.com.\n'); + expect(hosted.requested).toContain('contact safety@fluxer.com from this email address before that date.\n'); + expect(hosted.inactivity).toContain('contact safety@fluxer.com from this email address before that date.\n'); + }); + + it('points at the instance administrators in en-US when no mailbox is configured', async () => { + const neutral = await sendAll(SELF_HOSTED, 'en-US'); + expect(neutral.tempBan).toContain( + 'you can submit an appeal. Contact the administrators of this instance and clearly explain why you believe the decision was incorrect.', + ); + expect(neutral.deletion).toContain( + 'you have 60 days to submit an appeal. Contact the administrators of this instance.\n', + ); + expect(neutral.deletionNotice).toContain( + 'you can submit an appeal. Contact the administrators of this instance.\n', + ); + expect(neutral.dsaResolved).toContain( + 'Contact the administrators of this instance, include your report ID, and explain why you think the decision is wrong.', + ); + expect(neutral.resolved).toContain( + 'If you have any questions or concerns about this outcome, please contact the administrators of this instance.\n', + ); + expect(neutral.cancelled).toContain('If you have any questions, contact the administrators of this instance.\n'); + expect(neutral.requested).toContain( + "Your account is locked until then. If you didn't request this, or you want to keep your account, contact the administrators of this instance before that date.\n", + ); + expect(neutral.inactivity).toContain( + 'If you want to keep your account, contact the administrators of this instance before that date.\n', + ); + }); + + it.each([ + ['de', 'die Administratoren dieser Instanz', 'Sende eine E-Mail von dieser E-Mail-Adresse an appeals@fluxer.com'], + ['ja', 'このインスタンスの管理者', 'このメールアドレスからappeals@fluxer.comまでメールを送信'], + ])('renders both variants in %s', async (locale, administrators, hostedAppeal) => { + const hosted = await sendAll(CONFIG, locale); + const neutral = await sendAll(SELF_HOSTED, locale); + expect(hosted.tempBan).toContain(hostedAppeal); + for (const [name, text] of Object.entries(hosted)) { + expect(text, name).toMatch(/(appeals|safety)@fluxer\.com/); + expect(text, name).not.toContain(administrators); + } + for (const [name, text] of Object.entries(neutral)) { + expect(text, name).toContain(administrators); + expect(text, name).not.toContain('@'); + expect(text, name).not.toMatch(/\bnull\b/); + expect(text, name).not.toContain('{'); + expect(text, name).not.toContain('\n\n\n'); + expect(text.split('\n'), name).toHaveLength(hosted[name].split('\n').length); + } + }); +}); + +describe('EmailService support contact', () => { + const SELF_HOSTED: EmailConfig = {...CONFIG, appealsEmail: null, safetyEmail: null, supportEmail: null}; + const DATE = new Date('2026-10-01T23:30:00Z'); + + async function sendSupportEmails(config: EmailConfig, locale: string): Promise> { + const {service, sent} = createCapturingServiceFor(config); + const to = 'user@example.com'; + await service.sendGiftChargebackNotification(to, 'testuser', locale); + await service.sendHarvestCompletedEmail(to, 'testuser', 'https://example.com/d', 10, 1024, DATE, locale); + await service.sendInactivityWarningEmail(to, 'testuser', DATE, DATE, locale); + expect(sent).toHaveLength(3); + return sent.map((message) => message.text); + } + + it('keeps the support team sentences on the hosted instance', async () => { + const [gift, harvest, inactivity] = await sendSupportEmails(CONFIG, 'en-US'); + expect(gift).toContain( + '\n\nIf you think this is a mistake, please contact our support team and include any details you have about the gift code and when you redeemed it.\n\n', + ); + expect(harvest).toContain( + "\n\nIf you didn't request this export, please change your password immediately and contact our support team.\n\n", + ); + expect(inactivity).toContain("\n\nIf you've used Fluxer recently, please contact our support team right away.\n\n"); + }); + + it('points at the instance administrators when the instance has no support mailbox', async () => { + const [gift, harvest, inactivity] = await sendSupportEmails({...SELF_HOSTED, productName: 'Example Chat'}, 'en-US'); + expect(gift).toContain( + '\n\nIf you think this is a mistake, please contact the administrators of this instance and include any details you have about the gift code and when you redeemed it.\n\n', + ); + expect(harvest).toContain( + "\n\nIf you didn't request this export, please change your password immediately and contact the administrators of this instance.\n\n", + ); + expect(inactivity).toContain( + "\n\nIf you've used Example Chat recently, please contact the administrators of this instance right away.\n\n", + ); + for (const text of [gift, harvest, inactivity]) { + expect(text).not.toMatch(/support/i); + } + }); + + it.each([ + ['de', 'unser Support-Team', 'die Administratoren dieser Instanz'], + ['ja', 'サポートチーム', 'このインスタンスの管理者'], + ])('renders both variants in %s', async (locale, supportTeam, administrators) => { + const hosted = await sendSupportEmails(CONFIG, locale); + const neutral = await sendSupportEmails(SELF_HOSTED, locale); + for (const [index, text] of hosted.entries()) { + expect(text).toContain(supportTeam); + expect(text).not.toContain(administrators); + expect(neutral[index]).toContain(administrators); + expect(neutral[index]).not.toContain(supportTeam); + expect(neutral[index].split('\n')).toHaveLength(text.split('\n').length); + } + }); +}); + +describe('EmailService product name', () => { + async function sendPasswordReset(config: EmailConfig, locale: string): Promise { + const {service, sent} = createCapturingServiceFor(config); + await expect(service.sendPasswordResetEmail('user@example.com', 'testuser', 'token', locale)).resolves.toBe(true); + expect(sent).toHaveLength(1); + return sent[0]; + } + + it('names Fluxer on the hosted instance', async () => { + const message = await sendPasswordReset(CONFIG, 'en-US'); + expect(message.subject).toBe('Reset your Fluxer password'); + expect(message.text).toContain('Fluxer'); + }); + + it.each(['en-US', 'de', 'ja'])('names the configured instance in the %s subject and body', async (locale) => { + const message = await sendPasswordReset({...CONFIG, productName: 'Example Chat'}, locale); + expect(message.subject).toContain('Example Chat'); + expect(message.text).toContain('Example Chat'); + expect(`${message.subject}\n${message.text}`).not.toContain('Fluxer'); + }); + + it('uses the name of the config it was built with, so a renamed instance sends the new name', async () => { + const before = await sendPasswordReset({...CONFIG, productName: 'Example Chat'}, 'en-US'); + const after = await sendPasswordReset({...CONFIG, productName: 'Renamed Chat'}, 'en-US'); + expect(before.subject).toBe('Reset your Example Chat password'); + expect(after.subject).toBe('Reset your Renamed Chat password'); + expect(after.text).not.toContain('Example Chat'); + }); + + it('passes the name to every template the service sends', async () => { + const names: Array = []; + const i18n = new EmailI18nService(); + const recording: IEmailI18nService = { + getTemplate: (key, locale, variables, productName) => { + names.push(productName); + return i18n.getTemplate(key, locale, variables, productName); + }, + }; + const service = new EmailService({...CONFIG, productName: 'Example Chat'}, recording, { + sendEmail: async () => true, + }); + const date = new Date('2026-10-01T23:30:00Z'); + const to = 'user@example.com'; + await service.sendEmailVerification(to, 'testuser', 'token', 'en-US'); + await service.sendAccountTempBannedEmail(to, 'testuser', 'Spam', 24, date, 'en-US'); + await service.sendReportResolvedEmail(to, 'testuser', '1', 'Thanks', 'en-US'); + await service.sendSelfDeletionScheduledEmail(to, 'testuser', date, 'en-US'); + expect(names).toEqual(['Example Chat', 'Example Chat', 'Example Chat', 'Example Chat']); + }); +}); diff --git a/fluxer_api/pkgs/email/src/EmailService.ts b/fluxer_api/pkgs/email/src/EmailService.ts index f34ed9e85..c74f18604 100644 --- a/fluxer_api/pkgs/email/src/EmailService.ts +++ b/fluxer_api/pkgs/email/src/EmailService.ts @@ -3,7 +3,11 @@ import {createLogger} from '@fluxer/logger/src/Logger'; import type {IEmailI18nService} from '@pkgs/email/src/EmailI18nService'; import type {EmailConfig, IEmailProvider, UserBouncedEmailChecker} from '@pkgs/email/src/EmailProviderTypes'; -import type {EmailTemplateVariables, ReportReceivedTargetKind} from '@pkgs/email/src/email_i18n/EmailI18nTypes'; +import type { + EmailLegalLinks, + EmailTemplateVariables, + ReportReceivedTargetKind, +} from '@pkgs/email/src/email_i18n/EmailI18nTypes'; import type {EmailTemplateKey} from '@pkgs/email/src/email_i18n/EmailI18nTypes.generated'; import type {IEmailService} from '@pkgs/email/src/IEmailService'; import {ms} from 'itty-time'; @@ -21,6 +25,16 @@ function optionalReason(reason: string | null): string | null { return reason?.trim() || null; } +function legalLinkVariables(config: EmailConfig): { + termsUrl: string | null; + guidelinesUrl: string | null; + legalLinks: EmailLegalLinks; +} { + const {termsUrl, guidelinesUrl} = config; + const legalLinks = termsUrl ? (guidelinesUrl ? 'both' : 'terms') : guidelinesUrl ? 'guidelines' : 'none'; + return {termsUrl, guidelinesUrl, legalLinks}; +} + export class EmailService implements IEmailService { private readonly config: EmailConfig; private readonly emailI18n: IEmailI18nService; @@ -92,8 +106,8 @@ export class EmailService implements IEmailService { reason: optionalReason(reason), durationHours, bannedUntil, - termsUrl: `${this.config.marketingBaseUrl}/terms`, - guidelinesUrl: `${this.config.marketingBaseUrl}/guidelines`, + ...legalLinkVariables(this.config), + appeals_email: this.config.appealsEmail, }); } @@ -108,8 +122,8 @@ export class EmailService implements IEmailService { username, reason: optionalReason(reason), deletionDate, - termsUrl: `${this.config.marketingBaseUrl}/terms`, - guidelinesUrl: `${this.config.marketingBaseUrl}/guidelines`, + ...legalLinkVariables(this.config), + appeals_email: this.config.appealsEmail, }); } @@ -133,6 +147,7 @@ export class EmailService implements IEmailService { username, reason: optionalReason(reason), deletionDate, + safety_email: this.config.safetyEmail, }); } @@ -147,6 +162,7 @@ export class EmailService implements IEmailService { username, reason: optionalReason(reason), deletionDate, + safety_email: this.config.safetyEmail, }); } @@ -155,7 +171,10 @@ export class EmailService implements IEmailService { username: string, locale: string | null = null, ): Promise { - return this.sendTemplatedEmail(email, 'account_deletion_cancelled', locale, {username}); + return this.sendTemplatedEmail(email, 'account_deletion_cancelled', locale, { + username, + safety_email: this.config.safetyEmail, + }); } async sendUnbanNotification( @@ -178,6 +197,7 @@ export class EmailService implements IEmailService { username, deletionDate, reason: optionalReason(reason), + appeals_email: this.config.appealsEmail, }); } @@ -193,6 +213,7 @@ export class EmailService implements IEmailService { deletionDate, lastActiveDate, loginUrl: `${this.config.appBaseUrl}/login`, + support_email: this.config.supportEmail, }); } @@ -212,6 +233,7 @@ export class EmailService implements IEmailService { totalMessages, fileSizeMB, expiresAt, + support_email: this.config.supportEmail, }); } @@ -220,7 +242,10 @@ export class EmailService implements IEmailService { username: string, locale: string | null = null, ): Promise { - return this.sendTemplatedEmail(email, 'gift_chargeback_notification', locale, {username}); + return this.sendTemplatedEmail(email, 'gift_chargeback_notification', locale, { + username, + support_email: this.config.supportEmail, + }); } async sendReportResolvedEmail( @@ -235,6 +260,7 @@ export class EmailService implements IEmailService { reportId, publicComment, hasComment: publicComment ? 'yes' : 'no', + safety_email: this.config.safetyEmail, }); } @@ -248,6 +274,7 @@ export class EmailService implements IEmailService { reportId, publicComment, hasComment: publicComment ? 'yes' : 'no', + appeals_email: this.config.appealsEmail, }); } @@ -374,7 +401,7 @@ export class EmailService implements IEmailService { locale: string | null, variables: EmailTemplateVariables[T], ): Promise { - const result = this.emailI18n.getTemplate(templateKey, locale, variables); + const result = this.emailI18n.getTemplate(templateKey, locale, variables, this.config.productName); if (!result.ok) { logger.error({key: templateKey, locale: result.locale, error: result.error}, 'Failed to resolve email template'); return false; diff --git a/fluxer_api/pkgs/email/src/email_i18n/EmailI18n.ts b/fluxer_api/pkgs/email/src/email_i18n/EmailI18n.ts index cc9007cae..cf98f3617 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/EmailI18n.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/EmailI18n.ts @@ -6,14 +6,10 @@ import type {I18nResult} from '@fluxer/i18n/src/runtime/I18nTypes'; import {validateMessageTemplateVariables} from '@fluxer/i18n/src/runtime/MessageCatalogTypes'; import {EMAIL_I18N_LOCALE_MESSAGES} from '@pkgs/email/src/email_i18n/EmailI18nLocales'; import {EMAIL_I18N_MESSAGES} from '@pkgs/email/src/email_i18n/EmailI18nMessages'; +import type {EmailTemplateVariables} from '@pkgs/email/src/email_i18n/EmailI18nTypes'; import type {EmailTemplate, EmailTemplateKey} from '@pkgs/email/src/email_i18n/EmailI18nTypes.generated'; const DEFAULT_LOCALE = 'en-US'; -const DEFAULT_EMAIL_TEMPLATE_VARIABLES = { - product_name: 'Fluxer', - appeals_email: 'appeals@fluxer.app', - safety_email: 'safety@fluxer.app', -} satisfies Record; function formatEmailDate(value: unknown, locale: string, style: string | null): string { const options: Intl.DateTimeFormatOptions = {timeZone: 'UTC', day: 'numeric', month: 'short', year: 'numeric'}; @@ -68,12 +64,13 @@ const emailI18n = createStaticI18n( + templateKey: T, locale: string | null, - variables: Record, + variables: EmailTemplateVariables[T], + productName: string, ): I18nResult { - return emailI18n.getTemplate(templateKey, locale, {...DEFAULT_EMAIL_TEMPLATE_VARIABLES, ...variables}); + return emailI18n.getTemplate(templateKey, locale, {...variables, product_name: productName}); } export function resetEmailI18n(): void { diff --git a/fluxer_api/pkgs/email/src/email_i18n/EmailI18nLocaleFiles.test.ts b/fluxer_api/pkgs/email/src/email_i18n/EmailI18nLocaleFiles.test.ts index ec9be7aed..c728ac37a 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/EmailI18nLocaleFiles.test.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/EmailI18nLocaleFiles.test.ts @@ -1,5 +1,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later +import {createHash} from 'node:crypto'; import {extractMessageTemplatePlaceholders} from '@fluxer/i18n/src/runtime/MessageCatalogTypes'; import {EmailI18nService} from '@pkgs/email/src/EmailI18nService'; import type {EmailMessage, IEmailProvider} from '@pkgs/email/src/EmailProviderTypes'; @@ -7,7 +8,7 @@ import {EmailService} from '@pkgs/email/src/EmailService'; import {getEmailTemplate, resetEmailI18n} from '@pkgs/email/src/email_i18n/EmailI18n'; import {EMAIL_I18N_LOCALE_MESSAGES} from '@pkgs/email/src/email_i18n/EmailI18nLocales'; import {EMAIL_I18N_MESSAGES} from '@pkgs/email/src/email_i18n/EmailI18nMessages'; -import type {EmailTemplateVariables} from '@pkgs/email/src/email_i18n/EmailI18nTypes'; +import type {EmailLegalLinks, EmailTemplateVariables} from '@pkgs/email/src/email_i18n/EmailI18nTypes'; import type {EmailTemplateKey} from '@pkgs/email/src/email_i18n/EmailI18nTypes.generated'; import {afterEach, describe, expect, it} from 'vitest'; @@ -16,15 +17,27 @@ const TEMPLATE_KEYS = Object.keys(EMAIL_I18N_MESSAGES) as Array; + +const SUPPORT_KEYS = [ + 'gift_chargeback_notification', + 'harvest_completed', + 'inactivity_warning', +] as const satisfies ReadonlyArray; + function renderBody(key: K, locale: string, variables: EmailTemplateVariables[K]): string { - const result = getEmailTemplate(key, locale, variables); + const result = getEmailTemplate(key, locale, variables, 'Fluxer'); if (!result.ok) { throw new Error(result.error.message); } @@ -86,10 +131,12 @@ describe('EmailI18n locale files', () => { resetEmailI18n(); }); it.each(LOCALES)('%s loads without module errors', (locale) => { - const template = getEmailTemplate('email_verification', locale, { - username: 'testuser', - verifyUrl: 'https://example.com/verify', - }); + const template = getEmailTemplate( + 'email_verification', + locale, + {username: 'testuser', verifyUrl: 'https://example.com/verify'}, + 'Fluxer', + ); expect(template.ok).toBe(true); }); it.each(LOCALES)('%s has the same translation keys as the source catalog', (locale) => { @@ -115,7 +162,7 @@ describe('EmailI18n locale files', () => { }); it.each(['en-US', ...LOCALES])('%s renders every template with UTC times', (locale) => { for (const key of TEMPLATE_KEYS) { - const result = getEmailTemplate(key, locale, FIXTURE[key]); + const result = getEmailTemplate(key, locale, FIXTURE[key], 'Fluxer'); expect(result.ok, key).toBe(true); if (!result.ok) continue; expect(result.value.body, key).not.toContain('GMT'); @@ -130,7 +177,7 @@ describe('EmailI18n locale files', () => { it.each(['account_deletion_scheduled_requested', 'account_deletion_scheduled_inactivity'] as const)( '%s makes no enforcement claim', (key) => { - const body = renderBody(key, 'en-US', {username: 'testuser', reason: 'Some reason', deletionDate: DATE}); + const body = renderBody(key, 'en-US', {...FIXTURE[key], reason: 'Some reason'}); expect(body).not.toContain('Terms of Service'); expect(body.toLowerCase()).not.toContain('appeal'); expect(body).toContain('Reason: Some reason'); @@ -139,7 +186,7 @@ describe('EmailI18n locale files', () => { it.each(['account_deletion_scheduled_requested', 'account_deletion_scheduled_inactivity'] as const)( '%s leaves no gap without a reason', (key) => { - const body = renderBody(key, 'en-US', {username: 'testuser', reason: null, deletionDate: DATE}); + const body = renderBody(key, 'en-US', {...FIXTURE[key], reason: null}); expect(body).not.toContain('Reason:'); expect(body).not.toContain('\n\n\n'); }, @@ -170,24 +217,100 @@ describe('EmailI18n locale files', () => { reportId: '1234567890', publicComment: 'We removed the content.', hasComment: 'yes', + appeals_email: 'appeals@fluxer.com', }); const withoutComment = renderBody('dsa_report_resolved', locale, { reportId: '1234567890', publicComment: '', hasComment: 'no', + appeals_email: 'appeals@fluxer.com', }); for (const body of [withComment, withoutComment]) { expect(body).toContain('1234567890'); - expect(body).toContain('appeals@fluxer.app'); + expect(body).toContain('appeals@fluxer.com'); expect(body).toContain('60'); expect(body).not.toContain('\n\n\n'); } expect(withComment).toContain('We removed the content.'); expect(withComment.split('\n\n')).toHaveLength(withoutComment.split('\n\n').length + 1); }); + it.each(['en-US', ...LOCALES])('%s lists only the configured policy links in enforcement notices', (locale) => { + const terms = 'https://example.com/terms'; + const guidelines = 'https://example.com/guidelines'; + for (const key of ['account_temp_banned', 'account_scheduled_deletion'] as const) { + const render = (termsUrl: string | null, guidelinesUrl: string | null, legalLinks: EmailLegalLinks) => + renderBody(key, locale, {...FIXTURE[key], termsUrl, guidelinesUrl, legalLinks}); + const both = render(terms, guidelines, 'both'); + const termsOnly = render(terms, null, 'terms'); + const guidelinesOnly = render(null, guidelines, 'guidelines'); + const none = render(null, null, 'none'); + expect(both, key).toContain(terms); + expect(both, key).toContain(guidelines); + expect(termsOnly, key).toContain(terms); + expect(termsOnly, key).not.toContain(guidelines); + expect(guidelinesOnly, key).toContain(guidelines); + expect(guidelinesOnly, key).not.toContain(terms); + expect(none, key).not.toContain('https://'); + const bullets = (body: string) => body.split('\n').filter((line) => line.startsWith('- ')).length; + expect(bullets(both) - bullets(none), key).toBe(2); + expect(bullets(termsOnly) - bullets(none), key).toBe(1); + expect(bullets(guidelinesOnly) - bullets(none), key).toBe(1); + for (const body of [both, termsOnly, guidelinesOnly, none]) { + expect(body, key).not.toContain('\n\n\n'); + expect(body, key).not.toContain('legalLinks'); + expect(body, key).toContain('appeals@fluxer.com'); + } + expect(termsOnly.split('\n'), key).toHaveLength(both.split('\n').length - 1); + expect(guidelinesOnly.split('\n'), key).toHaveLength(both.split('\n').length - 1); + expect(none.split('\n\n'), key).toHaveLength(both.split('\n\n').length - 1); + } + }); + it.each(['en-US', ...LOCALES])('%s names no mailbox when the instance has none', (locale) => { + const english = (key: (typeof CONTACT_KEYS)[number], variables: object) => + renderBody(key, 'en-US', {...FIXTURE[key], ...variables} as never); + for (const key of CONTACT_KEYS) { + const hosted = renderBody(key, locale, FIXTURE[key] as never); + const neutral = renderBody(key, locale, {...FIXTURE[key], appeals_email: null, safety_email: null} as never); + expect(hosted, key).toMatch(/(appeals|safety)@fluxer\.com/); + expect(neutral, key).not.toContain('@'); + expect(neutral, key).not.toMatch(/\bnull\b/); + expect(neutral, key).not.toContain('{'); + expect(neutral, key).not.toContain('\n\n\n'); + expect(neutral, key).not.toBe(hosted); + expect(neutral.split('\n'), key).toHaveLength(hosted.split('\n').length); + if (locale !== 'en-US' && locale !== 'en-GB') { + const neutralLine = neutral.split('\n').find((line, index) => line !== hosted.split('\n')[index]); + const englishNeutral = english(key, {appeals_email: null, safety_email: null}).split('\n'); + expect(neutralLine, key).toBeDefined(); + expect(englishNeutral, key).not.toContain(neutralLine); + expect(neutralLine, key).not.toContain('the administrators of this instance'); + } + } + }); + it.each(['en-US', ...LOCALES])('%s points at the instance administrators instead of a support team', (locale) => { + for (const key of SUPPORT_KEYS) { + const hosted = renderBody(key, locale, FIXTURE[key] as never); + const neutral = renderBody(key, locale, {...FIXTURE[key], support_email: null} as never); + const hostedLines = hosted.split('\n'); + const neutralLines = neutral.split('\n'); + expect(neutralLines, key).toHaveLength(hostedLines.length); + const changed = neutralLines.filter((line, index) => line !== hostedLines[index]); + expect(changed, key).toHaveLength(1); + expect(neutral, key).not.toMatch(/\bnull\b/); + expect(neutral, key).not.toContain('{'); + expect(neutral, key).not.toContain('@'); + expect(changed[0], key).not.toMatch(/support/i); + if (locale !== 'en-US' && locale !== 'en-GB') { + const englishNeutral = renderBody(key, 'en-US', {...FIXTURE[key], support_email: null} as never).split('\n'); + expect(englishNeutral, key).not.toContain(changed[0]); + expect(changed[0], key).not.toContain('the administrators of this instance'); + } + } + }); + it('greets a DSA reporter without a username', () => { for (const key of ['report_received', 'dsa_report_resolved'] as const) { - const result = getEmailTemplate(key, 'en-US', FIXTURE[key]); + const result = getEmailTemplate(key, 'en-US', FIXTURE[key], 'Fluxer'); expect(result.ok).toBe(true); if (!result.ok) continue; expect(result.value.body.startsWith('Hello,\n\n')).toBe(true); @@ -208,7 +331,12 @@ describe('EmailI18n locale files', () => { fromEmail: 'noreply@example.com', fromName: 'Fluxer', appBaseUrl: 'https://example.com', - marketingBaseUrl: 'https://example.com', + termsUrl: 'https://example.com/terms', + guidelinesUrl: 'https://example.com/guidelines', + appealsEmail: 'appeals@fluxer.com', + safetyEmail: 'safety@fluxer.com', + supportEmail: 'support@fluxer.com', + productName: 'Fluxer', }, new EmailI18nService(), provider, @@ -224,3 +352,72 @@ describe('EmailI18n locale files', () => { expect(sent[2].text).not.toContain('Reason:'); }); }); + +const HOSTED_RENDER_SHA256 = { + email_verification: { + 'en-US': 'ea69bd530e1f9cf7cd04bc88d5c0a032069b2538bc5138eeee5bcea7dd21f539', + de: 'beb941104326bf73a523de0ccd33b78d3b531f461eea6ce1fae37a88634e69fa', + ja: 'e928c0d57baf6c1efd055d88661f6dc27f24119b0b972cafe614fed40663efb1', + }, + password_reset: { + 'en-US': 'b37a3491ef9126f251fd01fe2aa642891eb50aa56c23c36d0d62ccd0a9a7785d', + de: '148b9fbb52845befb1b9f24a063dafe2d5f000abc2104410d4e943ce56191917', + ja: 'd4198d68c126ad796954010431fe966b4df2b2fbabb9b4ddd5da0fbfd3b645a5', + }, + ip_authorization: { + 'en-US': '073ead7d3e270c886b44db16266f6cfb4a5b8b182d279a8bf17ddea49198b415', + de: 'd1c38f6a791a87379ca5b67e270d66e3741db314933b0b68c10bb9aab1781de1', + ja: 'adc16933f5efda8b176d7348942efaf6b2bff16bd09f14de9a48d727a76f011f', + }, + gift_chargeback_notification: { + 'en-US': '4ec08598e9087578ba52aa2490a1198dbfe68dd3bd496f4175b3b8ce533a01ac', + de: 'dd5a7f572a9063e26e5effa05193185286e28b5e6e256f3d0a98b97e7e31e952', + ja: 'c8d3a0fce144d278303f3d36c919d17bd60ab0738578f7e0f3e15e79bdb2bf19', + }, + unban_notification: { + 'en-US': '0cca736b44b8e1839bf3a1c9c8720c915ea80f40596801c57a9809c40c35c206', + de: '926e3762019888815da2ce7c70e94661878b9fba417bf0ffb11836abb2b74904', + ja: 'f5546b66f61d992aff2367c7b930d7683cd7a37891a3c2a069a8de2769113bd6', + }, +} as const satisfies Partial>>; + +function renderEmail(key: EmailTemplateKey, locale: string, productName: string): {subject: string; body: string} { + const result = getEmailTemplate(key, locale, FIXTURE[key], productName); + if (!result.ok) { + throw new Error(result.error.message); + } + return result.value; +} + +describe('EmailI18n product name', () => { + it('renders the hosted name byte for byte as before the name became a parameter', () => { + for (const [key, locales] of Object.entries(HOSTED_RENDER_SHA256)) { + for (const [locale, expected] of Object.entries(locales)) { + const {subject, body} = renderEmail(key as EmailTemplateKey, locale, 'Fluxer'); + const actual = createHash('sha256').update(`${subject}\n${body}`).digest('hex'); + expect(actual, `${key} ${locale}`).toBe(expected); + } + } + }); + it.each(['en-US', ...LOCALES])('%s names the instance and never Fluxer in every template', (locale) => { + for (const key of TEMPLATE_KEYS) { + const {subject, body} = renderEmail(key, locale, 'Example Chat'); + const rendered = `${subject}\n${body}`; + expect(rendered, key).toContain('Example Chat'); + expect(rendered, key).not.toContain('Fluxer'); + expect(rendered, key).not.toContain('{product_name}'); + } + }); + it.each(['en-US', ...LOCALES])('%s differs from the hosted render only by the name', (locale) => { + for (const key of TEMPLATE_KEYS) { + const hosted = renderEmail(key, locale, 'Fluxer'); + const selfHosted = renderEmail(key, locale, 'Example Chat'); + expect(selfHosted.subject.replaceAll('Example Chat', 'Fluxer'), key).toBe(hosted.subject); + expect(selfHosted.body.replaceAll('Example Chat', 'Fluxer'), key).toBe(hosted.body); + } + }); + it('prints a name with message syntax characters as written', () => { + const {subject, body} = renderEmail('password_reset', 'en-US', "Bob's {Chat} #1"); + expect(`${subject}\n${body}`).toContain("Bob's {Chat} #1"); + }); +}); diff --git a/fluxer_api/pkgs/email/src/email_i18n/EmailI18nMessages.ts b/fluxer_api/pkgs/email/src/email_i18n/EmailI18nMessages.ts index fa8b904c4..696b61300 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/EmailI18nMessages.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/EmailI18nMessages.ts @@ -5,23 +5,23 @@ import type {EmailTemplate, EmailTemplateKey} from '@pkgs/email/src/email_i18n/E export const EMAIL_I18N_MESSAGES = { account_deletion_cancelled: { subject: 'Your {product_name} account is no longer scheduled for deletion', - body: 'Hello {username},\n\nThe scheduled deletion of your {product_name} account has been cancelled. Your account will not be deleted.\n\nIf you have any questions, contact {safety_email}.\n\n– {product_name} Team', + body: 'Hello {username},\n\nThe scheduled deletion of your {product_name} account has been cancelled. Your account will not be deleted.\n\n{safety_email, select, null {If you have any questions, contact the administrators of this instance.} other {If you have any questions, contact {safety_email}.}}\n\n– {product_name} Team', }, account_deletion_scheduled_inactivity: { subject: 'Your {product_name} account will be deleted due to inactivity', - body: 'Hello {username},\n\nYour {product_name} account has been inactive for a long time, so it is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\nIf you want to keep your account, contact {safety_email} from this email address before that date.\n\n– {product_name} Team', + body: 'Hello {username},\n\nYour {product_name} account has been inactive for a long time, so it is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\n{safety_email, select, null {If you want to keep your account, contact the administrators of this instance before that date.} other {If you want to keep your account, contact {safety_email} from this email address before that date.}}\n\n– {product_name} Team', }, account_deletion_scheduled_requested: { subject: 'Your {product_name} account deletion is scheduled', - body: "Hello {username},\n\nAs you requested, your {product_name} account is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\nYour account is locked until then. If you didn't request this, or you want to keep your account, contact {safety_email} from this email address before that date.\n\n– {product_name} Team", + body: "Hello {username},\n\nAs you requested, your {product_name} account is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\nYour account is locked until then. {safety_email, select, null {If you didn't request this, or you want to keep your account, contact the administrators of this instance before that date.} other {If you didn't request this, or you want to keep your account, contact {safety_email} from this email address before that date.}}\n\n– {product_name} Team", }, account_scheduled_deletion: { subject: 'Your {product_name} account will be permanently deleted', - body: 'Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion due to violations of our Terms of Service or Community Guidelines.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\nPlease review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\nAppeals process:\nIf you believe this enforcement decision was incorrect or unjustified, you have 60 days to submit an appeal. Email {appeals_email} from this email address.\n\nIn your appeal:\n- Clearly explain why you believe the enforcement decision was incorrect or unjustified\n- Provide any relevant evidence or context\n\nA member of the {product_name} Safety Team will review your appeal and may pause the pending deletion until a final decision has been reached.\n\n– {product_name} Safety Team', + body: 'Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion due to violations of our Terms of Service or Community Guidelines.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\n{legalLinks, select,\n both {Please review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\n}\n terms {Please review:\n- Terms of Service: {termsUrl}\n\n}\n guidelines {Please review:\n- Community Guidelines: {guidelinesUrl}\n\n}\n other {}\n}Appeals process:\nIf you believe this enforcement decision was incorrect or unjustified, you have 60 days to submit an appeal. {appeals_email, select, null {Contact the administrators of this instance.} other {Email {appeals_email} from this email address.}}\n\nIn your appeal:\n- Clearly explain why you believe the enforcement decision was incorrect or unjustified\n- Provide any relevant evidence or context\n\nA member of the {product_name} Safety Team will review your appeal and may pause the pending deletion until a final decision has been reached.\n\n– {product_name} Safety Team', }, account_temp_banned: { subject: 'Your {product_name} account has been temporarily suspended', - body: "Hello {username},\n\nYour {product_name} account has been temporarily suspended for violating our Terms of Service or Community Guidelines.\n\nDuration: {durationHours, plural,\n =1 {1 hour}\n other {# hours}\n}\nSuspended until: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nDuring this time, you won't be able to access your account.\n\nPlease review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\nIf you believe this enforcement decision was incorrect or unjustified, you can submit an appeal. Email {appeals_email} from this email address and clearly explain why you believe the decision was incorrect. We'll review your appeal and respond with our decision.\n\n– {product_name} Safety Team", + body: "Hello {username},\n\nYour {product_name} account has been temporarily suspended for violating our Terms of Service or Community Guidelines.\n\nDuration: {durationHours, plural,\n =1 {1 hour}\n other {# hours}\n}\nSuspended until: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nDuring this time, you won't be able to access your account.\n\n{legalLinks, select,\n both {Please review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\n}\n terms {Please review:\n- Terms of Service: {termsUrl}\n\n}\n guidelines {Please review:\n- Community Guidelines: {guidelinesUrl}\n\n}\n other {}\n}If you believe this enforcement decision was incorrect or unjustified, you can submit an appeal. {appeals_email, select, null {Contact the administrators of this instance and clearly explain why you believe the decision was incorrect.} other {Email {appeals_email} from this email address and clearly explain why you believe the decision was incorrect.}} We'll review your appeal and respond with our decision.\n\n– {product_name} Safety Team", }, donation_confirmation: { subject: 'Thank you for your {product_name} donation', @@ -33,7 +33,7 @@ export const EMAIL_I18N_MESSAGES = { }, dsa_report_resolved: { subject: 'We made a decision on your {product_name} report', - body: "Hello,\n\nOur Safety Team has reviewed your Digital Services Act report (ID: {reportId}) and made a decision.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nWe don't share details of any action taken against another person's account, because that is their personal data.\n\nIf you disagree with this decision, you can appeal free of charge within 60 days. Email {appeals_email} from this email address, include your report ID, and explain why you think the decision is wrong. If you are in the EU, you can also refer the dispute to a certified out-of-court dispute settlement body. None of this affects your right to go to court.\n\n– {product_name} Safety Team", + body: "Hello,\n\nOur Safety Team has reviewed your Digital Services Act report (ID: {reportId}) and made a decision.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nWe don't share details of any action taken against another person's account, because that is their personal data.\n\nIf you disagree with this decision, you can appeal free of charge within 60 days. {appeals_email, select, null {Contact the administrators of this instance, include your report ID, and explain why you think the decision is wrong.} other {Email {appeals_email} from this email address, include your report ID, and explain why you think the decision is wrong.}} If you are in the EU, you can also refer the dispute to a certified out-of-court dispute settlement body. None of this affects your right to go to court.\n\n– {product_name} Safety Team", }, dsa_report_verification: { subject: 'Verify your email for a DSA report', @@ -57,15 +57,15 @@ export const EMAIL_I18N_MESSAGES = { }, gift_chargeback_notification: { subject: 'Perks from your redeemed gift have been removed', - body: "Hello {username},\n\nA gift code you redeemed was originally paid for by someone else. That payment has since been reversed (a chargeback).\n\nBecause of this, we've removed the perks that were added to your account when you redeemed the gift.\n\nIf you think this is a mistake, please contact our support team and include any details you have about the gift code and when you redeemed it.\n\n– {product_name} Team", + body: "Hello {username},\n\nA gift code you redeemed was originally paid for by someone else. That payment has since been reversed (a chargeback).\n\nBecause of this, we've removed the perks that were added to your account when you redeemed the gift.\n\n{support_email, select, null {If you think this is a mistake, please contact the administrators of this instance and include any details you have about the gift code and when you redeemed it.} other {If you think this is a mistake, please contact our support team and include any details you have about the gift code and when you redeemed it.}}\n\n– {product_name} Team", }, harvest_completed: { subject: 'Your {product_name} data export is ready to download', - body: "Hello {username},\n\nYour data export is ready.\n\nDownload link:\n{downloadUrl}\n\nMessages included: {totalMessages, number}\nFile size: {fileSizeMB, number} MB\n\nThis link expires on {expiresAt, date, full} at {expiresAt, time, short}.\n\nIf you didn't request this export, please change your password immediately and contact our support team.\n\n– {product_name} Team", + body: "Hello {username},\n\nYour data export is ready.\n\nDownload link:\n{downloadUrl}\n\nMessages included: {totalMessages, number}\nFile size: {fileSizeMB, number} MB\n\nThis link expires on {expiresAt, date, full} at {expiresAt, time, short}.\n\n{support_email, select, null {If you didn't request this export, please change your password immediately and contact the administrators of this instance.} other {If you didn't request this export, please change your password immediately and contact our support team.}}\n\n– {product_name} Team", }, inactivity_warning: { subject: 'Your {product_name} account will be deleted due to inactivity', - body: "Hello {username},\n\nWe haven't seen any activity on your {product_name} account since {lastActiveDate, date, full}.\n\nIf you don't log in by {deletionDate, date, full} at {deletionDate, time, short}, your account will be permanently deleted due to inactivity.\n\nLog in here:\n{loginUrl}\n\nIf you've used {product_name} recently, please contact our support team right away.\n\n– {product_name} Team", + body: "Hello {username},\n\nWe haven't seen any activity on your {product_name} account since {lastActiveDate, date, full}.\n\nIf you don't log in by {deletionDate, date, full} at {deletionDate, time, short}, your account will be permanently deleted due to inactivity.\n\nLog in here:\n{loginUrl}\n\n{support_email, select, null {If you've used {product_name} recently, please contact the administrators of this instance right away.} other {If you've used {product_name} recently, please contact our support team right away.}}\n\n– {product_name} Team", }, ip_authorization: { subject: 'Authorize login from a new IP address', @@ -93,11 +93,11 @@ export const EMAIL_I18N_MESSAGES = { }, report_resolved: { subject: 'Your {product_name} report has been reviewed', - body: 'Hello {username},\n\nYour report (ID: {reportId}) has been reviewed by our Safety Team.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nThanks for helping keep {product_name} safe for everyone. We take all reports seriously and appreciate your contribution to the community.\n\nIf you have any questions or concerns about this outcome, please contact {safety_email}.\n\n– {product_name} Safety Team', + body: 'Hello {username},\n\nYour report (ID: {reportId}) has been reviewed by our Safety Team.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nThanks for helping keep {product_name} safe for everyone. We take all reports seriously and appreciate your contribution to the community.\n\n{safety_email, select, null {If you have any questions or concerns about this outcome, please contact the administrators of this instance.} other {If you have any questions or concerns about this outcome, please contact {safety_email}.}}\n\n– {product_name} Safety Team', }, scheduled_deletion_notification: { subject: 'Your {product_name} account will be permanently deleted', - body: 'Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\nIf you believe this enforcement decision was incorrect, you can submit an appeal. Email {appeals_email} from this email address.\n\n– {product_name} Safety Team', + body: 'Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\nIf you believe this enforcement decision was incorrect, you can submit an appeal. {appeals_email, select, null {Contact the administrators of this instance.} other {Email {appeals_email} from this email address.}}\n\n– {product_name} Safety Team', }, self_deletion_scheduled: { subject: 'Your {product_name} account deletion is scheduled', diff --git a/fluxer_api/pkgs/email/src/email_i18n/EmailI18nTypes.ts b/fluxer_api/pkgs/email/src/email_i18n/EmailI18nTypes.ts index 231890952..8f49c79a4 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/EmailI18nTypes.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/EmailI18nTypes.ts @@ -2,34 +2,43 @@ export type ReportReceivedTargetKind = 'message' | 'user' | 'guild'; +export type EmailLegalLinks = 'both' | 'terms' | 'guidelines' | 'none'; + export interface EmailTemplateVariables { account_deletion_cancelled: { username: string; + safety_email: string | null; }; account_deletion_scheduled_inactivity: { username: string; reason: string | null; deletionDate: Date; + safety_email: string | null; }; account_deletion_scheduled_requested: { username: string; reason: string | null; deletionDate: Date; + safety_email: string | null; }; account_scheduled_deletion: { username: string; reason: string | null; deletionDate: Date; - termsUrl: string; - guidelinesUrl: string; + termsUrl: string | null; + guidelinesUrl: string | null; + legalLinks: EmailLegalLinks; + appeals_email: string | null; }; account_temp_banned: { username: string; reason: string | null; durationHours: number; bannedUntil: Date; - termsUrl: string; - guidelinesUrl: string; + termsUrl: string | null; + guidelinesUrl: string | null; + legalLinks: EmailLegalLinks; + appeals_email: string | null; }; donation_confirmation: { amount: string; @@ -45,6 +54,7 @@ export interface EmailTemplateVariables { reportId: string; publicComment: string; hasComment: 'yes' | 'no'; + appeals_email: string | null; }; dsa_report_verification: { code: string; @@ -71,6 +81,7 @@ export interface EmailTemplateVariables { }; gift_chargeback_notification: { username: string; + support_email: string | null; }; harvest_completed: { username: string; @@ -78,12 +89,14 @@ export interface EmailTemplateVariables { totalMessages: number; fileSizeMB: number; expiresAt: Date; + support_email: string | null; }; inactivity_warning: { username: string; deletionDate: Date; lastActiveDate: Date; loginUrl: string; + support_email: string | null; }; ip_authorization: { username: string; @@ -118,11 +131,13 @@ export interface EmailTemplateVariables { reportId: string; publicComment: string; hasComment: 'yes' | 'no'; + safety_email: string | null; }; scheduled_deletion_notification: { username: string; deletionDate: Date; reason: string | null; + appeals_email: string | null; }; self_deletion_scheduled: { username: string; diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/ar.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/ar.ts index 7aa452d85..33a78aa0d 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/ar.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/ar.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_AR_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "تم إلغاء حذف حسابك في {product_name}", - "body": "مرحبًا {username}،\n\nتم إلغاء الحذف المجدول لحسابك في {product_name}. لن يتم حذف حسابك.\n\nإذا كانت لديك أي أسئلة، يرجى الاتصال بـ{safety_email}.\n\n– فريق {product_name}" + "body": "مرحبًا {username}،\n\nتم إلغاء الحذف المجدول لحسابك في {product_name}. لن يتم حذف حسابك.\n\n{safety_email, select, null {إذا كانت لديك أي أسئلة، يرجى التواصل مع مسؤولي هذا المثيل.} other {إذا كانت لديك أي أسئلة، يرجى الاتصال بـ{safety_email}.}}\n\n– فريق {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "سيتم حذف حسابك في {product_name} بسبب عدم النشاط", - "body": "مرحبًا {username}،\n\nلم يكن حسابك في {product_name} نشطًا لفترة طويلة، لذا تمت جدولته للحذف الدائم في:\n\n{deletionDate, date, full} الساعة {deletionDate, time, short}{reason, select, null {} other {\n\nالسبب: {reason}}}\n\nإذا كنت ترغب في الاحتفاظ بحسابك، فاتصل بـ{safety_email} من عنوان البريد الإلكتروني هذا قبل ذلك التاريخ.\n\n– فريق {product_name}" + "body": "مرحبًا {username}،\n\nلم يكن حسابك في {product_name} نشطًا لفترة طويلة، لذا تمت جدولته للحذف الدائم في:\n\n{deletionDate, date, full} الساعة {deletionDate, time, short}{reason, select, null {} other {\n\nالسبب: {reason}}}\n\n{safety_email, select, null {إذا كنت ترغب في الاحتفاظ بحسابك، فتواصل مع مسؤولي هذا المثيل قبل ذلك التاريخ.} other {إذا كنت ترغب في الاحتفاظ بحسابك، فاتصل بـ{safety_email} من عنوان البريد الإلكتروني هذا قبل ذلك التاريخ.}}\n\n– فريق {product_name}" }, "account_deletion_scheduled_requested": { "subject": "تمت جدولة حذف حسابك في {product_name}", - "body": "مرحبًا {username}،\n\nبناءً على طلبك، تمت جدولة حسابك في {product_name} للحذف الدائم في:\n\n{deletionDate, date, full} الساعة {deletionDate, time, short}{reason, select, null {} other {\n\nالسبب: {reason}}}\n\nسيظل حسابك مقفلًا حتى ذلك الحين. إذا لم تطلب هذا، أو كنت ترغب في الاحتفاظ بحسابك، فاتصل بـ{safety_email} من عنوان البريد الإلكتروني هذا قبل ذلك التاريخ.\n\n– فريق {product_name}" + "body": "مرحبًا {username}،\n\nبناءً على طلبك، تمت جدولة حسابك في {product_name} للحذف الدائم في:\n\n{deletionDate, date, full} الساعة {deletionDate, time, short}{reason, select, null {} other {\n\nالسبب: {reason}}}\n\nسيظل حسابك مقفلًا حتى ذلك الحين. {safety_email, select, null {إذا لم تطلب هذا، أو كنت ترغب في الاحتفاظ بحسابك، فتواصل مع مسؤولي هذا المثيل قبل ذلك التاريخ.} other {إذا لم تطلب هذا، أو كنت ترغب في الاحتفاظ بحسابك، فاتصل بـ{safety_email} من عنوان البريد الإلكتروني هذا قبل ذلك التاريخ.}}\n\n– فريق {product_name}" }, "account_scheduled_deletion": { "subject": "سيتم حذف حسابك في {product_name} نهائيًا", - "body": "مرحبًا {username}،\n\nتمت جدولة حسابك في {product_name} للحذف الدائم بسبب انتهاكات لشروط الخدمة أو إرشادات المجتمع الخاصة بنا.\n\nالحذف المجدول: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {السبب: {reason}}\n}\n\nهذا إجراء إنفاذ جاد. سيتم حذف بيانات حسابك نهائيًا في التاريخ المحدد.\n\nيرجى مراجعة:\n- شروط الخدمة: {termsUrl}\n- إرشادات المجتمع: {guidelinesUrl}\n\nعملية الاستئناف:\nإذا كنت تعتقد أن قرار الإنفاذ هذا كان غير صحيح أو غير مبرر، لديك 60 يومًا لتقديم استئناف. أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا.\n\nفي استئنافك:\n- اشرح بوضوح سبب اعتقادك أن قرار الإنفاذ كان غير صحيح أو غير مبرر\n- قدم أي دليل أو سياق ذي صلة\n\nسيقوم عضو من فريق أمان {product_name} بمراجعة استئنافك وقد يوقف الحذف المعلق مؤقتًا إلى حين التوصل إلى قرار نهائي.\n\n– فريق أمان {product_name}" + "body": "مرحبًا {username}،\n\nتمت جدولة حسابك في {product_name} للحذف الدائم بسبب انتهاكات لشروط الخدمة أو إرشادات المجتمع الخاصة بنا.\n\nالحذف المجدول: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {السبب: {reason}}\n}\n\nهذا إجراء إنفاذ جاد. سيتم حذف بيانات حسابك نهائيًا في التاريخ المحدد.\n\n{legalLinks, select,\n both {يرجى مراجعة:\n- شروط الخدمة: {termsUrl}\n- إرشادات المجتمع: {guidelinesUrl}\n\n}\n terms {يرجى مراجعة:\n- شروط الخدمة: {termsUrl}\n\n}\n guidelines {يرجى مراجعة:\n- إرشادات المجتمع: {guidelinesUrl}\n\n}\n other {}\n}عملية الاستئناف:\nإذا كنت تعتقد أن قرار الإنفاذ هذا كان غير صحيح أو غير مبرر، لديك 60 يومًا لتقديم استئناف. {appeals_email, select, null {تواصل مع مسؤولي هذا المثيل.} other {أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا.}}\n\nفي استئنافك:\n- اشرح بوضوح سبب اعتقادك أن قرار الإنفاذ كان غير صحيح أو غير مبرر\n- قدم أي دليل أو سياق ذي صلة\n\nسيقوم عضو من فريق أمان {product_name} بمراجعة استئنافك وقد يوقف الحذف المعلق مؤقتًا إلى حين التوصل إلى قرار نهائي.\n\n– فريق أمان {product_name}" }, "account_temp_banned": { "subject": "تم تعليق حسابك في {product_name} مؤقتًا", - "body": "مرحبًا {username}،\n\nتم تعليق حسابك في {product_name} مؤقتًا لانتهاك شروط الخدمة أو إرشادات المجتمع الخاصة بنا.\n\nالمدة: {durationHours, plural,\n =1 {ساعة واحدة}\n zero {# ساعة}\n two {ساعتان}\n few {# ساعات}\n many {# ساعة}\n other {# ساعة}\n}\nمعلق حتى: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {السبب: {reason}}\n}\n\nخلال هذه الفترة، لن تتمكن من الوصول إلى حسابك.\n\nيرجى مراجعة:\n- شروط الخدمة: {termsUrl}\n- إرشادات المجتمع: {guidelinesUrl}\n\nإذا كنت تعتقد أن قرار الإنفاذ هذا كان غير صحيح أو غير مبرر، يمكنك تقديم استئناف. أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا واشرح بوضوح سبب اعتقادك أن القرار كان غير صحيح. سنراجع استئنافك ونرد بقرارنا.\n\n– فريق أمان {product_name}" + "body": "مرحبًا {username}،\n\nتم تعليق حسابك في {product_name} مؤقتًا لانتهاك شروط الخدمة أو إرشادات المجتمع الخاصة بنا.\n\nالمدة: {durationHours, plural,\n =1 {ساعة واحدة}\n zero {# ساعة}\n two {ساعتان}\n few {# ساعات}\n many {# ساعة}\n other {# ساعة}\n}\nمعلق حتى: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {السبب: {reason}}\n}\n\nخلال هذه الفترة، لن تتمكن من الوصول إلى حسابك.\n\n{legalLinks, select,\n both {يرجى مراجعة:\n- شروط الخدمة: {termsUrl}\n- إرشادات المجتمع: {guidelinesUrl}\n\n}\n terms {يرجى مراجعة:\n- شروط الخدمة: {termsUrl}\n\n}\n guidelines {يرجى مراجعة:\n- إرشادات المجتمع: {guidelinesUrl}\n\n}\n other {}\n}إذا كنت تعتقد أن قرار الإنفاذ هذا كان غير صحيح أو غير مبرر، يمكنك تقديم استئناف. {appeals_email, select, null {تواصل مع مسؤولي هذا المثيل واشرح بوضوح سبب اعتقادك أن القرار كان غير صحيح.} other {أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا واشرح بوضوح سبب اعتقادك أن القرار كان غير صحيح.}} سنراجع استئنافك ونرد بقرارنا.\n\n– فريق أمان {product_name}" }, "donation_confirmation": { "subject": "شكرًا لك على تبرعك لـ{product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_AR_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "اتخذنا قرارًا بشأن بلاغك في {product_name}", - "body": "مرحبًا،\n\nراجع فريق الأمان لدينا بلاغك بموجب قانون الخدمات الرقمية (المعرف: {reportId}) واتخذ قرارًا.{hasComment, select, yes {\n\nرد فريق الأمان:\n{publicComment}} other {}}\n\nلا نشارك تفاصيل أي إجراء يُتخذ بحق حساب شخص آخر، لأنها بياناته الشخصية.\n\nإذا كنت لا توافق على هذا القرار، يمكنك تقديم استئناف مجانًا خلال 60 يومًا. أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا، واذكر معرف بلاغك، واشرح سبب اعتقادك أن القرار غير صحيح. إذا كنت في الاتحاد الأوروبي، يمكنك أيضًا إحالة النزاع إلى هيئة معتمدة لتسوية المنازعات خارج المحكمة. لا يؤثر أي من ذلك على حقك في اللجوء إلى القضاء.\n\n– فريق أمان {product_name}" + "body": "مرحبًا،\n\nراجع فريق الأمان لدينا بلاغك بموجب قانون الخدمات الرقمية (المعرف: {reportId}) واتخذ قرارًا.{hasComment, select, yes {\n\nرد فريق الأمان:\n{publicComment}} other {}}\n\nلا نشارك تفاصيل أي إجراء يُتخذ بحق حساب شخص آخر، لأنها بياناته الشخصية.\n\nإذا كنت لا توافق على هذا القرار، يمكنك تقديم استئناف مجانًا خلال 60 يومًا. {appeals_email, select, null {تواصل مع مسؤولي هذا المثيل، واذكر معرف بلاغك، واشرح سبب اعتقادك أن القرار غير صحيح.} other {أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا، واذكر معرف بلاغك، واشرح سبب اعتقادك أن القرار غير صحيح.}} إذا كنت في الاتحاد الأوروبي، يمكنك أيضًا إحالة النزاع إلى هيئة معتمدة لتسوية المنازعات خارج المحكمة. لا يؤثر أي من ذلك على حقك في اللجوء إلى القضاء.\n\n– فريق أمان {product_name}" }, "dsa_report_verification": { "subject": "تحقق من بريدك الإلكتروني لتقديم بلاغ DSA", @@ -57,15 +57,15 @@ const EMAIL_I18N_AR_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "تمت إزالة مزايا الهدية التي استرددتها", - "body": "مرحبًا {username}،\n\nدفع شخص آخر في الأصل ثمن رمز الهدية الذي استرددته، وقد تم التراجع عن تلك الدفعة لاحقًا (رد مبلغ مدفوع).\n\nولهذا السبب أزلنا المزايا التي أُضيفت إلى حسابك عند استرداد الهدية.\n\nإذا كنت تعتقد أن هذا خطأ، يرجى الاتصال بفريق الدعم لدينا مع ذكر أي تفاصيل لديك عن رمز الهدية ووقت استردادك له.\n\n– فريق {product_name}" + "body": "مرحبًا {username}،\n\nدفع شخص آخر في الأصل ثمن رمز الهدية الذي استرددته، وقد تم التراجع عن تلك الدفعة لاحقًا (رد مبلغ مدفوع).\n\nولهذا السبب أزلنا المزايا التي أُضيفت إلى حسابك عند استرداد الهدية.\n\n{support_email, select, null {إذا كنت تعتقد أن هذا خطأ، يرجى التواصل مع مسؤولي هذا المثيل مع ذكر أي تفاصيل لديك عن رمز الهدية ووقت استردادك له.} other {إذا كنت تعتقد أن هذا خطأ، يرجى الاتصال بفريق الدعم لدينا مع ذكر أي تفاصيل لديك عن رمز الهدية ووقت استردادك له.}}\n\n– فريق {product_name}" }, "harvest_completed": { "subject": "تصدير بياناتك من {product_name} جاهز للتنزيل", - "body": "مرحبًا {username}،\n\nتصدير بياناتك جاهز.\n\nرابط التنزيل:\n{downloadUrl}\n\nالرسائل المتضمنة: {totalMessages, number}\nحجم الملف: {fileSizeMB, number} ميجابايت\n\nتنتهي صلاحية هذا الرابط في {expiresAt, date, full} الساعة {expiresAt, time, short}.\n\nإذا لم تطلب هذا التصدير، يرجى تغيير كلمة المرور الخاصة بك على الفور والاتصال بفريق الدعم لدينا.\n\n– فريق {product_name}" + "body": "مرحبًا {username}،\n\nتصدير بياناتك جاهز.\n\nرابط التنزيل:\n{downloadUrl}\n\nالرسائل المتضمنة: {totalMessages, number}\nحجم الملف: {fileSizeMB, number} ميجابايت\n\nتنتهي صلاحية هذا الرابط في {expiresAt, date, full} الساعة {expiresAt, time, short}.\n\n{support_email, select, null {إذا لم تطلب هذا التصدير، يرجى تغيير كلمة المرور الخاصة بك على الفور والتواصل مع مسؤولي هذا المثيل.} other {إذا لم تطلب هذا التصدير، يرجى تغيير كلمة المرور الخاصة بك على الفور والاتصال بفريق الدعم لدينا.}}\n\n– فريق {product_name}" }, "inactivity_warning": { "subject": "سيتم حذف حسابك في {product_name} بسبب عدم النشاط", - "body": "مرحبًا {username}،\n\nلم نرَ أي نشاط على حسابك في {product_name} منذ {lastActiveDate, date, full}.\n\nإذا لم تسجل الدخول بحلول {deletionDate, date, full} الساعة {deletionDate, time, short}، فسيتم حذف حسابك نهائيًا بسبب عدم النشاط.\n\nسجل الدخول هنا:\n{loginUrl}\n\nإذا كنت قد استخدمت {product_name} مؤخرًا، يرجى الاتصال بفريق الدعم لدينا على الفور.\n\n– فريق {product_name}" + "body": "مرحبًا {username}،\n\nلم نرَ أي نشاط على حسابك في {product_name} منذ {lastActiveDate, date, full}.\n\nإذا لم تسجل الدخول بحلول {deletionDate, date, full} الساعة {deletionDate, time, short}، فسيتم حذف حسابك نهائيًا بسبب عدم النشاط.\n\nسجل الدخول هنا:\n{loginUrl}\n\n{support_email, select, null {إذا كنت قد استخدمت {product_name} مؤخرًا، يرجى التواصل مع مسؤولي هذا المثيل على الفور.} other {إذا كنت قد استخدمت {product_name} مؤخرًا، يرجى الاتصال بفريق الدعم لدينا على الفور.}}\n\n– فريق {product_name}" }, "ip_authorization": { "subject": "السماح بتسجيل الدخول من عنوان IP جديد", @@ -93,11 +93,11 @@ const EMAIL_I18N_AR_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "تمت مراجعة بلاغك في {product_name}", - "body": "مرحبًا {username}،\n\nتمت مراجعة بلاغك (المعرف: {reportId}) من قبل فريق الأمان لدينا.{hasComment, select, yes {\n\nرد فريق الأمان:\n{publicComment}} other {}}\n\nشكرًا لمساعدتك في الحفاظ على {product_name} آمنًا للجميع. نحن نأخذ جميع البلاغات على محمل الجد ونقدر مساهمتك في المجتمع.\n\nإذا كان لديك أي أسئلة أو مخاوف بشأن هذه النتيجة، يرجى الاتصال بـ{safety_email}.\n\n– فريق أمان {product_name}" + "body": "مرحبًا {username}،\n\nتمت مراجعة بلاغك (المعرف: {reportId}) من قبل فريق الأمان لدينا.{hasComment, select, yes {\n\nرد فريق الأمان:\n{publicComment}} other {}}\n\nشكرًا لمساعدتك في الحفاظ على {product_name} آمنًا للجميع. نحن نأخذ جميع البلاغات على محمل الجد ونقدر مساهمتك في المجتمع.\n\n{safety_email, select, null {إذا كان لديك أي أسئلة أو مخاوف بشأن هذه النتيجة، يرجى التواصل مع مسؤولي هذا المثيل.} other {إذا كان لديك أي أسئلة أو مخاوف بشأن هذه النتيجة، يرجى الاتصال بـ{safety_email}.}}\n\n– فريق أمان {product_name}" }, "scheduled_deletion_notification": { "subject": "سيتم حذف حسابك في {product_name} نهائيًا", - "body": "مرحبًا {username}،\n\nتمت جدولة حسابك في {product_name} للحذف الدائم.\n\nالحذف المجدول: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {السبب: {reason}}\n}\n\nهذا إجراء إنفاذ جاد. سيتم حذف بيانات حسابك نهائيًا في التاريخ المحدد.\n\nإذا كنت تعتقد أن قرار الإنفاذ هذا كان غير صحيح، يمكنك تقديم استئناف. أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا.\n\n– فريق أمان {product_name}" + "body": "مرحبًا {username}،\n\nتمت جدولة حسابك في {product_name} للحذف الدائم.\n\nالحذف المجدول: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {السبب: {reason}}\n}\n\nهذا إجراء إنفاذ جاد. سيتم حذف بيانات حسابك نهائيًا في التاريخ المحدد.\n\nإذا كنت تعتقد أن قرار الإنفاذ هذا كان غير صحيح، يمكنك تقديم استئناف. {appeals_email, select, null {تواصل مع مسؤولي هذا المثيل.} other {أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا.}}\n\n– فريق أمان {product_name}" }, "self_deletion_scheduled": { "subject": "تمت جدولة حذف حسابك في {product_name}", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/bg.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/bg.ts index 4a8b28fce..f1a0ebb5e 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/bg.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/bg.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_BG_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Изтриването на акаунта ти във {product_name} е отменено", - "body": "Здравей, {username},\n\nНасроченото изтриване на акаунта ти във {product_name} е отменено. Акаунтът ти няма да бъде изтрит.\n\nАко имаш въпроси, свържи се с {safety_email}.\n\n– Екип на {product_name}" + "body": "Здравей, {username},\n\nНасроченото изтриване на акаунта ти във {product_name} е отменено. Акаунтът ти няма да бъде изтрит.\n\n{safety_email, select, null {Ако имаш въпроси, свържи се с администраторите на тази инстанция.} other {Ако имаш въпроси, свържи се с {safety_email}.}}\n\n– Екип на {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Акаунтът ти във {product_name} ще бъде изтрит поради неактивност", - "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е неактивен от дълго време, затова е насрочен за постоянно изтриване на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nАко искаш да запазиш акаунта си, свържи се с {safety_email} от този имейл адрес преди тази дата.\n\n– Екип на {product_name}" + "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е неактивен от дълго време, затова е насрочен за постоянно изтриване на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\n{safety_email, select, null {Ако искаш да запазиш акаунта си, свържи се с администраторите на тази инстанция преди тази дата.} other {Ако искаш да запазиш акаунта си, свържи се с {safety_email} от този имейл адрес преди тази дата.}}\n\n– Екип на {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Изтриването на акаунта ти във {product_name} е насрочено", - "body": "Здравей, {username},\n\nКакто поиска, акаунтът ти във {product_name} е насрочен за постоянно изтриване на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nДотогава акаунтът ти е заключен. Ако не си поискал това или искаш да запазиш акаунта си, свържи се с {safety_email} от този имейл адрес преди тази дата.\n\n– Екип на {product_name}" + "body": "Здравей, {username},\n\nКакто поиска, акаунтът ти във {product_name} е насрочен за постоянно изтриване на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nДотогава акаунтът ти е заключен. {safety_email, select, null {Ако не си поискал това или искаш да запазиш акаунта си, свържи се с администраторите на тази инстанция преди тази дата.} other {Ако не си поискал това или искаш да запазиш акаунта си, свържи се с {safety_email} от този имейл адрес преди тази дата.}}\n\n– Екип на {product_name}" }, "account_scheduled_deletion": { "subject": "Акаунтът ти във {product_name} ще бъде изтрит за постоянно", - "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е насрочен за постоянно изтриване поради нарушения на нашите Общи условия или Насоки на общността.\n\nНасрочено изтриване: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nТова е сериозна мярка. Данните на акаунта ти ще бъдат изтрити за постоянно на насрочената дата.\n\nПрегледай:\n- Общи условия: {termsUrl}\n- Насоки на общността: {guidelinesUrl}\n\nПроцес на обжалване:\nАко смяташ, че това решение е неправилно или необосновано, имаш 60 дни да подадеш обжалване. Изпрати имейл на {appeals_email} от този имейл адрес.\n\nВ обжалването си:\n- Обясни ясно защо смяташ, че решението е неправилно или необосновано\n- Приложи всички релевантни доказателства или контекст\n\nЧлен на екипа за безопасност на {product_name} ще прегледа обжалването ти и може да спре предстоящото изтриване, докато не бъде взето окончателно решение.\n\n– Екип за безопасност на {product_name}" + "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е насрочен за постоянно изтриване поради нарушения на нашите Общи условия или Насоки на общността.\n\nНасрочено изтриване: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nТова е сериозна мярка. Данните на акаунта ти ще бъдат изтрити за постоянно на насрочената дата.\n\n{legalLinks, select,\n both {Прегледай:\n- Общи условия: {termsUrl}\n- Насоки на общността: {guidelinesUrl}\n\n}\n terms {Прегледай:\n- Общи условия: {termsUrl}\n\n}\n guidelines {Прегледай:\n- Насоки на общността: {guidelinesUrl}\n\n}\n other {}\n}Процес на обжалване:\nАко смяташ, че това решение е неправилно или необосновано, имаш 60 дни да подадеш обжалване. {appeals_email, select, null {Свържи се с администраторите на тази инстанция.} other {Изпрати имейл на {appeals_email} от този имейл адрес.}}\n\nВ обжалването си:\n- Обясни ясно защо смяташ, че решението е неправилно или необосновано\n- Приложи всички релевантни доказателства или контекст\n\nЧлен на екипа за безопасност на {product_name} ще прегледа обжалването ти и може да спре предстоящото изтриване, докато не бъде взето окончателно решение.\n\n– Екип за безопасност на {product_name}" }, "account_temp_banned": { "subject": "Акаунтът ти във {product_name} е временно спрян", - "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е временно спрян поради нарушаване на нашите Общи условия или Насоки на общността.\n\nПродължителност: {durationHours, plural,\n =1 {1 час}\n other {# часа}\n}\nСпрян до: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nПрез това време няма да имаш достъп до акаунта си.\n\nПрегледай:\n- Общи условия: {termsUrl}\n- Насоки на общността: {guidelinesUrl}\n\nАко смяташ, че това решение е неправилно или необосновано, можеш да подадеш обжалване. Изпрати имейл на {appeals_email} от този имейл адрес и ясно обясни защо смяташ, че решението е неправилно. Ще прегледаме обжалването ти и ще ти отговорим с решението си.\n\n– Екип за безопасност на {product_name}" + "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е временно спрян поради нарушаване на нашите Общи условия или Насоки на общността.\n\nПродължителност: {durationHours, plural,\n =1 {1 час}\n other {# часа}\n}\nСпрян до: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nПрез това време няма да имаш достъп до акаунта си.\n\n{legalLinks, select,\n both {Прегледай:\n- Общи условия: {termsUrl}\n- Насоки на общността: {guidelinesUrl}\n\n}\n terms {Прегледай:\n- Общи условия: {termsUrl}\n\n}\n guidelines {Прегледай:\n- Насоки на общността: {guidelinesUrl}\n\n}\n other {}\n}Ако смяташ, че това решение е неправилно или необосновано, можеш да подадеш обжалване. {appeals_email, select, null {Свържи се с администраторите на тази инстанция и ясно обясни защо смяташ, че решението е неправилно.} other {Изпрати имейл на {appeals_email} от този имейл адрес и ясно обясни защо смяташ, че решението е неправилно.}} Ще прегледаме обжалването ти и ще ти отговорим с решението си.\n\n– Екип за безопасност на {product_name}" }, "donation_confirmation": { "subject": "Благодарим ти за дарението към {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_BG_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Взехме решение по сигнала ти във {product_name}", - "body": "Здравей,\n\nНашият екип за безопасност прегледа сигнала ти по Закона за цифровите услуги (ID: {reportId}) и взе решение.{hasComment, select, yes {\n\nОтговор от екипа за безопасност:\n{publicComment}} other {}}\n\nНе споделяме подробности за действия, предприети срещу акаунта на друг човек, защото това са негови лични данни.\n\nАко не си съгласен с това решение, можеш да го обжалваш безплатно в срок от 60 дни. Изпрати имейл на {appeals_email} от този имейл адрес, посочи ID на сигнала си и обясни защо смяташ, че решението е неправилно. Ако се намираш в ЕС, можеш също да отнесеш спора към сертифициран орган за извънсъдебно решаване на спорове. Нищо от това не засяга правото ти да се обърнеш към съда.\n\n– Екип за безопасност на {product_name}" + "body": "Здравей,\n\nНашият екип за безопасност прегледа сигнала ти по Закона за цифровите услуги (ID: {reportId}) и взе решение.{hasComment, select, yes {\n\nОтговор от екипа за безопасност:\n{publicComment}} other {}}\n\nНе споделяме подробности за действия, предприети срещу акаунта на друг човек, защото това са негови лични данни.\n\nАко не си съгласен с това решение, можеш да го обжалваш безплатно в срок от 60 дни. {appeals_email, select, null {Свържи се с администраторите на тази инстанция, посочи ID на сигнала си и обясни защо смяташ, че решението е неправилно.} other {Изпрати имейл на {appeals_email} от този имейл адрес, посочи ID на сигнала си и обясни защо смяташ, че решението е неправилно.}} Ако се намираш в ЕС, можеш също да отнесеш спора към сертифициран орган за извънсъдебно решаване на спорове. Нищо от това не засяга правото ти да се обърнеш към съда.\n\n– Екип за безопасност на {product_name}" }, "dsa_report_verification": { "subject": "Потвърди имейла си за сигнал по DSA", @@ -57,15 +57,15 @@ const EMAIL_I18N_BG_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Предимствата от осребрения ти подарък са премахнати", - "body": "Здравей, {username},\n\nКод за подарък, който си осребрил, първоначално е бил платен от някой друг. Оттогава плащането е върнато чрез оспорване на трансакция.\n\nПоради това премахнахме предимствата, които бяха добавени към акаунта ти, когато осребри подаръка.\n\nАко смяташ, че това е грешка, свържи се с нашия екип за поддръжка и посочи всички подробности, които имаш за кода за подарък и кога си го осребрил.\n\n– Екип на {product_name}" + "body": "Здравей, {username},\n\nКод за подарък, който си осребрил, първоначално е бил платен от някой друг. Оттогава плащането е върнато чрез оспорване на трансакция.\n\nПоради това премахнахме предимствата, които бяха добавени към акаунта ти, когато осребри подаръка.\n\n{support_email, select, null {Ако смяташ, че това е грешка, свържи се с администраторите на тази инстанция и посочи всички подробности, които имаш за кода за подарък и кога си го осребрил.} other {Ако смяташ, че това е грешка, свържи се с нашия екип за поддръжка и посочи всички подробности, които имаш за кода за подарък и кога си го осребрил.}}\n\n– Екип на {product_name}" }, "harvest_completed": { "subject": "Експортът на данните ти от {product_name} е готов за изтегляне", - "body": "Здравей, {username},\n\nЕкспортът на данните ти е готов.\n\nЛинк за изтегляне:\n{downloadUrl}\n\nВключени съобщения: {totalMessages, number}\nРазмер на файла: {fileSizeMB, number} MB\n\nТози линк изтича на {expiresAt, date, full} в {expiresAt, time, short}.\n\nАко не си поискал този експорт, смени паролата си незабавно и се свържи с нашия екип за поддръжка.\n\n– Екип на {product_name}" + "body": "Здравей, {username},\n\nЕкспортът на данните ти е готов.\n\nЛинк за изтегляне:\n{downloadUrl}\n\nВключени съобщения: {totalMessages, number}\nРазмер на файла: {fileSizeMB, number} MB\n\nТози линк изтича на {expiresAt, date, full} в {expiresAt, time, short}.\n\n{support_email, select, null {Ако не си поискал този експорт, смени паролата си незабавно и се свържи с администраторите на тази инстанция.} other {Ако не си поискал този експорт, смени паролата си незабавно и се свържи с нашия екип за поддръжка.}}\n\n– Екип на {product_name}" }, "inactivity_warning": { "subject": "Акаунтът ти във {product_name} ще бъде изтрит поради неактивност", - "body": "Здравей, {username},\n\nНе сме забелязали активност в акаунта ти във {product_name} от {lastActiveDate, date, full}.\n\nАко не влезеш до {deletionDate, date, full} в {deletionDate, time, short}, акаунтът ти ще бъде изтрит за постоянно поради неактивност.\n\nВлез тук:\n{loginUrl}\n\nАко си използвал {product_name} наскоро, свържи се с нашия екип за поддръжка незабавно.\n\n– Екип на {product_name}" + "body": "Здравей, {username},\n\nНе сме забелязали активност в акаунта ти във {product_name} от {lastActiveDate, date, full}.\n\nАко не влезеш до {deletionDate, date, full} в {deletionDate, time, short}, акаунтът ти ще бъде изтрит за постоянно поради неактивност.\n\nВлез тук:\n{loginUrl}\n\n{support_email, select, null {Ако си използвал {product_name} наскоро, свържи се с администраторите на тази инстанция незабавно.} other {Ако си използвал {product_name} наскоро, свържи се с нашия екип за поддръжка незабавно.}}\n\n– Екип на {product_name}" }, "ip_authorization": { "subject": "Разреши влизане от нов IP адрес", @@ -93,11 +93,11 @@ const EMAIL_I18N_BG_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Сигналът ти във {product_name} е прегледан", - "body": "Здравей, {username},\n\nСигналът ти (ID: {reportId}) е прегледан от нашия екип за безопасност.{hasComment, select, yes {\n\nОтговор от екипа за безопасност:\n{publicComment}} other {}}\n\nБлагодарим ти, че помагаш на {product_name} да остане безопасно място за всички. Приемаме всички сигнали сериозно и ценим приноса ти към общността.\n\nАко имаш въпроси или притеснения относно този резултат, свържи се с {safety_email}.\n\n– Екип за безопасност на {product_name}" + "body": "Здравей, {username},\n\nСигналът ти (ID: {reportId}) е прегледан от нашия екип за безопасност.{hasComment, select, yes {\n\nОтговор от екипа за безопасност:\n{publicComment}} other {}}\n\nБлагодарим ти, че помагаш на {product_name} да остане безопасно място за всички. Приемаме всички сигнали сериозно и ценим приноса ти към общността.\n\n{safety_email, select, null {Ако имаш въпроси или притеснения относно този резултат, свържи се с администраторите на тази инстанция.} other {Ако имаш въпроси или притеснения относно този резултат, свържи се с {safety_email}.}}\n\n– Екип за безопасност на {product_name}" }, "scheduled_deletion_notification": { "subject": "Акаунтът ти във {product_name} ще бъде изтрит за постоянно", - "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е насрочен за постоянно изтриване.\n\nНасрочено изтриване: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nТова е сериозна мярка. Данните на акаунта ти ще бъдат изтрити за постоянно на насрочената дата.\n\nАко смяташ, че това решение е неправилно, можеш да подадеш обжалване. Изпрати имейл на {appeals_email} от този имейл адрес.\n\n– Екип за безопасност на {product_name}" + "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е насрочен за постоянно изтриване.\n\nНасрочено изтриване: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nТова е сериозна мярка. Данните на акаунта ти ще бъдат изтрити за постоянно на насрочената дата.\n\nАко смяташ, че това решение е неправилно, можеш да подадеш обжалване. {appeals_email, select, null {Свържи се с администраторите на тази инстанция.} other {Изпрати имейл на {appeals_email} от този имейл адрес.}}\n\n– Екип за безопасност на {product_name}" }, "self_deletion_scheduled": { "subject": "Изтриването на акаунта ти във {product_name} е насрочено", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/cs.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/cs.ts index f629aa369..3ed4f8263 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/cs.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/cs.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_CS_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Smazání vašeho účtu {product_name} bylo zrušeno", - "body": "Dobrý den, {username},\n\nNaplánované smazání vašeho účtu {product_name} bylo zrušeno. Váš účet nebude smazán.\n\nMáte-li jakékoli dotazy, kontaktujte {safety_email}.\n\n– Tým {product_name}" + "body": "Dobrý den, {username},\n\nNaplánované smazání vašeho účtu {product_name} bylo zrušeno. Váš účet nebude smazán.\n\n{safety_email, select, null {Máte-li jakékoli dotazy, kontaktujte správce této instance.} other {Máte-li jakékoli dotazy, kontaktujte {safety_email}.}}\n\n– Tým {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Váš účet {product_name} bude smazán kvůli neaktivitě", - "body": "Dobrý den, {username},\n\nVáš účet {product_name} byl dlouho neaktivní, a proto je jeho trvalé smazání naplánováno na:\n\n{deletionDate, date, full} v {deletionDate, time, short}{reason, select, null {} other {\n\nDůvod: {reason}}}\n\nPokud si chcete účet ponechat, kontaktujte před tímto datem {safety_email} z této e-mailové adresy.\n\n– Tým {product_name}" + "body": "Dobrý den, {username},\n\nVáš účet {product_name} byl dlouho neaktivní, a proto je jeho trvalé smazání naplánováno na:\n\n{deletionDate, date, full} v {deletionDate, time, short}{reason, select, null {} other {\n\nDůvod: {reason}}}\n\n{safety_email, select, null {Pokud si chcete účet ponechat, kontaktujte před tímto datem správce této instance.} other {Pokud si chcete účet ponechat, kontaktujte před tímto datem {safety_email} z této e-mailové adresy.}}\n\n– Tým {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Smazání vašeho účtu {product_name} je naplánováno", - "body": "Dobrý den, {username},\n\nNa vaši žádost je trvalé smazání vašeho účtu {product_name} naplánováno na:\n\n{deletionDate, date, full} v {deletionDate, time, short}{reason, select, null {} other {\n\nDůvod: {reason}}}\n\nDo té doby je váš účet uzamčen. Pokud jste o smazání nežádali nebo si chcete účet ponechat, kontaktujte před tímto datem {safety_email} z této e-mailové adresy.\n\n– Tým {product_name}" + "body": "Dobrý den, {username},\n\nNa vaši žádost je trvalé smazání vašeho účtu {product_name} naplánováno na:\n\n{deletionDate, date, full} v {deletionDate, time, short}{reason, select, null {} other {\n\nDůvod: {reason}}}\n\nDo té doby je váš účet uzamčen. {safety_email, select, null {Pokud jste o smazání nežádali nebo si chcete účet ponechat, kontaktujte před tímto datem správce této instance.} other {Pokud jste o smazání nežádali nebo si chcete účet ponechat, kontaktujte před tímto datem {safety_email} z této e-mailové adresy.}}\n\n– Tým {product_name}" }, "account_scheduled_deletion": { "subject": "Váš účet {product_name} bude trvale smazán", - "body": "Dobrý den, {username},\n\nKvůli porušení našich podmínek služby nebo komunitních pravidel bylo naplánováno trvalé smazání vašeho účtu {product_name}.\n\nNaplánované smazání: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Důvod: {reason}}\n}\n\nJedná se o závažné opatření. Data vašeho účtu budou v naplánovaný den trvale smazána.\n\nPřečtěte si:\n- Podmínky služby: {termsUrl}\n- Komunitní pravidla: {guidelinesUrl}\n\nPostup odvolání:\nPokud se domníváte, že toto rozhodnutí bylo nesprávné nebo neopodstatněné, máte 60 dní na podání odvolání. Pošlete e-mail na {appeals_email} z této e-mailové adresy.\n\nV odvolání:\n- Jasně vysvětlete, proč se domníváte, že rozhodnutí bylo nesprávné nebo neopodstatněné\n- Uveďte všechny relevantní důkazy a souvislosti\n\nČlen bezpečnostního týmu {product_name} vaše odvolání přezkoumá a může pozastavit plánované smazání, dokud nepadne konečné rozhodnutí.\n\n– Bezpečnostní tým {product_name}" + "body": "Dobrý den, {username},\n\nKvůli porušení našich podmínek služby nebo komunitních pravidel bylo naplánováno trvalé smazání vašeho účtu {product_name}.\n\nNaplánované smazání: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Důvod: {reason}}\n}\n\nJedná se o závažné opatření. Data vašeho účtu budou v naplánovaný den trvale smazána.\n\n{legalLinks, select,\n both {Přečtěte si:\n- Podmínky služby: {termsUrl}\n- Komunitní pravidla: {guidelinesUrl}\n\n}\n terms {Přečtěte si:\n- Podmínky služby: {termsUrl}\n\n}\n guidelines {Přečtěte si:\n- Komunitní pravidla: {guidelinesUrl}\n\n}\n other {}\n}Postup odvolání:\nPokud se domníváte, že toto rozhodnutí bylo nesprávné nebo neopodstatněné, máte 60 dní na podání odvolání. {appeals_email, select, null {Kontaktujte správce této instance.} other {Pošlete e-mail na {appeals_email} z této e-mailové adresy.}}\n\nV odvolání:\n- Jasně vysvětlete, proč se domníváte, že rozhodnutí bylo nesprávné nebo neopodstatněné\n- Uveďte všechny relevantní důkazy a souvislosti\n\nČlen bezpečnostního týmu {product_name} vaše odvolání přezkoumá a může pozastavit plánované smazání, dokud nepadne konečné rozhodnutí.\n\n– Bezpečnostní tým {product_name}" }, "account_temp_banned": { "subject": "Váš účet {product_name} byl dočasně pozastaven", - "body": "Dobrý den, {username},\n\nVáš účet {product_name} byl dočasně pozastaven kvůli porušení našich podmínek služby nebo komunitních pravidel.\n\nDoba trvání: {durationHours, plural,\n one {# hodina}\n few {# hodiny}\n many {# hodiny}\n other {# hodin}\n}\nPozastaven do: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Důvod: {reason}}\n}\n\nBěhem této doby nebudete mít přístup ke svému účtu.\n\nPřečtěte si:\n- Podmínky služby: {termsUrl}\n- Komunitní pravidla: {guidelinesUrl}\n\nPokud se domníváte, že toto rozhodnutí bylo nesprávné nebo neopodstatněné, můžete podat odvolání. Pošlete e-mail na {appeals_email} z této e-mailové adresy a jasně vysvětlete, proč považujete rozhodnutí za nesprávné. Vaše odvolání přezkoumáme a sdělíme vám své rozhodnutí.\n\n– Bezpečnostní tým {product_name}" + "body": "Dobrý den, {username},\n\nVáš účet {product_name} byl dočasně pozastaven kvůli porušení našich podmínek služby nebo komunitních pravidel.\n\nDoba trvání: {durationHours, plural,\n one {# hodina}\n few {# hodiny}\n many {# hodiny}\n other {# hodin}\n}\nPozastaven do: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Důvod: {reason}}\n}\n\nBěhem této doby nebudete mít přístup ke svému účtu.\n\n{legalLinks, select,\n both {Přečtěte si:\n- Podmínky služby: {termsUrl}\n- Komunitní pravidla: {guidelinesUrl}\n\n}\n terms {Přečtěte si:\n- Podmínky služby: {termsUrl}\n\n}\n guidelines {Přečtěte si:\n- Komunitní pravidla: {guidelinesUrl}\n\n}\n other {}\n}Pokud se domníváte, že toto rozhodnutí bylo nesprávné nebo neopodstatněné, můžete podat odvolání. {appeals_email, select, null {Kontaktujte správce této instance a jasně vysvětlete, proč považujete rozhodnutí za nesprávné.} other {Pošlete e-mail na {appeals_email} z této e-mailové adresy a jasně vysvětlete, proč považujete rozhodnutí za nesprávné.}} Vaše odvolání přezkoumáme a sdělíme vám své rozhodnutí.\n\n– Bezpečnostní tým {product_name}" }, "donation_confirmation": { "subject": "Děkujeme za váš dar pro {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_CS_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Rozhodli jsme o vašem nahlášení na {product_name}", - "body": "Dobrý den,\n\nNáš bezpečnostní tým přezkoumal vaše nahlášení podle nařízení o digitálních službách (ID: {reportId}) a rozhodl o něm.{hasComment, select, yes {\n\nOdpověď bezpečnostního týmu:\n{publicComment}} other {}}\n\nPodrobnosti o opatřeních přijatých vůči účtu jiné osoby nesdělujeme, protože jde o její osobní údaje.\n\nPokud s tímto rozhodnutím nesouhlasíte, můžete se do 60 dnů bezplatně odvolat. Pošlete e-mail na {appeals_email} z této e-mailové adresy, uveďte ID svého nahlášení a vysvětlete, proč považujete rozhodnutí za nesprávné. Pokud jste v EU, můžete spor také předložit certifikovanému subjektu pro mimosoudní řešení sporů. Nic z toho nemá vliv na vaše právo obrátit se na soud.\n\n– Bezpečnostní tým {product_name}" + "body": "Dobrý den,\n\nNáš bezpečnostní tým přezkoumal vaše nahlášení podle nařízení o digitálních službách (ID: {reportId}) a rozhodl o něm.{hasComment, select, yes {\n\nOdpověď bezpečnostního týmu:\n{publicComment}} other {}}\n\nPodrobnosti o opatřeních přijatých vůči účtu jiné osoby nesdělujeme, protože jde o její osobní údaje.\n\nPokud s tímto rozhodnutím nesouhlasíte, můžete se do 60 dnů bezplatně odvolat. {appeals_email, select, null {Kontaktujte správce této instance, uveďte ID svého nahlášení a vysvětlete, proč považujete rozhodnutí za nesprávné.} other {Pošlete e-mail na {appeals_email} z této e-mailové adresy, uveďte ID svého nahlášení a vysvětlete, proč považujete rozhodnutí za nesprávné.}} Pokud jste v EU, můžete spor také předložit certifikovanému subjektu pro mimosoudní řešení sporů. Nic z toho nemá vliv na vaše právo obrátit se na soud.\n\n– Bezpečnostní tým {product_name}" }, "dsa_report_verification": { "subject": "Ověřte svůj e-mail pro nahlášení podle DSA", @@ -57,15 +57,15 @@ const EMAIL_I18N_CS_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Výhody z uplatněného dárku byly odstraněny", - "body": "Dobrý den, {username},\n\nDárkový kód, který jste uplatnili, původně zaplatil někdo jiný. Tato platba byla následně vrácena na základě reklamace (chargeback).\n\nProto jsme odebrali výhody, které váš účet získal při uplatnění dárku.\n\nPokud se domníváte, že jde o chybu, kontaktujte náš tým podpory a uveďte všechny dostupné podrobnosti o dárkovém kódu a o tom, kdy jste ho uplatnili.\n\n– Tým {product_name}" + "body": "Dobrý den, {username},\n\nDárkový kód, který jste uplatnili, původně zaplatil někdo jiný. Tato platba byla následně vrácena na základě reklamace (chargeback).\n\nProto jsme odebrali výhody, které váš účet získal při uplatnění dárku.\n\n{support_email, select, null {Pokud se domníváte, že jde o chybu, kontaktujte správce této instance a uveďte všechny dostupné podrobnosti o dárkovém kódu a o tom, kdy jste ho uplatnili.} other {Pokud se domníváte, že jde o chybu, kontaktujte náš tým podpory a uveďte všechny dostupné podrobnosti o dárkovém kódu a o tom, kdy jste ho uplatnili.}}\n\n– Tým {product_name}" }, "harvest_completed": { "subject": "Export vašich dat z {product_name} je připraven ke stažení", - "body": "Dobrý den, {username},\n\nExport vašich dat je připraven.\n\nOdkaz ke stažení:\n{downloadUrl}\n\nPočet zahrnutých zpráv: {totalMessages, number}\nVelikost souboru: {fileSizeMB, number} MB\n\nPlatnost tohoto odkazu vyprší dne {expiresAt, date, full} v {expiresAt, time, short}.\n\nPokud jste si tento export nevyžádali, okamžitě si změňte heslo a kontaktujte náš tým podpory.\n\n– Tým {product_name}" + "body": "Dobrý den, {username},\n\nExport vašich dat je připraven.\n\nOdkaz ke stažení:\n{downloadUrl}\n\nPočet zahrnutých zpráv: {totalMessages, number}\nVelikost souboru: {fileSizeMB, number} MB\n\nPlatnost tohoto odkazu vyprší dne {expiresAt, date, full} v {expiresAt, time, short}.\n\n{support_email, select, null {Pokud jste si tento export nevyžádali, okamžitě si změňte heslo a kontaktujte správce této instance.} other {Pokud jste si tento export nevyžádali, okamžitě si změňte heslo a kontaktujte náš tým podpory.}}\n\n– Tým {product_name}" }, "inactivity_warning": { "subject": "Váš účet {product_name} bude smazán kvůli neaktivitě", - "body": "Dobrý den, {username},\n\nOd {lastActiveDate, date, full} jsme na vašem účtu {product_name} nezaznamenali žádnou aktivitu.\n\nPokud se nepřihlásíte do {deletionDate, date, full} v {deletionDate, time, short}, váš účet bude kvůli neaktivitě trvale smazán.\n\nPřihlaste se zde:\n{loginUrl}\n\nPokud jste {product_name} v poslední době používali, ihned kontaktujte náš tým podpory.\n\n– Tým {product_name}" + "body": "Dobrý den, {username},\n\nOd {lastActiveDate, date, full} jsme na vašem účtu {product_name} nezaznamenali žádnou aktivitu.\n\nPokud se nepřihlásíte do {deletionDate, date, full} v {deletionDate, time, short}, váš účet bude kvůli neaktivitě trvale smazán.\n\nPřihlaste se zde:\n{loginUrl}\n\n{support_email, select, null {Pokud jste {product_name} v poslední době používali, ihned kontaktujte správce této instance.} other {Pokud jste {product_name} v poslední době používali, ihned kontaktujte náš tým podpory.}}\n\n– Tým {product_name}" }, "ip_authorization": { "subject": "Povolit přihlášení z nové IP adresy", @@ -93,11 +93,11 @@ const EMAIL_I18N_CS_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Vaše nahlášení na {product_name} bylo přezkoumáno", - "body": "Dobrý den, {username},\n\nNáš bezpečnostní tým přezkoumal vaše nahlášení (ID: {reportId}).{hasComment, select, yes {\n\nOdpověď bezpečnostního týmu:\n{publicComment}} other {}}\n\nDěkujeme, že pomáháte udržovat {product_name} bezpečný pro všechny. Všechna nahlášení bereme vážně a vážíme si vašeho přínosu komunitě.\n\nPokud máte k tomuto výsledku jakékoli dotazy nebo výhrady, kontaktujte {safety_email}.\n\n– Bezpečnostní tým {product_name}" + "body": "Dobrý den, {username},\n\nNáš bezpečnostní tým přezkoumal vaše nahlášení (ID: {reportId}).{hasComment, select, yes {\n\nOdpověď bezpečnostního týmu:\n{publicComment}} other {}}\n\nDěkujeme, že pomáháte udržovat {product_name} bezpečný pro všechny. Všechna nahlášení bereme vážně a vážíme si vašeho přínosu komunitě.\n\n{safety_email, select, null {Pokud máte k tomuto výsledku jakékoli dotazy nebo výhrady, kontaktujte správce této instance.} other {Pokud máte k tomuto výsledku jakékoli dotazy nebo výhrady, kontaktujte {safety_email}.}}\n\n– Bezpečnostní tým {product_name}" }, "scheduled_deletion_notification": { "subject": "Váš účet {product_name} bude trvale smazán", - "body": "Dobrý den, {username},\n\nBylo naplánováno trvalé smazání vašeho účtu {product_name}.\n\nNaplánované smazání: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Důvod: {reason}}\n}\n\nJedná se o závažné opatření. Data vašeho účtu budou v naplánovaný den trvale smazána.\n\nPokud se domníváte, že toto rozhodnutí bylo nesprávné, můžete podat odvolání. Pošlete e-mail na {appeals_email} z této e-mailové adresy.\n\n– Bezpečnostní tým {product_name}" + "body": "Dobrý den, {username},\n\nBylo naplánováno trvalé smazání vašeho účtu {product_name}.\n\nNaplánované smazání: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Důvod: {reason}}\n}\n\nJedná se o závažné opatření. Data vašeho účtu budou v naplánovaný den trvale smazána.\n\nPokud se domníváte, že toto rozhodnutí bylo nesprávné, můžete podat odvolání. {appeals_email, select, null {Kontaktujte správce této instance.} other {Pošlete e-mail na {appeals_email} z této e-mailové adresy.}}\n\n– Bezpečnostní tým {product_name}" }, "self_deletion_scheduled": { "subject": "Smazání vašeho účtu {product_name} je naplánováno", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/da.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/da.ts index e057568dc..e228078bf 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/da.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/da.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_DA_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Sletningen af din {product_name}-konto er annulleret", - "body": "Hej {username},\n\nDen planlagte sletning af din {product_name}-konto er annulleret. Din konto bliver ikke slettet.\n\nHvis du har spørgsmål, kan du kontakte {safety_email}.\n\n– Teamet bag {product_name}" + "body": "Hej {username},\n\nDen planlagte sletning af din {product_name}-konto er annulleret. Din konto bliver ikke slettet.\n\n{safety_email, select, null {Hvis du har spørgsmål, kan du kontakte administratorerne af denne instans.} other {Hvis du har spørgsmål, kan du kontakte {safety_email}.}}\n\n– Teamet bag {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Din {product_name}-konto slettes på grund af inaktivitet", - "body": "Hej {username},\n\nDin {product_name}-konto har været inaktiv i lang tid, så den slettes permanent den:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsag: {reason}}}\n\nHvis du vil beholde din konto, skal du kontakte {safety_email} fra denne e-mailadresse inden denne dato.\n\n– Teamet bag {product_name}" + "body": "Hej {username},\n\nDin {product_name}-konto har været inaktiv i lang tid, så den slettes permanent den:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsag: {reason}}}\n\n{safety_email, select, null {Hvis du vil beholde din konto, skal du kontakte administratorerne af denne instans inden denne dato.} other {Hvis du vil beholde din konto, skal du kontakte {safety_email} fra denne e-mailadresse inden denne dato.}}\n\n– Teamet bag {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Sletningen af din {product_name}-konto er planlagt", - "body": "Hej {username},\n\nSom du har anmodet om, slettes din {product_name}-konto permanent den:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsag: {reason}}}\n\nDin konto er låst indtil da. Hvis du ikke har anmodet om dette, eller hvis du vil beholde din konto, skal du kontakte {safety_email} fra denne e-mailadresse inden denne dato.\n\n– Teamet bag {product_name}" + "body": "Hej {username},\n\nSom du har anmodet om, slettes din {product_name}-konto permanent den:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsag: {reason}}}\n\nDin konto er låst indtil da. {safety_email, select, null {Hvis du ikke har anmodet om dette, eller hvis du vil beholde din konto, skal du kontakte administratorerne af denne instans inden denne dato.} other {Hvis du ikke har anmodet om dette, eller hvis du vil beholde din konto, skal du kontakte {safety_email} fra denne e-mailadresse inden denne dato.}}\n\n– Teamet bag {product_name}" }, "account_scheduled_deletion": { "subject": "Din {product_name}-konto slettes permanent", - "body": "Hej {username},\n\nVi har planlagt at slette din {product_name}-konto permanent på grund af overtrædelser af vores servicevilkår eller retningslinjer for fællesskabet.\n\nPlanlagt sletning: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsag: {reason}}\n}\n\nDette er en alvorlig sanktion. Dine kontodata bliver permanent slettet på den planlagte dato.\n\nGennemgå:\n- Servicevilkår: {termsUrl}\n- Retningslinjer for fællesskabet: {guidelinesUrl}\n\nKlageproces:\nHvis du mener, at denne beslutning om sanktioner var forkert eller uberettiget, har du 60 dage til at indsende en klage. Send en e-mail til {appeals_email} fra denne e-mailadresse.\n\nI din klage:\n- Forklar tydeligt, hvorfor du mener, at beslutning om sanktioneren var forkert eller uberettiget\n- Fremlæg relevant dokumentation eller kontekst\n\nEt medlem af sikkerhedsteamet hos {product_name} vil gennemgå din klage og kan sætte den afventende sletning på pause, indtil en endelig beslutning er truffet.\n\n– Sikkerhedsteamet hos {product_name}" + "body": "Hej {username},\n\nVi har planlagt at slette din {product_name}-konto permanent på grund af overtrædelser af vores servicevilkår eller retningslinjer for fællesskabet.\n\nPlanlagt sletning: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsag: {reason}}\n}\n\nDette er en alvorlig sanktion. Dine kontodata bliver permanent slettet på den planlagte dato.\n\n{legalLinks, select,\n both {Gennemgå:\n- Servicevilkår: {termsUrl}\n- Retningslinjer for fællesskabet: {guidelinesUrl}\n\n}\n terms {Gennemgå:\n- Servicevilkår: {termsUrl}\n\n}\n guidelines {Gennemgå:\n- Retningslinjer for fællesskabet: {guidelinesUrl}\n\n}\n other {}\n}Klageproces:\nHvis du mener, at denne beslutning om sanktioner var forkert eller uberettiget, har du 60 dage til at indsende en klage. {appeals_email, select, null {Kontakt administratorerne af denne instans.} other {Send en e-mail til {appeals_email} fra denne e-mailadresse.}}\n\nI din klage:\n- Forklar tydeligt, hvorfor du mener, at beslutning om sanktioneren var forkert eller uberettiget\n- Fremlæg relevant dokumentation eller kontekst\n\nEt medlem af sikkerhedsteamet hos {product_name} vil gennemgå din klage og kan sætte den afventende sletning på pause, indtil en endelig beslutning er truffet.\n\n– Sikkerhedsteamet hos {product_name}" }, "account_temp_banned": { "subject": "Din {product_name}-konto er midlertidigt suspenderet", - "body": "Hej {username},\n\nDin {product_name}-konto er midlertidigt suspenderet på grund af overtrædelser af vores servicevilkår eller retningslinjer for fællesskabet.\n\nVarighed: {durationHours, plural,\n =1 {1 time}\n other {# timer}\n}\nSuspenderet indtil: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Årsag: {reason}}\n}\n\nI denne periode vil du ikke kunne få adgang til din konto.\n\nGennemgå:\n- Servicevilkår: {termsUrl}\n- Retningslinjer for fællesskabet: {guidelinesUrl}\n\nHvis du mener, at denne beslutning om sanktioner var forkert eller uberettiget, kan du indsende en klage. Send en e-mail til {appeals_email} fra denne e-mailadresse og forklar tydeligt, hvorfor du mener, at beslutningen var forkert. Vi gennemgår din klage og giver dig besked om vores afgørelse.\n\n– Sikkerhedsteamet hos {product_name}" + "body": "Hej {username},\n\nDin {product_name}-konto er midlertidigt suspenderet på grund af overtrædelser af vores servicevilkår eller retningslinjer for fællesskabet.\n\nVarighed: {durationHours, plural,\n =1 {1 time}\n other {# timer}\n}\nSuspenderet indtil: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Årsag: {reason}}\n}\n\nI denne periode vil du ikke kunne få adgang til din konto.\n\n{legalLinks, select,\n both {Gennemgå:\n- Servicevilkår: {termsUrl}\n- Retningslinjer for fællesskabet: {guidelinesUrl}\n\n}\n terms {Gennemgå:\n- Servicevilkår: {termsUrl}\n\n}\n guidelines {Gennemgå:\n- Retningslinjer for fællesskabet: {guidelinesUrl}\n\n}\n other {}\n}Hvis du mener, at denne beslutning om sanktioner var forkert eller uberettiget, kan du indsende en klage. {appeals_email, select, null {Kontakt administratorerne af denne instans og forklar tydeligt, hvorfor du mener, at beslutningen var forkert.} other {Send en e-mail til {appeals_email} fra denne e-mailadresse og forklar tydeligt, hvorfor du mener, at beslutningen var forkert.}} Vi gennemgår din klage og giver dig besked om vores afgørelse.\n\n– Sikkerhedsteamet hos {product_name}" }, "donation_confirmation": { "subject": "Tak for din {product_name}-donation", @@ -33,7 +33,7 @@ const EMAIL_I18N_DA_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Vi har truffet en afgørelse om din anmeldelse på {product_name}", - "body": "Hej,\n\nVores sikkerhedsteam har behandlet din anmeldelse i henhold til Digital Services Act (ID: {reportId}) og truffet en afgørelse.{hasComment, select, yes {\n\nSvar fra sikkerhedsteamet:\n{publicComment}} other {}}\n\nVi deler ikke oplysninger om tiltag mod en anden persons konto, fordi det er den persons personoplysninger.\n\nHvis du er uenig i afgørelsen, kan du klage gratis inden for 60 dage. Send en e-mail til {appeals_email} fra denne e-mailadresse, oplys dit anmeldelses-ID, og forklar, hvorfor du mener, at afgørelsen er forkert. Hvis du befinder dig i EU, kan du også indbringe tvisten for et certificeret organ for udenretslig tvistbilæggelse. Intet af dette påvirker din ret til at gå til domstolene.\n\n– Sikkerhedsteamet hos {product_name}" + "body": "Hej,\n\nVores sikkerhedsteam har behandlet din anmeldelse i henhold til Digital Services Act (ID: {reportId}) og truffet en afgørelse.{hasComment, select, yes {\n\nSvar fra sikkerhedsteamet:\n{publicComment}} other {}}\n\nVi deler ikke oplysninger om tiltag mod en anden persons konto, fordi det er den persons personoplysninger.\n\nHvis du er uenig i afgørelsen, kan du klage gratis inden for 60 dage. {appeals_email, select, null {Kontakt administratorerne af denne instans, oplys dit anmeldelses-ID, og forklar, hvorfor du mener, at afgørelsen er forkert.} other {Send en e-mail til {appeals_email} fra denne e-mailadresse, oplys dit anmeldelses-ID, og forklar, hvorfor du mener, at afgørelsen er forkert.}} Hvis du befinder dig i EU, kan du også indbringe tvisten for et certificeret organ for udenretslig tvistbilæggelse. Intet af dette påvirker din ret til at gå til domstolene.\n\n– Sikkerhedsteamet hos {product_name}" }, "dsa_report_verification": { "subject": "Bekræft din e-mailadresse til en DSA-anmeldelse", @@ -57,15 +57,15 @@ const EMAIL_I18N_DA_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Fordele fra din indløste gave er fjernet", - "body": "Hej {username},\n\nEn gavekode, du indløste, blev oprindeligt betalt af en anden. Den betaling er siden annulleret (en tilbageførsel).\n\nDerfor har vi fjernet de fordele, der blev tilføjet din konto, da du indløste gaven.\n\nHvis du mener, at dette er en fejl, kan du kontakte vores supportteam og oplyse alle detaljer, du har om gavekoden, og hvornår du indløste den.\n\n– Teamet bag {product_name}" + "body": "Hej {username},\n\nEn gavekode, du indløste, blev oprindeligt betalt af en anden. Den betaling er siden annulleret (en tilbageførsel).\n\nDerfor har vi fjernet de fordele, der blev tilføjet din konto, da du indløste gaven.\n\n{support_email, select, null {Hvis du mener, at dette er en fejl, kan du kontakte administratorerne af denne instans og oplyse alle detaljer, du har om gavekoden, og hvornår du indløste den.} other {Hvis du mener, at dette er en fejl, kan du kontakte vores supportteam og oplyse alle detaljer, du har om gavekoden, og hvornår du indløste den.}}\n\n– Teamet bag {product_name}" }, "harvest_completed": { "subject": "Din dataeksport fra {product_name} er klar til download", - "body": "Hej {username},\n\nDin dataeksport er klar.\n\nDownload-link:\n{downloadUrl}\n\nAntal beskeder: {totalMessages, number}\nFilstørrelse: {fileSizeMB, number} MB\n\nDette link udløber den {expiresAt, date, full} kl. {expiresAt, time, short}.\n\nHvis du ikke har anmodet om denne eksport, skal du straks ændre din adgangskode og kontakte vores supportteam.\n\n– Teamet bag {product_name}" + "body": "Hej {username},\n\nDin dataeksport er klar.\n\nDownload-link:\n{downloadUrl}\n\nAntal beskeder: {totalMessages, number}\nFilstørrelse: {fileSizeMB, number} MB\n\nDette link udløber den {expiresAt, date, full} kl. {expiresAt, time, short}.\n\n{support_email, select, null {Hvis du ikke har anmodet om denne eksport, skal du straks ændre din adgangskode og kontakte administratorerne af denne instans.} other {Hvis du ikke har anmodet om denne eksport, skal du straks ændre din adgangskode og kontakte vores supportteam.}}\n\n– Teamet bag {product_name}" }, "inactivity_warning": { "subject": "Din {product_name}-konto slettes på grund af inaktivitet", - "body": "Hej {username},\n\nVi har ikke set nogen aktivitet på din {product_name}-konto siden {lastActiveDate, date, full}.\n\nHvis du ikke logger ind inden {deletionDate, date, full} kl. {deletionDate, time, short}, slettes din konto permanent på grund af inaktivitet.\n\nLog ind her:\n{loginUrl}\n\nHvis du har brugt {product_name} for nylig, skal du kontakte vores supportteam med det samme.\n\n– Teamet bag {product_name}" + "body": "Hej {username},\n\nVi har ikke set nogen aktivitet på din {product_name}-konto siden {lastActiveDate, date, full}.\n\nHvis du ikke logger ind inden {deletionDate, date, full} kl. {deletionDate, time, short}, slettes din konto permanent på grund af inaktivitet.\n\nLog ind her:\n{loginUrl}\n\n{support_email, select, null {Hvis du har brugt {product_name} for nylig, skal du kontakte administratorerne af denne instans med det samme.} other {Hvis du har brugt {product_name} for nylig, skal du kontakte vores supportteam med det samme.}}\n\n– Teamet bag {product_name}" }, "ip_authorization": { "subject": "Godkend login fra en ny IP-adresse", @@ -93,11 +93,11 @@ const EMAIL_I18N_DA_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Din anmeldelse på {product_name} er blevet behandlet", - "body": "Hej {username},\n\nDin anmeldelse (ID: {reportId}) er blevet behandlet af vores sikkerhedsteam.{hasComment, select, yes {\n\nSvar fra sikkerhedsteamet:\n{publicComment}} other {}}\n\nTak for din hjælp til at holde {product_name} sikkert for alle. Vi tager alle anmeldelser alvorligt og værdsætter dit bidrag til fællesskabet.\n\nHvis du har spørgsmål eller bekymringer vedrørende dette resultat, kan du kontakte {safety_email}.\n\n– Sikkerhedsteamet hos {product_name}" + "body": "Hej {username},\n\nDin anmeldelse (ID: {reportId}) er blevet behandlet af vores sikkerhedsteam.{hasComment, select, yes {\n\nSvar fra sikkerhedsteamet:\n{publicComment}} other {}}\n\nTak for din hjælp til at holde {product_name} sikkert for alle. Vi tager alle anmeldelser alvorligt og værdsætter dit bidrag til fællesskabet.\n\n{safety_email, select, null {Hvis du har spørgsmål eller bekymringer vedrørende dette resultat, kan du kontakte administratorerne af denne instans.} other {Hvis du har spørgsmål eller bekymringer vedrørende dette resultat, kan du kontakte {safety_email}.}}\n\n– Sikkerhedsteamet hos {product_name}" }, "scheduled_deletion_notification": { "subject": "Din {product_name}-konto slettes permanent", - "body": "Hej {username},\n\nVi har planlagt at slette din {product_name}-konto permanent.\n\nPlanlagt sletning: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsag: {reason}}\n}\n\nDette er en alvorlig sanktion. Dine kontodata bliver permanent slettet på den planlagte dato.\n\nHvis du mener, at denne beslutning om sanktioner var forkert, kan du indsende en klage. Send en e-mail til {appeals_email} fra denne e-mailadresse.\n\n– Sikkerhedsteamet hos {product_name}" + "body": "Hej {username},\n\nVi har planlagt at slette din {product_name}-konto permanent.\n\nPlanlagt sletning: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsag: {reason}}\n}\n\nDette er en alvorlig sanktion. Dine kontodata bliver permanent slettet på den planlagte dato.\n\nHvis du mener, at denne beslutning om sanktioner var forkert, kan du indsende en klage. {appeals_email, select, null {Kontakt administratorerne af denne instans.} other {Send en e-mail til {appeals_email} fra denne e-mailadresse.}}\n\n– Sikkerhedsteamet hos {product_name}" }, "self_deletion_scheduled": { "subject": "Sletningen af din {product_name}-konto er planlagt", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/de.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/de.ts index 046c3aa97..1803fcef2 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/de.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/de.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_DE_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Dein {product_name}-Account ist nicht mehr zur Löschung vorgemerkt", - "body": "Hallo {username},\n\ndie geplante Löschung deines {product_name}-Accounts wurde abgebrochen. Dein Account wird nicht gelöscht.\n\nWenn du Fragen hast, kontaktiere {safety_email}.\n\n– {product_name}-Team" + "body": "Hallo {username},\n\ndie geplante Löschung deines {product_name}-Accounts wurde abgebrochen. Dein Account wird nicht gelöscht.\n\n{safety_email, select, null {Wenn du Fragen hast, kontaktiere die Administratoren dieser Instanz.} other {Wenn du Fragen hast, kontaktiere {safety_email}.}}\n\n– {product_name}-Team" }, "account_deletion_scheduled_inactivity": { "subject": "Dein {product_name}-Account wird wegen Inaktivität gelöscht", - "body": "Hallo {username},\n\ndein {product_name}-Account war lange inaktiv und wird deshalb an folgendem Termin dauerhaft gelöscht:\n\n{deletionDate, date, full} um {deletionDate, time, short}{reason, select, null {} other {\n\nGrund: {reason}}}\n\nWenn du deinen Account behalten möchtest, kontaktiere vor diesem Termin {safety_email} von dieser E-Mail-Adresse aus.\n\n– {product_name}-Team" + "body": "Hallo {username},\n\ndein {product_name}-Account war lange inaktiv und wird deshalb an folgendem Termin dauerhaft gelöscht:\n\n{deletionDate, date, full} um {deletionDate, time, short}{reason, select, null {} other {\n\nGrund: {reason}}}\n\n{safety_email, select, null {Wenn du deinen Account behalten möchtest, kontaktiere vor diesem Termin die Administratoren dieser Instanz.} other {Wenn du deinen Account behalten möchtest, kontaktiere vor diesem Termin {safety_email} von dieser E-Mail-Adresse aus.}}\n\n– {product_name}-Team" }, "account_deletion_scheduled_requested": { "subject": "Die Löschung deines {product_name}-Accounts ist geplant", - "body": "Hallo {username},\n\nwie von dir beantragt, wird dein {product_name}-Account an folgendem Termin dauerhaft gelöscht:\n\n{deletionDate, date, full} um {deletionDate, time, short}{reason, select, null {} other {\n\nGrund: {reason}}}\n\nDein Account ist bis dahin gesperrt. Wenn du das nicht beantragt hast oder deinen Account behalten möchtest, kontaktiere vor diesem Termin {safety_email} von dieser E-Mail-Adresse aus.\n\n– {product_name}-Team" + "body": "Hallo {username},\n\nwie von dir beantragt, wird dein {product_name}-Account an folgendem Termin dauerhaft gelöscht:\n\n{deletionDate, date, full} um {deletionDate, time, short}{reason, select, null {} other {\n\nGrund: {reason}}}\n\nDein Account ist bis dahin gesperrt. {safety_email, select, null {Wenn du das nicht beantragt hast oder deinen Account behalten möchtest, kontaktiere vor diesem Termin die Administratoren dieser Instanz.} other {Wenn du das nicht beantragt hast oder deinen Account behalten möchtest, kontaktiere vor diesem Termin {safety_email} von dieser E-Mail-Adresse aus.}}\n\n– {product_name}-Team" }, "account_scheduled_deletion": { "subject": "Dein {product_name}-Account wird dauerhaft gelöscht", - "body": "Hallo {username},\n\ndein {product_name}-Account wurde aufgrund von Verstößen gegen unsere Nutzungsbedingungen oder Community-Richtlinien zur dauerhaften Löschung vorgemerkt.\n\nGeplante Löschung: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Grund: {reason}}\n}\n\nDies ist eine ernsthafte Maßnahme. Deine Accountdaten werden am geplanten Datum dauerhaft gelöscht.\n\nBitte lies dir Folgendes durch:\n- Nutzungsbedingungen: {termsUrl}\n- Community-Richtlinien: {guidelinesUrl}\n\nEinspruchsverfahren:\nWenn du glaubst, dass diese Entscheidung falsch oder ungerechtfertigt war, hast du 60 Tage Zeit, Einspruch einzulegen. Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email}.\n\nIn deinem Einspruch:\n- Erkläre klar, warum du glaubst, dass die Entscheidung falsch oder ungerechtfertigt war\n- Füge alle relevanten Beweise oder Kontextinformationen bei\n\nEin Mitglied des {product_name}-Sicherheitsteams wird deinen Einspruch prüfen und die geplante Löschung möglicherweise aussetzen, bis eine endgültige Entscheidung getroffen wurde.\n\n– {product_name}-Sicherheitsteam" + "body": "Hallo {username},\n\ndein {product_name}-Account wurde aufgrund von Verstößen gegen unsere Nutzungsbedingungen oder Community-Richtlinien zur dauerhaften Löschung vorgemerkt.\n\nGeplante Löschung: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Grund: {reason}}\n}\n\nDies ist eine ernsthafte Maßnahme. Deine Accountdaten werden am geplanten Datum dauerhaft gelöscht.\n\n{legalLinks, select,\n both {Bitte lies dir Folgendes durch:\n- Nutzungsbedingungen: {termsUrl}\n- Community-Richtlinien: {guidelinesUrl}\n\n}\n terms {Bitte lies dir Folgendes durch:\n- Nutzungsbedingungen: {termsUrl}\n\n}\n guidelines {Bitte lies dir Folgendes durch:\n- Community-Richtlinien: {guidelinesUrl}\n\n}\n other {}\n}Einspruchsverfahren:\nWenn du glaubst, dass diese Entscheidung falsch oder ungerechtfertigt war, hast du 60 Tage Zeit, Einspruch einzulegen. {appeals_email, select, null {Wende dich an die Administratoren dieser Instanz.} other {Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email}.}}\n\nIn deinem Einspruch:\n- Erkläre klar, warum du glaubst, dass die Entscheidung falsch oder ungerechtfertigt war\n- Füge alle relevanten Beweise oder Kontextinformationen bei\n\nEin Mitglied des {product_name}-Sicherheitsteams wird deinen Einspruch prüfen und die geplante Löschung möglicherweise aussetzen, bis eine endgültige Entscheidung getroffen wurde.\n\n– {product_name}-Sicherheitsteam" }, "account_temp_banned": { "subject": "Dein {product_name}-Account wurde vorübergehend gesperrt", - "body": "Hallo {username},\n\ndein {product_name}-Account wurde vorübergehend gesperrt, weil du gegen unsere Nutzungsbedingungen oder Community-Richtlinien verstoßen hast.\n\nDauer: {durationHours, plural,\n one {1 Stunde}\n other {# Stunden}\n}\nGesperrt bis: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Grund: {reason}}\n}\n\nWährend dieser Zeit kannst du nicht auf deinen Account zugreifen.\n\nBitte lies dir Folgendes durch:\n- Nutzungsbedingungen: {termsUrl}\n- Community-Richtlinien: {guidelinesUrl}\n\nWenn du glaubst, dass diese Entscheidung falsch oder ungerechtfertigt war, kannst du Einspruch einlegen. Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email} und erkläre klar, warum du die Entscheidung für falsch hältst. Wir werden deinen Einspruch prüfen und dir unsere Entscheidung mitteilen.\n\n– {product_name}-Sicherheitsteam" + "body": "Hallo {username},\n\ndein {product_name}-Account wurde vorübergehend gesperrt, weil du gegen unsere Nutzungsbedingungen oder Community-Richtlinien verstoßen hast.\n\nDauer: {durationHours, plural,\n one {1 Stunde}\n other {# Stunden}\n}\nGesperrt bis: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Grund: {reason}}\n}\n\nWährend dieser Zeit kannst du nicht auf deinen Account zugreifen.\n\n{legalLinks, select,\n both {Bitte lies dir Folgendes durch:\n- Nutzungsbedingungen: {termsUrl}\n- Community-Richtlinien: {guidelinesUrl}\n\n}\n terms {Bitte lies dir Folgendes durch:\n- Nutzungsbedingungen: {termsUrl}\n\n}\n guidelines {Bitte lies dir Folgendes durch:\n- Community-Richtlinien: {guidelinesUrl}\n\n}\n other {}\n}Wenn du glaubst, dass diese Entscheidung falsch oder ungerechtfertigt war, kannst du Einspruch einlegen. {appeals_email, select, null {Wende dich an die Administratoren dieser Instanz und erkläre klar, warum du die Entscheidung für falsch hältst.} other {Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email} und erkläre klar, warum du die Entscheidung für falsch hältst.}} Wir werden deinen Einspruch prüfen und dir unsere Entscheidung mitteilen.\n\n– {product_name}-Sicherheitsteam" }, "donation_confirmation": { "subject": "Vielen Dank für deine {product_name}-Spende", @@ -33,7 +33,7 @@ const EMAIL_I18N_DE_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Wir haben über deine {product_name}-Meldung entschieden", - "body": "Hallo,\n\nunser Sicherheitsteam hat deine Meldung nach dem Digital Services Act (ID: {reportId}) geprüft und eine Entscheidung getroffen.{hasComment, select, yes {\n\nAntwort vom Sicherheitsteam:\n{publicComment}} other {}}\n\nWir geben keine Einzelheiten zu Maßnahmen gegen den Account einer anderen Person weiter, da es sich um deren personenbezogene Daten handelt.\n\nWenn du mit dieser Entscheidung nicht einverstanden bist, kannst du innerhalb von 60 Tagen kostenlos Einspruch einlegen. Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email}, gib deine Meldungs-ID an und erkläre, warum du die Entscheidung für falsch hältst. Wenn du dich in der EU befindest, kannst du die Streitigkeit außerdem einer zertifizierten außergerichtlichen Streitbeilegungsstelle vorlegen. Dein Recht, vor Gericht zu gehen, bleibt davon unberührt.\n\n– {product_name}-Sicherheitsteam" + "body": "Hallo,\n\nunser Sicherheitsteam hat deine Meldung nach dem Digital Services Act (ID: {reportId}) geprüft und eine Entscheidung getroffen.{hasComment, select, yes {\n\nAntwort vom Sicherheitsteam:\n{publicComment}} other {}}\n\nWir geben keine Einzelheiten zu Maßnahmen gegen den Account einer anderen Person weiter, da es sich um deren personenbezogene Daten handelt.\n\nWenn du mit dieser Entscheidung nicht einverstanden bist, kannst du innerhalb von 60 Tagen kostenlos Einspruch einlegen. {appeals_email, select, null {Wende dich an die Administratoren dieser Instanz, gib deine Meldungs-ID an und erkläre, warum du die Entscheidung für falsch hältst.} other {Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email}, gib deine Meldungs-ID an und erkläre, warum du die Entscheidung für falsch hältst.}} Wenn du dich in der EU befindest, kannst du die Streitigkeit außerdem einer zertifizierten außergerichtlichen Streitbeilegungsstelle vorlegen. Dein Recht, vor Gericht zu gehen, bleibt davon unberührt.\n\n– {product_name}-Sicherheitsteam" }, "dsa_report_verification": { "subject": "Bestätige deine E-Mail-Adresse für eine DSA-Meldung", @@ -57,15 +57,15 @@ const EMAIL_I18N_DE_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Vorteile deines eingelösten Geschenks wurden entfernt", - "body": "Hallo {username},\n\nein von dir eingelöster Geschenkcode wurde ursprünglich von jemand anderem bezahlt. Diese Zahlung wurde inzwischen rückgängig gemacht (eine Rückbuchung).\n\nAus diesem Grund haben wir die Vorteile entfernt, die deinem Account hinzugefügt wurden, als du das Geschenk eingelöst hast.\n\nWenn du glaubst, dass dies ein Fehler ist, kontaktiere bitte unser Support-Team und gib alle Details an, die du über den Geschenkcode und den Zeitpunkt der Einlösung hast.\n\n– {product_name}-Team" + "body": "Hallo {username},\n\nein von dir eingelöster Geschenkcode wurde ursprünglich von jemand anderem bezahlt. Diese Zahlung wurde inzwischen rückgängig gemacht (eine Rückbuchung).\n\nAus diesem Grund haben wir die Vorteile entfernt, die deinem Account hinzugefügt wurden, als du das Geschenk eingelöst hast.\n\n{support_email, select, null {Wenn du glaubst, dass dies ein Fehler ist, kontaktiere bitte die Administratoren dieser Instanz und gib alle Details an, die du über den Geschenkcode und den Zeitpunkt der Einlösung hast.} other {Wenn du glaubst, dass dies ein Fehler ist, kontaktiere bitte unser Support-Team und gib alle Details an, die du über den Geschenkcode und den Zeitpunkt der Einlösung hast.}}\n\n– {product_name}-Team" }, "harvest_completed": { "subject": "Dein {product_name}-Datenexport steht zum Herunterladen bereit", - "body": "Hallo {username},\n\ndein Datenexport ist bereit.\n\nDownload-Link:\n{downloadUrl}\n\nEnthaltene Nachrichten: {totalMessages, number}\nDateigröße: {fileSizeMB, number} MB\n\nDieser Link läuft am {expiresAt, date, full} um {expiresAt, time, short} ab.\n\nWenn du diesen Export nicht angefordert hast, ändere bitte sofort dein Passwort und kontaktiere unser Support-Team.\n\n– {product_name}-Team" + "body": "Hallo {username},\n\ndein Datenexport ist bereit.\n\nDownload-Link:\n{downloadUrl}\n\nEnthaltene Nachrichten: {totalMessages, number}\nDateigröße: {fileSizeMB, number} MB\n\nDieser Link läuft am {expiresAt, date, full} um {expiresAt, time, short} ab.\n\n{support_email, select, null {Wenn du diesen Export nicht angefordert hast, ändere bitte sofort dein Passwort und kontaktiere die Administratoren dieser Instanz.} other {Wenn du diesen Export nicht angefordert hast, ändere bitte sofort dein Passwort und kontaktiere unser Support-Team.}}\n\n– {product_name}-Team" }, "inactivity_warning": { "subject": "Dein {product_name}-Account wird wegen Inaktivität gelöscht", - "body": "Hallo {username},\n\nwir haben seit dem {lastActiveDate, date, full} keine Aktivität auf deinem {product_name}-Account festgestellt.\n\nWenn du dich nicht bis zum {deletionDate, date, full} um {deletionDate, time, short} anmeldest, wird dein Account aufgrund von Inaktivität dauerhaft gelöscht.\n\nMelde dich hier an:\n{loginUrl}\n\nWenn du {product_name} kürzlich genutzt hast, kontaktiere bitte sofort unser Support-Team.\n\n– {product_name}-Team" + "body": "Hallo {username},\n\nwir haben seit dem {lastActiveDate, date, full} keine Aktivität auf deinem {product_name}-Account festgestellt.\n\nWenn du dich nicht bis zum {deletionDate, date, full} um {deletionDate, time, short} anmeldest, wird dein Account aufgrund von Inaktivität dauerhaft gelöscht.\n\nMelde dich hier an:\n{loginUrl}\n\n{support_email, select, null {Wenn du {product_name} kürzlich genutzt hast, kontaktiere bitte sofort die Administratoren dieser Instanz.} other {Wenn du {product_name} kürzlich genutzt hast, kontaktiere bitte sofort unser Support-Team.}}\n\n– {product_name}-Team" }, "ip_authorization": { "subject": "Anmeldung von einer neuen IP-Adresse bestätigen", @@ -93,11 +93,11 @@ const EMAIL_I18N_DE_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Deine {product_name}-Meldung wurde geprüft", - "body": "Hallo {username},\n\ndeine Meldung (ID: {reportId}) wurde von unserem Sicherheitsteam geprüft.{hasComment, select, yes {\n\nAntwort vom Sicherheitsteam:\n{publicComment}} other {}}\n\nDanke, dass du hilfst, {product_name} für alle sicher zu halten. Wir nehmen alle Meldungen ernst und schätzen deinen Beitrag zur Community.\n\nWenn du Fragen oder Bedenken zu diesem Ergebnis hast, kontaktiere bitte {safety_email}.\n\n– {product_name}-Sicherheitsteam" + "body": "Hallo {username},\n\ndeine Meldung (ID: {reportId}) wurde von unserem Sicherheitsteam geprüft.{hasComment, select, yes {\n\nAntwort vom Sicherheitsteam:\n{publicComment}} other {}}\n\nDanke, dass du hilfst, {product_name} für alle sicher zu halten. Wir nehmen alle Meldungen ernst und schätzen deinen Beitrag zur Community.\n\n{safety_email, select, null {Wenn du Fragen oder Bedenken zu diesem Ergebnis hast, kontaktiere bitte die Administratoren dieser Instanz.} other {Wenn du Fragen oder Bedenken zu diesem Ergebnis hast, kontaktiere bitte {safety_email}.}}\n\n– {product_name}-Sicherheitsteam" }, "scheduled_deletion_notification": { "subject": "Dein {product_name}-Account wird dauerhaft gelöscht", - "body": "Hallo {username},\n\ndein {product_name}-Account wurde zur dauerhaften Löschung vorgemerkt.\n\nGeplante Löschung: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Grund: {reason}}\n}\n\nDies ist eine ernsthafte Maßnahme. Deine Accountdaten werden am geplanten Datum dauerhaft gelöscht.\n\nWenn du glaubst, dass diese Entscheidung falsch war, kannst du Einspruch einlegen. Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email}.\n\n– {product_name}-Sicherheitsteam" + "body": "Hallo {username},\n\ndein {product_name}-Account wurde zur dauerhaften Löschung vorgemerkt.\n\nGeplante Löschung: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Grund: {reason}}\n}\n\nDies ist eine ernsthafte Maßnahme. Deine Accountdaten werden am geplanten Datum dauerhaft gelöscht.\n\nWenn du glaubst, dass diese Entscheidung falsch war, kannst du Einspruch einlegen. {appeals_email, select, null {Wende dich an die Administratoren dieser Instanz.} other {Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email}.}}\n\n– {product_name}-Sicherheitsteam" }, "self_deletion_scheduled": { "subject": "Die Löschung deines {product_name}-Accounts ist geplant", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/el.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/el.ts index 1039dc53a..4e0e47304 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/el.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/el.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_EL_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Η διαγραφή του λογαριασμού σου στο {product_name} ακυρώθηκε", - "body": "Γεια σου {username},\n\nΗ προγραμματισμένη διαγραφή του λογαριασμού σου στο {product_name} ακυρώθηκε. Ο λογαριασμός σου δεν θα διαγραφεί.\n\nΕάν έχεις ερωτήσεις, στείλε email στο {safety_email}.\n\n– Η ομάδα του {product_name}" + "body": "Γεια σου {username},\n\nΗ προγραμματισμένη διαγραφή του λογαριασμού σου στο {product_name} ακυρώθηκε. Ο λογαριασμός σου δεν θα διαγραφεί.\n\n{safety_email, select, null {Εάν έχεις ερωτήσεις, επικοινώνησε με τους διαχειριστές αυτής της παρουσίας.} other {Εάν έχεις ερωτήσεις, στείλε email στο {safety_email}.}}\n\n– Η ομάδα του {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Ο λογαριασμός σου στο {product_name} θα διαγραφεί λόγω αδράνειας", - "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} είναι ανενεργός για μεγάλο χρονικό διάστημα, γι' αυτό έχει προγραμματιστεί για οριστική διαγραφή:\n\n{deletionDate, date, full} και ώρα {deletionDate, time, short}{reason, select, null {} other {\n\nΛόγος: {reason}}}\n\nΕάν θέλεις να διατηρήσεις τον λογαριασμό σου, στείλε email στο {safety_email} από αυτή τη διεύθυνση email πριν από αυτή την ημερομηνία.\n\n– Η ομάδα του {product_name}" + "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} είναι ανενεργός για μεγάλο χρονικό διάστημα, γι' αυτό έχει προγραμματιστεί για οριστική διαγραφή:\n\n{deletionDate, date, full} και ώρα {deletionDate, time, short}{reason, select, null {} other {\n\nΛόγος: {reason}}}\n\n{safety_email, select, null {Εάν θέλεις να διατηρήσεις τον λογαριασμό σου, επικοινώνησε με τους διαχειριστές αυτής της παρουσίας πριν από αυτή την ημερομηνία.} other {Εάν θέλεις να διατηρήσεις τον λογαριασμό σου, στείλε email στο {safety_email} από αυτή τη διεύθυνση email πριν από αυτή την ημερομηνία.}}\n\n– Η ομάδα του {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Η διαγραφή του λογαριασμού σου στο {product_name} είναι προγραμματισμένη", - "body": "Γεια σου {username},\n\nΌπως ζήτησες, ο λογαριασμός σου στο {product_name} έχει προγραμματιστεί για οριστική διαγραφή:\n\n{deletionDate, date, full} και ώρα {deletionDate, time, short}{reason, select, null {} other {\n\nΛόγος: {reason}}}\n\nΜέχρι τότε ο λογαριασμός σου είναι κλειδωμένος. Εάν δεν το ζήτησες ή θέλεις να διατηρήσεις τον λογαριασμό σου, στείλε email στο {safety_email} από αυτή τη διεύθυνση email πριν από αυτή την ημερομηνία.\n\n– Η ομάδα του {product_name}" + "body": "Γεια σου {username},\n\nΌπως ζήτησες, ο λογαριασμός σου στο {product_name} έχει προγραμματιστεί για οριστική διαγραφή:\n\n{deletionDate, date, full} και ώρα {deletionDate, time, short}{reason, select, null {} other {\n\nΛόγος: {reason}}}\n\nΜέχρι τότε ο λογαριασμός σου είναι κλειδωμένος. {safety_email, select, null {Εάν δεν το ζήτησες ή θέλεις να διατηρήσεις τον λογαριασμό σου, επικοινώνησε με τους διαχειριστές αυτής της παρουσίας πριν από αυτή την ημερομηνία.} other {Εάν δεν το ζήτησες ή θέλεις να διατηρήσεις τον λογαριασμό σου, στείλε email στο {safety_email} από αυτή τη διεύθυνση email πριν από αυτή την ημερομηνία.}}\n\n– Η ομάδα του {product_name}" }, "account_scheduled_deletion": { "subject": "Ο λογαριασμός σου στο {product_name} θα διαγραφεί οριστικά", - "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} έχει προγραμματιστεί για οριστική διαγραφή λόγω παραβιάσεων των Όρων παροχής υπηρεσιών ή των Οδηγιών κοινότητας.\n\nΠρογραμματισμένη διαγραφή: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Λόγος: {reason}}\n}\n\nΠρόκειται για σοβαρό μέτρο. Τα δεδομένα του λογαριασμού σου θα διαγραφούν οριστικά την προγραμματισμένη ημερομηνία.\n\nΈλεγξε:\n- Όροι παροχής υπηρεσιών: {termsUrl}\n- Οδηγίες κοινότητας: {guidelinesUrl}\n\nΔιαδικασία προσφυγής:\nΕάν πιστεύεις ότι αυτή η απόφαση ήταν λανθασμένη ή αδικαιολόγητη, έχεις 60 ημέρες για να υποβάλεις προσφυγή. Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email.\n\nΣτην προσφυγή σου:\n- Εξήγησε σαφώς γιατί πιστεύεις ότι η απόφαση ήταν λανθασμένη ή αδικαιολόγητη\n- Παράθεσε τυχόν σχετικά αποδεικτικά στοιχεία ή πλαίσιο\n\nΈνα μέλος της ομάδας ασφαλείας του {product_name} θα εξετάσει την προσφυγή σου και ενδέχεται να αναστείλει την εκκρεμή διαγραφή μέχρι να ληφθεί τελική απόφαση.\n\n– Η ομάδα ασφαλείας του {product_name}" + "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} έχει προγραμματιστεί για οριστική διαγραφή λόγω παραβιάσεων των Όρων παροχής υπηρεσιών ή των Οδηγιών κοινότητας.\n\nΠρογραμματισμένη διαγραφή: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Λόγος: {reason}}\n}\n\nΠρόκειται για σοβαρό μέτρο. Τα δεδομένα του λογαριασμού σου θα διαγραφούν οριστικά την προγραμματισμένη ημερομηνία.\n\n{legalLinks, select,\n both {Έλεγξε:\n- Όροι παροχής υπηρεσιών: {termsUrl}\n- Οδηγίες κοινότητας: {guidelinesUrl}\n\n}\n terms {Έλεγξε:\n- Όροι παροχής υπηρεσιών: {termsUrl}\n\n}\n guidelines {Έλεγξε:\n- Οδηγίες κοινότητας: {guidelinesUrl}\n\n}\n other {}\n}Διαδικασία προσφυγής:\nΕάν πιστεύεις ότι αυτή η απόφαση ήταν λανθασμένη ή αδικαιολόγητη, έχεις 60 ημέρες για να υποβάλεις προσφυγή. {appeals_email, select, null {Επικοινώνησε με τους διαχειριστές αυτής της παρουσίας.} other {Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email.}}\n\nΣτην προσφυγή σου:\n- Εξήγησε σαφώς γιατί πιστεύεις ότι η απόφαση ήταν λανθασμένη ή αδικαιολόγητη\n- Παράθεσε τυχόν σχετικά αποδεικτικά στοιχεία ή πλαίσιο\n\nΈνα μέλος της ομάδας ασφαλείας του {product_name} θα εξετάσει την προσφυγή σου και ενδέχεται να αναστείλει την εκκρεμή διαγραφή μέχρι να ληφθεί τελική απόφαση.\n\n– Η ομάδα ασφαλείας του {product_name}" }, "account_temp_banned": { "subject": "Ο λογαριασμός σου στο {product_name} έχει ανασταλεί προσωρινά", - "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} έχει ανασταλεί προσωρινά για παραβίαση των Όρων παροχής υπηρεσιών ή των Οδηγιών κοινότητας.\n\nΔιάρκεια: {durationHours, plural,\n =1 {μία ώρα}\n other {# ώρες}\n}\nΑναστολή μέχρι: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Λόγος: {reason}}\n}\n\nΚατά τη διάρκεια αυτής της περιόδου, δεν θα έχεις πρόσβαση στον λογαριασμό σου.\n\nΈλεγξε:\n- Όροι παροχής υπηρεσιών: {termsUrl}\n- Οδηγίες κοινότητας: {guidelinesUrl}\n\nΕάν πιστεύεις ότι αυτή η απόφαση ήταν λανθασμένη ή αδικαιολόγητη, μπορείς να υποβάλεις προσφυγή. Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email και εξήγησε σαφώς γιατί πιστεύεις ότι η απόφαση ήταν λανθασμένη. Θα εξετάσουμε την προσφυγή σου και θα σου απαντήσουμε με την απόφασή μας.\n\n– Η ομάδα ασφαλείας του {product_name}" + "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} έχει ανασταλεί προσωρινά για παραβίαση των Όρων παροχής υπηρεσιών ή των Οδηγιών κοινότητας.\n\nΔιάρκεια: {durationHours, plural,\n =1 {μία ώρα}\n other {# ώρες}\n}\nΑναστολή μέχρι: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Λόγος: {reason}}\n}\n\nΚατά τη διάρκεια αυτής της περιόδου, δεν θα έχεις πρόσβαση στον λογαριασμό σου.\n\n{legalLinks, select,\n both {Έλεγξε:\n- Όροι παροχής υπηρεσιών: {termsUrl}\n- Οδηγίες κοινότητας: {guidelinesUrl}\n\n}\n terms {Έλεγξε:\n- Όροι παροχής υπηρεσιών: {termsUrl}\n\n}\n guidelines {Έλεγξε:\n- Οδηγίες κοινότητας: {guidelinesUrl}\n\n}\n other {}\n}Εάν πιστεύεις ότι αυτή η απόφαση ήταν λανθασμένη ή αδικαιολόγητη, μπορείς να υποβάλεις προσφυγή. {appeals_email, select, null {Επικοινώνησε με τους διαχειριστές αυτής της παρουσίας και εξήγησε σαφώς γιατί πιστεύεις ότι η απόφαση ήταν λανθασμένη.} other {Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email και εξήγησε σαφώς γιατί πιστεύεις ότι η απόφαση ήταν λανθασμένη.}} Θα εξετάσουμε την προσφυγή σου και θα σου απαντήσουμε με την απόφασή μας.\n\n– Η ομάδα ασφαλείας του {product_name}" }, "donation_confirmation": { "subject": "Ευχαριστούμε για τη δωρεά σου στο {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_EL_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Λάβαμε απόφαση για την αναφορά σου στο {product_name}", - "body": "Γεια σου,\n\nΗ ομάδα ασφαλείας μας εξέτασε την αναφορά σου βάσει της Πράξης για τις ψηφιακές υπηρεσίες (ID: {reportId}) και έλαβε απόφαση.{hasComment, select, yes {\n\nΑπάντηση από την ομάδα ασφαλείας:\n{publicComment}} other {}}\n\nΔεν κοινοποιούμε λεπτομέρειες για ενέργειες που έγιναν σε βάρος του λογαριασμού άλλου ατόμου, επειδή πρόκειται για δικά του προσωπικά δεδομένα.\n\nΕάν διαφωνείς με αυτήν την απόφαση, μπορείς να υποβάλεις προσφυγή δωρεάν εντός 60 ημερών. Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email, ανάφερε το ID της αναφοράς σου και εξήγησε γιατί πιστεύεις ότι η απόφαση είναι λανθασμένη. Εάν βρίσκεσαι στην ΕΕ, μπορείς επίσης να παραπέμψεις τη διαφορά σε πιστοποιημένο όργανο εξωδικαστικής επίλυσης διαφορών. Τίποτα από αυτά δεν επηρεάζει το δικαίωμά σου να προσφύγεις στα δικαστήρια.\n\n– Η ομάδα ασφαλείας του {product_name}" + "body": "Γεια σου,\n\nΗ ομάδα ασφαλείας μας εξέτασε την αναφορά σου βάσει της Πράξης για τις ψηφιακές υπηρεσίες (ID: {reportId}) και έλαβε απόφαση.{hasComment, select, yes {\n\nΑπάντηση από την ομάδα ασφαλείας:\n{publicComment}} other {}}\n\nΔεν κοινοποιούμε λεπτομέρειες για ενέργειες που έγιναν σε βάρος του λογαριασμού άλλου ατόμου, επειδή πρόκειται για δικά του προσωπικά δεδομένα.\n\nΕάν διαφωνείς με αυτήν την απόφαση, μπορείς να υποβάλεις προσφυγή δωρεάν εντός 60 ημερών. {appeals_email, select, null {Επικοινώνησε με τους διαχειριστές αυτής της παρουσίας, ανάφερε το ID της αναφοράς σου και εξήγησε γιατί πιστεύεις ότι η απόφαση είναι λανθασμένη.} other {Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email, ανάφερε το ID της αναφοράς σου και εξήγησε γιατί πιστεύεις ότι η απόφαση είναι λανθασμένη.}} Εάν βρίσκεσαι στην ΕΕ, μπορείς επίσης να παραπέμψεις τη διαφορά σε πιστοποιημένο όργανο εξωδικαστικής επίλυσης διαφορών. Τίποτα από αυτά δεν επηρεάζει το δικαίωμά σου να προσφύγεις στα δικαστήρια.\n\n– Η ομάδα ασφαλείας του {product_name}" }, "dsa_report_verification": { "subject": "Επαλήθευσε το email σου για αναφορά DSA", @@ -57,15 +57,15 @@ const EMAIL_I18N_EL_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Τα προνόμια από το δώρο που εξαργύρωσες έχουν αφαιρεθεί", - "body": "Γεια σου {username},\n\nΈνας κωδικός δώρου που εξαργύρωσες πληρώθηκε αρχικά από κάποιον άλλο. Αυτή η πληρωμή έχει έκτοτε αντιστραφεί (αμφισβήτηση χρέωσης).\n\nΓι' αυτόν τον λόγο, αφαιρέσαμε τα προνόμια που προστέθηκαν στον λογαριασμό σου όταν εξαργύρωσες το δώρο.\n\nΕάν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με την ομάδα υποστήριξής μας και ανάφερε όσες λεπτομέρειες έχεις σχετικά με τον κωδικό δώρου και το πότε τον εξαργύρωσες.\n\n– Η ομάδα του {product_name}" + "body": "Γεια σου {username},\n\nΈνας κωδικός δώρου που εξαργύρωσες πληρώθηκε αρχικά από κάποιον άλλο. Αυτή η πληρωμή έχει έκτοτε αντιστραφεί (αμφισβήτηση χρέωσης).\n\nΓι' αυτόν τον λόγο, αφαιρέσαμε τα προνόμια που προστέθηκαν στον λογαριασμό σου όταν εξαργύρωσες το δώρο.\n\n{support_email, select, null {Εάν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με τους διαχειριστές αυτής της παρουσίας και ανάφερε όσες λεπτομέρειες έχεις σχετικά με τον κωδικό δώρου και το πότε τον εξαργύρωσες.} other {Εάν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με την ομάδα υποστήριξής μας και ανάφερε όσες λεπτομέρειες έχεις σχετικά με τον κωδικό δώρου και το πότε τον εξαργύρωσες.}}\n\n– Η ομάδα του {product_name}" }, "harvest_completed": { "subject": "Η εξαγωγή δεδομένων σου στο {product_name} είναι έτοιμη για λήψη", - "body": "Γεια σου {username},\n\nΗ εξαγωγή δεδομένων σου είναι έτοιμη.\n\nΣύνδεσμος λήψης:\n{downloadUrl}\n\nΜηνύματα που περιλαμβάνονται: {totalMessages, number}\nΜέγεθος αρχείου: {fileSizeMB, number} MB\n\nΑυτός ο σύνδεσμος λήγει στις {expiresAt, date, full} και ώρα {expiresAt, time, short}.\n\nΕάν δεν ζήτησες αυτήν την εξαγωγή, άλλαξε αμέσως τον κωδικό πρόσβασής σου και επικοινώνησε με την ομάδα υποστήριξής μας.\n\n– Η ομάδα του {product_name}" + "body": "Γεια σου {username},\n\nΗ εξαγωγή δεδομένων σου είναι έτοιμη.\n\nΣύνδεσμος λήψης:\n{downloadUrl}\n\nΜηνύματα που περιλαμβάνονται: {totalMessages, number}\nΜέγεθος αρχείου: {fileSizeMB, number} MB\n\nΑυτός ο σύνδεσμος λήγει στις {expiresAt, date, full} και ώρα {expiresAt, time, short}.\n\n{support_email, select, null {Εάν δεν ζήτησες αυτήν την εξαγωγή, άλλαξε αμέσως τον κωδικό πρόσβασής σου και επικοινώνησε με τους διαχειριστές αυτής της παρουσίας.} other {Εάν δεν ζήτησες αυτήν την εξαγωγή, άλλαξε αμέσως τον κωδικό πρόσβασής σου και επικοινώνησε με την ομάδα υποστήριξής μας.}}\n\n– Η ομάδα του {product_name}" }, "inactivity_warning": { "subject": "Ο λογαριασμός σου στο {product_name} θα διαγραφεί λόγω αδράνειας", - "body": "Γεια σου {username},\n\nΔεν έχουμε δει καμία δραστηριότητα στον λογαριασμό σου στο {product_name} από τις {lastActiveDate, date, full}.\n\nΕάν δεν συνδεθείς μέχρι τις {deletionDate, date, full} και ώρα {deletionDate, time, short}, ο λογαριασμός σου θα διαγραφεί οριστικά λόγω αδράνειας.\n\nΣυνδέσου εδώ:\n{loginUrl}\n\nΕάν χρησιμοποίησες το {product_name} πρόσφατα, επικοινώνησε αμέσως με την ομάδα υποστήριξής μας.\n\n– Η ομάδα του {product_name}" + "body": "Γεια σου {username},\n\nΔεν έχουμε δει καμία δραστηριότητα στον λογαριασμό σου στο {product_name} από τις {lastActiveDate, date, full}.\n\nΕάν δεν συνδεθείς μέχρι τις {deletionDate, date, full} και ώρα {deletionDate, time, short}, ο λογαριασμός σου θα διαγραφεί οριστικά λόγω αδράνειας.\n\nΣυνδέσου εδώ:\n{loginUrl}\n\n{support_email, select, null {Εάν χρησιμοποίησες το {product_name} πρόσφατα, επικοινώνησε αμέσως με τους διαχειριστές αυτής της παρουσίας.} other {Εάν χρησιμοποίησες το {product_name} πρόσφατα, επικοινώνησε αμέσως με την ομάδα υποστήριξής μας.}}\n\n– Η ομάδα του {product_name}" }, "ip_authorization": { "subject": "Εξουσιοδότησε τη σύνδεση από μια νέα διεύθυνση IP", @@ -93,11 +93,11 @@ const EMAIL_I18N_EL_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Η αναφορά σου στο {product_name} έχει εξεταστεί", - "body": "Γεια σου {username},\n\nΗ αναφορά σου (ID: {reportId}) εξετάστηκε από την ομάδα ασφαλείας μας.{hasComment, select, yes {\n\nΑπάντηση από την ομάδα ασφαλείας:\n{publicComment}} other {}}\n\nΕυχαριστούμε που βοηθάς να παραμείνει το {product_name} ασφαλές για όλους. Λαμβάνουμε σοβαρά υπόψη κάθε αναφορά και εκτιμούμε τη συμβολή σου στην κοινότητα.\n\nΕάν έχεις ερωτήσεις ή απορίες σχετικά με αυτό το αποτέλεσμα, στείλε email στο {safety_email}.\n\n– Η ομάδα ασφαλείας του {product_name}" + "body": "Γεια σου {username},\n\nΗ αναφορά σου (ID: {reportId}) εξετάστηκε από την ομάδα ασφαλείας μας.{hasComment, select, yes {\n\nΑπάντηση από την ομάδα ασφαλείας:\n{publicComment}} other {}}\n\nΕυχαριστούμε που βοηθάς να παραμείνει το {product_name} ασφαλές για όλους. Λαμβάνουμε σοβαρά υπόψη κάθε αναφορά και εκτιμούμε τη συμβολή σου στην κοινότητα.\n\n{safety_email, select, null {Εάν έχεις ερωτήσεις ή απορίες σχετικά με αυτό το αποτέλεσμα, επικοινώνησε με τους διαχειριστές αυτής της παρουσίας.} other {Εάν έχεις ερωτήσεις ή απορίες σχετικά με αυτό το αποτέλεσμα, στείλε email στο {safety_email}.}}\n\n– Η ομάδα ασφαλείας του {product_name}" }, "scheduled_deletion_notification": { "subject": "Ο λογαριασμός σου στο {product_name} θα διαγραφεί οριστικά", - "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} έχει προγραμματιστεί για οριστική διαγραφή.\n\nΠρογραμματισμένη διαγραφή: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Λόγος: {reason}}\n}\n\nΠρόκειται για σοβαρό μέτρο. Τα δεδομένα του λογαριασμού σου θα διαγραφούν οριστικά την προγραμματισμένη ημερομηνία.\n\nΕάν πιστεύεις ότι αυτή η απόφαση ήταν λανθασμένη, μπορείς να υποβάλεις προσφυγή. Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email.\n\n– Η ομάδα ασφαλείας του {product_name}" + "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} έχει προγραμματιστεί για οριστική διαγραφή.\n\nΠρογραμματισμένη διαγραφή: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Λόγος: {reason}}\n}\n\nΠρόκειται για σοβαρό μέτρο. Τα δεδομένα του λογαριασμού σου θα διαγραφούν οριστικά την προγραμματισμένη ημερομηνία.\n\nΕάν πιστεύεις ότι αυτή η απόφαση ήταν λανθασμένη, μπορείς να υποβάλεις προσφυγή. {appeals_email, select, null {Επικοινώνησε με τους διαχειριστές αυτής της παρουσίας.} other {Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email.}}\n\n– Η ομάδα ασφαλείας του {product_name}" }, "self_deletion_scheduled": { "subject": "Η διαγραφή του λογαριασμού σου στο {product_name} είναι προγραμματισμένη", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/en-GB.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/en-GB.ts index 277e0c833..12aa94cd8 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/en-GB.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/en-GB.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_EN_GB_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Your {product_name} account is no longer scheduled for deletion", - "body": "Hello {username},\n\nThe scheduled deletion of your {product_name} account has been cancelled. Your account will not be deleted.\n\nIf you have any questions, contact {safety_email}.\n\n– {product_name} Team" + "body": "Hello {username},\n\nThe scheduled deletion of your {product_name} account has been cancelled. Your account will not be deleted.\n\n{safety_email, select, null {If you have any questions, contact the administrators of this instance.} other {If you have any questions, contact {safety_email}.}}\n\n– {product_name} Team" }, "account_deletion_scheduled_inactivity": { "subject": "Your {product_name} account will be deleted due to inactivity", - "body": "Hello {username},\n\nYour {product_name} account has been inactive for a long time, so it is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\nIf you want to keep your account, contact {safety_email} from this email address before that date.\n\n– {product_name} Team" + "body": "Hello {username},\n\nYour {product_name} account has been inactive for a long time, so it is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\n{safety_email, select, null {If you want to keep your account, contact the administrators of this instance before that date.} other {If you want to keep your account, contact {safety_email} from this email address before that date.}}\n\n– {product_name} Team" }, "account_deletion_scheduled_requested": { "subject": "Your {product_name} account deletion is scheduled", - "body": "Hello {username},\n\nAs you requested, your {product_name} account is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\nYour account is locked until then. If you didn't request this, or you want to keep your account, contact {safety_email} from this email address before that date.\n\n– {product_name} Team" + "body": "Hello {username},\n\nAs you requested, your {product_name} account is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\nYour account is locked until then. {safety_email, select, null {If you didn't request this, or you want to keep your account, contact the administrators of this instance before that date.} other {If you didn't request this, or you want to keep your account, contact {safety_email} from this email address before that date.}}\n\n– {product_name} Team" }, "account_scheduled_deletion": { "subject": "Your {product_name} account will be permanently deleted", - "body": "Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion due to violations of our Terms of Service or Community Guidelines.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\nPlease review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\nAppeals process:\nIf you believe this enforcement decision was incorrect or unjustified, you have 60 days to submit an appeal. Email {appeals_email} from this email address.\n\nIn your appeal:\n- Clearly explain why you believe the enforcement decision was incorrect or unjustified\n- Provide any relevant evidence or context\n\nA member of the {product_name} Safety Team will review your appeal and may pause the pending deletion until a final decision has been reached.\n\n– {product_name} Safety Team" + "body": "Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion due to violations of our Terms of Service or Community Guidelines.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\n{legalLinks, select,\n both {Please review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\n}\n terms {Please review:\n- Terms of Service: {termsUrl}\n\n}\n guidelines {Please review:\n- Community Guidelines: {guidelinesUrl}\n\n}\n other {}\n}Appeals process:\nIf you believe this enforcement decision was incorrect or unjustified, you have 60 days to submit an appeal. {appeals_email, select, null {Contact the administrators of this instance.} other {Email {appeals_email} from this email address.}}\n\nIn your appeal:\n- Clearly explain why you believe the enforcement decision was incorrect or unjustified\n- Provide any relevant evidence or context\n\nA member of the {product_name} Safety Team will review your appeal and may pause the pending deletion until a final decision has been reached.\n\n– {product_name} Safety Team" }, "account_temp_banned": { "subject": "Your {product_name} account has been temporarily suspended", - "body": "Hello {username},\n\nYour {product_name} account has been temporarily suspended for violating our Terms of Service or Community Guidelines.\n\nDuration: {durationHours, plural,\n =1 {1 hour}\n other {# hours}\n}\nSuspended until: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nDuring this time, you won't be able to access your account.\n\nPlease review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\nIf you believe this enforcement decision was incorrect or unjustified, you can submit an appeal. Email {appeals_email} from this email address and clearly explain why you believe the decision was incorrect. We'll review your appeal and respond with our decision.\n\n– {product_name} Safety Team" + "body": "Hello {username},\n\nYour {product_name} account has been temporarily suspended for violating our Terms of Service or Community Guidelines.\n\nDuration: {durationHours, plural,\n =1 {1 hour}\n other {# hours}\n}\nSuspended until: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nDuring this time, you won't be able to access your account.\n\n{legalLinks, select,\n both {Please review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\n}\n terms {Please review:\n- Terms of Service: {termsUrl}\n\n}\n guidelines {Please review:\n- Community Guidelines: {guidelinesUrl}\n\n}\n other {}\n}If you believe this enforcement decision was incorrect or unjustified, you can submit an appeal. {appeals_email, select, null {Contact the administrators of this instance and clearly explain why you believe the decision was incorrect.} other {Email {appeals_email} from this email address and clearly explain why you believe the decision was incorrect.}} We'll review your appeal and respond with our decision.\n\n– {product_name} Safety Team" }, "donation_confirmation": { "subject": "Thank you for your {product_name} donation", @@ -33,7 +33,7 @@ const EMAIL_I18N_EN_GB_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "We made a decision on your {product_name} report", - "body": "Hello,\n\nOur Safety Team has reviewed your Digital Services Act report (ID: {reportId}) and made a decision.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nWe don't share details of any action taken against another person's account, because that is their personal data.\n\nIf you disagree with this decision, you can appeal free of charge within 60 days. Email {appeals_email} from this email address, include your report ID, and explain why you think the decision is wrong. If you are in the EU, you can also refer the dispute to a certified out-of-court dispute settlement body. None of this affects your right to go to court.\n\n– {product_name} Safety Team" + "body": "Hello,\n\nOur Safety Team has reviewed your Digital Services Act report (ID: {reportId}) and made a decision.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nWe don't share details of any action taken against another person's account, because that is their personal data.\n\nIf you disagree with this decision, you can appeal free of charge within 60 days. {appeals_email, select, null {Contact the administrators of this instance, include your report ID, and explain why you think the decision is wrong.} other {Email {appeals_email} from this email address, include your report ID, and explain why you think the decision is wrong.}} If you are in the EU, you can also refer the dispute to a certified out-of-court dispute settlement body. None of this affects your right to go to court.\n\n– {product_name} Safety Team" }, "dsa_report_verification": { "subject": "Verify your email for a DSA report", @@ -57,15 +57,15 @@ const EMAIL_I18N_EN_GB_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Perks from your redeemed gift have been removed", - "body": "Hello {username},\n\nA gift code you redeemed was originally paid for by someone else. That payment has since been reversed (a chargeback).\n\nBecause of this, we've removed the perks that were added to your account when you redeemed the gift.\n\nIf you think this is a mistake, please contact our support team and include any details you have about the gift code and when you redeemed it.\n\n– {product_name} Team" + "body": "Hello {username},\n\nA gift code you redeemed was originally paid for by someone else. That payment has since been reversed (a chargeback).\n\nBecause of this, we've removed the perks that were added to your account when you redeemed the gift.\n\n{support_email, select, null {If you think this is a mistake, please contact the administrators of this instance and include any details you have about the gift code and when you redeemed it.} other {If you think this is a mistake, please contact our support team and include any details you have about the gift code and when you redeemed it.}}\n\n– {product_name} Team" }, "harvest_completed": { "subject": "Your {product_name} data export is ready to download", - "body": "Hello {username},\n\nYour data export is ready.\n\nDownload link:\n{downloadUrl}\n\nMessages included: {totalMessages, number}\nFile size: {fileSizeMB, number} MB\n\nThis link expires on {expiresAt, date, full} at {expiresAt, time, short}.\n\nIf you didn't request this export, please change your password immediately and contact our support team.\n\n– {product_name} Team" + "body": "Hello {username},\n\nYour data export is ready.\n\nDownload link:\n{downloadUrl}\n\nMessages included: {totalMessages, number}\nFile size: {fileSizeMB, number} MB\n\nThis link expires on {expiresAt, date, full} at {expiresAt, time, short}.\n\n{support_email, select, null {If you didn't request this export, please change your password immediately and contact the administrators of this instance.} other {If you didn't request this export, please change your password immediately and contact our support team.}}\n\n– {product_name} Team" }, "inactivity_warning": { "subject": "Your {product_name} account will be deleted due to inactivity", - "body": "Hello {username},\n\nWe haven't seen any activity on your {product_name} account since {lastActiveDate, date, full}.\n\nIf you don't log in by {deletionDate, date, full} at {deletionDate, time, short}, your account will be permanently deleted due to inactivity.\n\nLog in here:\n{loginUrl}\n\nIf you've used {product_name} recently, please contact our support team right away.\n\n– {product_name} Team" + "body": "Hello {username},\n\nWe haven't seen any activity on your {product_name} account since {lastActiveDate, date, full}.\n\nIf you don't log in by {deletionDate, date, full} at {deletionDate, time, short}, your account will be permanently deleted due to inactivity.\n\nLog in here:\n{loginUrl}\n\n{support_email, select, null {If you've used {product_name} recently, please contact the administrators of this instance right away.} other {If you've used {product_name} recently, please contact our support team right away.}}\n\n– {product_name} Team" }, "ip_authorization": { "subject": "Authorise login from a new IP address", @@ -93,11 +93,11 @@ const EMAIL_I18N_EN_GB_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Your {product_name} report has been reviewed", - "body": "Hello {username},\n\nYour report (ID: {reportId}) has been reviewed by our Safety Team.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nThanks for helping keep {product_name} safe for everyone. We take all reports seriously and appreciate your contribution to the community.\n\nIf you have any questions or concerns about this outcome, please contact {safety_email}.\n\n– {product_name} Safety Team" + "body": "Hello {username},\n\nYour report (ID: {reportId}) has been reviewed by our Safety Team.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nThanks for helping keep {product_name} safe for everyone. We take all reports seriously and appreciate your contribution to the community.\n\n{safety_email, select, null {If you have any questions or concerns about this outcome, please contact the administrators of this instance.} other {If you have any questions or concerns about this outcome, please contact {safety_email}.}}\n\n– {product_name} Safety Team" }, "scheduled_deletion_notification": { "subject": "Your {product_name} account will be permanently deleted", - "body": "Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\nIf you believe this enforcement decision was incorrect, you can submit an appeal. Email {appeals_email} from this email address.\n\n– {product_name} Safety Team" + "body": "Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\nIf you believe this enforcement decision was incorrect, you can submit an appeal. {appeals_email, select, null {Contact the administrators of this instance.} other {Email {appeals_email} from this email address.}}\n\n– {product_name} Safety Team" }, "self_deletion_scheduled": { "subject": "Your {product_name} account deletion is scheduled", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/es-419.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/es-419.ts index 7688df506..8e3f7f01c 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/es-419.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/es-419.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_ES_419_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Se canceló la eliminación de tu cuenta de {product_name}", - "body": "Hola {username}:\n\nSe canceló la eliminación programada de tu cuenta de {product_name}. Tu cuenta no será eliminada.\n\nSi tienes alguna pregunta, comunícate con {safety_email}.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nSe canceló la eliminación programada de tu cuenta de {product_name}. Tu cuenta no será eliminada.\n\n{safety_email, select, null {Si tienes alguna pregunta, comunícate con los administradores de esta instancia.} other {Si tienes alguna pregunta, comunícate con {safety_email}.}}\n\n– Equipo de {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Tu cuenta de {product_name} será eliminada debido a inactividad", - "body": "Hola {username}:\n\nTu cuenta de {product_name} lleva mucho tiempo inactiva, por lo que su eliminación permanente está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nSi quieres conservar tu cuenta, comunícate con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nTu cuenta de {product_name} lleva mucho tiempo inactiva, por lo que su eliminación permanente está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\n{safety_email, select, null {Si quieres conservar tu cuenta, comunícate con los administradores de esta instancia antes de esa fecha.} other {Si quieres conservar tu cuenta, comunícate con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.}}\n\n– Equipo de {product_name}" }, "account_deletion_scheduled_requested": { "subject": "La eliminación de tu cuenta de {product_name} está programada", - "body": "Hola {username}:\n\nSegún lo que solicitaste, la eliminación permanente de tu cuenta de {product_name} está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nTu cuenta permanecerá bloqueada hasta entonces. Si no solicitaste esto, o si quieres conservar tu cuenta, comunícate con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nSegún lo que solicitaste, la eliminación permanente de tu cuenta de {product_name} está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nTu cuenta permanecerá bloqueada hasta entonces. {safety_email, select, null {Si no solicitaste esto, o si quieres conservar tu cuenta, comunícate con los administradores de esta instancia antes de esa fecha.} other {Si no solicitaste esto, o si quieres conservar tu cuenta, comunícate con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.}}\n\n– Equipo de {product_name}" }, "account_scheduled_deletion": { "subject": "Tu cuenta de {product_name} será eliminada permanentemente", - "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name} debido a infracciones de nuestros Términos del servicio o Normas de la comunidad.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\nPor favor, revisa:\n- Términos del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\nProceso de apelación:\nSi crees que esta decisión fue incorrecta o injustificada, tienes 60 días para presentar una apelación. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.\n\nEn tu apelación:\n- Explica claramente por qué crees que la decisión fue incorrecta o injustificada\n- Aporta las pruebas o el contexto que consideres relevantes\n\nUn miembro del Equipo de seguridad de {product_name} revisará tu apelación y podrá pausar la eliminación pendiente hasta que se haya tomado una decisión final.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name} debido a infracciones de nuestros Términos del servicio o Normas de la comunidad.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\n{legalLinks, select,\n both {Por favor, revisa:\n- Términos del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n terms {Por favor, revisa:\n- Términos del servicio: {termsUrl}\n\n}\n guidelines {Por favor, revisa:\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n other {}\n}Proceso de apelación:\nSi crees que esta decisión fue incorrecta o injustificada, tienes 60 días para presentar una apelación. {appeals_email, select, null {Comunícate con los administradores de esta instancia.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.}}\n\nEn tu apelación:\n- Explica claramente por qué crees que la decisión fue incorrecta o injustificada\n- Aporta las pruebas o el contexto que consideres relevantes\n\nUn miembro del Equipo de seguridad de {product_name} revisará tu apelación y podrá pausar la eliminación pendiente hasta que se haya tomado una decisión final.\n\n– Equipo de seguridad de {product_name}" }, "account_temp_banned": { "subject": "Tu cuenta de {product_name} ha sido suspendida temporalmente", - "body": "Hola {username}:\n\nTu cuenta de {product_name} ha sido suspendida temporalmente por infringir nuestros Términos del servicio o Normas de la comunidad.\n\nDuración: {durationHours, plural,\n =1 {1 hora}\n other {# horas}\n}\nSuspendida hasta: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nDurante este tiempo, no podrás acceder a tu cuenta.\n\nPor favor, revisa:\n- Términos del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\nSi crees que esta decisión fue incorrecta o injustificada, puedes presentar una apelación. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico y explica claramente por qué crees que la decisión fue incorrecta. Revisaremos tu apelación y te responderemos con nuestra decisión.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nTu cuenta de {product_name} ha sido suspendida temporalmente por infringir nuestros Términos del servicio o Normas de la comunidad.\n\nDuración: {durationHours, plural,\n =1 {1 hora}\n other {# horas}\n}\nSuspendida hasta: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nDurante este tiempo, no podrás acceder a tu cuenta.\n\n{legalLinks, select,\n both {Por favor, revisa:\n- Términos del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n terms {Por favor, revisa:\n- Términos del servicio: {termsUrl}\n\n}\n guidelines {Por favor, revisa:\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n other {}\n}Si crees que esta decisión fue incorrecta o injustificada, puedes presentar una apelación. {appeals_email, select, null {Comunícate con los administradores de esta instancia y explica claramente por qué crees que la decisión fue incorrecta.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico y explica claramente por qué crees que la decisión fue incorrecta.}} Revisaremos tu apelación y te responderemos con nuestra decisión.\n\n– Equipo de seguridad de {product_name}" }, "donation_confirmation": { "subject": "Gracias por tu donación a {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_ES_419_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Tomamos una decisión sobre tu reporte en {product_name}", - "body": "Hola:\n\nNuestro equipo de seguridad revisó tu reporte conforme a la Ley de Servicios Digitales (ID: {reportId}) y tomó una decisión.{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nNo compartimos detalles sobre las medidas tomadas contra la cuenta de otra persona, porque son sus datos personales.\n\nSi no estás de acuerdo con esta decisión, puedes apelar sin costo dentro de un plazo de 60 días. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico, incluye el ID de tu reporte y explica por qué crees que la decisión es incorrecta. Si te encuentras en la UE, también puedes remitir la disputa a un órgano certificado de resolución extrajudicial de litigios. Nada de esto afecta tu derecho a acudir a los tribunales.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola:\n\nNuestro equipo de seguridad revisó tu reporte conforme a la Ley de Servicios Digitales (ID: {reportId}) y tomó una decisión.{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nNo compartimos detalles sobre las medidas tomadas contra la cuenta de otra persona, porque son sus datos personales.\n\nSi no estás de acuerdo con esta decisión, puedes apelar sin costo dentro de un plazo de 60 días. {appeals_email, select, null {Comunícate con los administradores de esta instancia, incluye el ID de tu reporte y explica por qué crees que la decisión es incorrecta.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico, incluye el ID de tu reporte y explica por qué crees que la decisión es incorrecta.}} Si te encuentras en la UE, también puedes remitir la disputa a un órgano certificado de resolución extrajudicial de litigios. Nada de esto afecta tu derecho a acudir a los tribunales.\n\n– Equipo de seguridad de {product_name}" }, "dsa_report_verification": { "subject": "Verifica tu correo electrónico para enviar un reporte conforme a la Ley de Servicios Digitales", @@ -57,15 +57,15 @@ const EMAIL_I18N_ES_419_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Los beneficios de tu regalo canjeado han sido eliminados", - "body": "Hola {username}:\n\nUn código de regalo que canjeaste fue pagado originalmente por otra persona. Ese pago ha sido revertido (un contracargo).\n\nDebido a esto, hemos eliminado los beneficios que se agregaron a tu cuenta cuando canjeaste el regalo.\n\nSi crees que esto es un error, comunícate con nuestro equipo de soporte e incluye cualquier detalle que tengas sobre el código de regalo y cuándo lo canjeaste.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nUn código de regalo que canjeaste fue pagado originalmente por otra persona. Ese pago ha sido revertido (un contracargo).\n\nDebido a esto, hemos eliminado los beneficios que se agregaron a tu cuenta cuando canjeaste el regalo.\n\n{support_email, select, null {Si crees que esto es un error, comunícate con los administradores de esta instancia e incluye cualquier detalle que tengas sobre el código de regalo y cuándo lo canjeaste.} other {Si crees que esto es un error, comunícate con nuestro equipo de soporte e incluye cualquier detalle que tengas sobre el código de regalo y cuándo lo canjeaste.}}\n\n– Equipo de {product_name}" }, "harvest_completed": { "subject": "Tu exportación de datos de {product_name} está lista para descargar", - "body": "Hola {username}:\n\nTu exportación de datos está lista.\n\nEnlace de descarga:\n{downloadUrl}\n\nMensajes incluidos: {totalMessages, number}\nTamaño del archivo: {fileSizeMB, number} MB\n\nEste enlace vence el {expiresAt, date, full} a las {expiresAt, time, short}.\n\nSi no solicitaste esta exportación, por favor, cambia tu contraseña inmediatamente y comunícate con nuestro equipo de soporte.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nTu exportación de datos está lista.\n\nEnlace de descarga:\n{downloadUrl}\n\nMensajes incluidos: {totalMessages, number}\nTamaño del archivo: {fileSizeMB, number} MB\n\nEste enlace vence el {expiresAt, date, full} a las {expiresAt, time, short}.\n\n{support_email, select, null {Si no solicitaste esta exportación, por favor, cambia tu contraseña inmediatamente y comunícate con los administradores de esta instancia.} other {Si no solicitaste esta exportación, por favor, cambia tu contraseña inmediatamente y comunícate con nuestro equipo de soporte.}}\n\n– Equipo de {product_name}" }, "inactivity_warning": { "subject": "Tu cuenta de {product_name} será eliminada debido a inactividad", - "body": "Hola {username}:\n\nNo hemos visto actividad en tu cuenta de {product_name} desde el {lastActiveDate, date, full}.\n\nSi no inicias sesión antes del {deletionDate, date, full} a las {deletionDate, time, short}, tu cuenta será eliminada permanentemente debido a inactividad.\n\nInicia sesión aquí:\n{loginUrl}\n\nSi has usado {product_name} recientemente, por favor, comunícate con nuestro equipo de soporte de inmediato.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nNo hemos visto actividad en tu cuenta de {product_name} desde el {lastActiveDate, date, full}.\n\nSi no inicias sesión antes del {deletionDate, date, full} a las {deletionDate, time, short}, tu cuenta será eliminada permanentemente debido a inactividad.\n\nInicia sesión aquí:\n{loginUrl}\n\n{support_email, select, null {Si has usado {product_name} recientemente, por favor, comunícate con los administradores de esta instancia de inmediato.} other {Si has usado {product_name} recientemente, por favor, comunícate con nuestro equipo de soporte de inmediato.}}\n\n– Equipo de {product_name}" }, "ip_authorization": { "subject": "Autoriza el inicio de sesión desde una nueva dirección IP", @@ -93,11 +93,11 @@ const EMAIL_I18N_ES_419_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Se revisó tu reporte en {product_name}", - "body": "Hola {username}:\n\nNuestro equipo de seguridad revisó tu reporte (ID: {reportId}).{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nGracias por ayudar a mantener {product_name} seguro para todos. Nos tomamos todos los reportes en serio y agradecemos tu contribución a la comunidad.\n\nSi tienes alguna pregunta o inquietud sobre este resultado, comunícate con {safety_email}.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nNuestro equipo de seguridad revisó tu reporte (ID: {reportId}).{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nGracias por ayudar a mantener {product_name} seguro para todos. Nos tomamos todos los reportes en serio y agradecemos tu contribución a la comunidad.\n\n{safety_email, select, null {Si tienes alguna pregunta o inquietud sobre este resultado, comunícate con los administradores de esta instancia.} other {Si tienes alguna pregunta o inquietud sobre este resultado, comunícate con {safety_email}.}}\n\n– Equipo de seguridad de {product_name}" }, "scheduled_deletion_notification": { "subject": "Tu cuenta de {product_name} será eliminada permanentemente", - "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name}.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\nSi crees que esta decisión fue incorrecta, puedes presentar una apelación. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name}.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\nSi crees que esta decisión fue incorrecta, puedes presentar una apelación. {appeals_email, select, null {Comunícate con los administradores de esta instancia.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.}}\n\n– Equipo de seguridad de {product_name}" }, "self_deletion_scheduled": { "subject": "La eliminación de tu cuenta de {product_name} está programada", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/es-ES.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/es-ES.ts index 0c0f2bf1e..dcbbc641d 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/es-ES.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/es-ES.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_ES_ES_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Se ha cancelado la eliminación de tu cuenta de {product_name}", - "body": "Hola {username}:\n\nSe ha cancelado la eliminación programada de tu cuenta de {product_name}. Tu cuenta no se eliminará.\n\nSi tienes alguna pregunta, ponte en contacto con {safety_email}.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nSe ha cancelado la eliminación programada de tu cuenta de {product_name}. Tu cuenta no se eliminará.\n\n{safety_email, select, null {Si tienes alguna pregunta, ponte en contacto con los administradores de esta instancia.} other {Si tienes alguna pregunta, ponte en contacto con {safety_email}.}}\n\n– Equipo de {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Tu cuenta de {product_name} será eliminada debido a la inactividad", - "body": "Hola {username}:\n\nTu cuenta de {product_name} lleva mucho tiempo inactiva, por lo que su eliminación permanente está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nSi quieres conservar tu cuenta, ponte en contacto con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nTu cuenta de {product_name} lleva mucho tiempo inactiva, por lo que su eliminación permanente está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\n{safety_email, select, null {Si quieres conservar tu cuenta, ponte en contacto con los administradores de esta instancia antes de esa fecha.} other {Si quieres conservar tu cuenta, ponte en contacto con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.}}\n\n– Equipo de {product_name}" }, "account_deletion_scheduled_requested": { "subject": "La eliminación de tu cuenta de {product_name} está programada", - "body": "Hola {username}:\n\nTal y como solicitaste, la eliminación permanente de tu cuenta de {product_name} está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nTu cuenta permanecerá bloqueada hasta entonces. Si no solicitaste esto, o si quieres conservar tu cuenta, ponte en contacto con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nTal y como solicitaste, la eliminación permanente de tu cuenta de {product_name} está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nTu cuenta permanecerá bloqueada hasta entonces. {safety_email, select, null {Si no solicitaste esto, o si quieres conservar tu cuenta, ponte en contacto con los administradores de esta instancia antes de esa fecha.} other {Si no solicitaste esto, o si quieres conservar tu cuenta, ponte en contacto con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.}}\n\n– Equipo de {product_name}" }, "account_scheduled_deletion": { "subject": "Tu cuenta de {product_name} será eliminada permanentemente", - "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name} debido a infracciones de nuestras Condiciones del servicio o Normas de la comunidad.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\nPor favor, revisa:\n- Condiciones del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\nProceso de apelación:\nSi crees que esta decisión fue incorrecta o injustificada, tienes 60 días para presentar una apelación. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.\n\nEn tu apelación:\n- Explica claramente por qué crees que la decisión fue incorrecta o injustificada\n- Aporta las pruebas o el contexto que consideres relevantes\n\nUn miembro del Equipo de seguridad de {product_name} revisará tu apelación y podrá pausar la eliminación pendiente hasta que se haya tomado una decisión final.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name} debido a infracciones de nuestras Condiciones del servicio o Normas de la comunidad.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\n{legalLinks, select,\n both {Por favor, revisa:\n- Condiciones del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n terms {Por favor, revisa:\n- Condiciones del servicio: {termsUrl}\n\n}\n guidelines {Por favor, revisa:\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n other {}\n}Proceso de apelación:\nSi crees que esta decisión fue incorrecta o injustificada, tienes 60 días para presentar una apelación. {appeals_email, select, null {Ponte en contacto con los administradores de esta instancia.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.}}\n\nEn tu apelación:\n- Explica claramente por qué crees que la decisión fue incorrecta o injustificada\n- Aporta las pruebas o el contexto que consideres relevantes\n\nUn miembro del Equipo de seguridad de {product_name} revisará tu apelación y podrá pausar la eliminación pendiente hasta que se haya tomado una decisión final.\n\n– Equipo de seguridad de {product_name}" }, "account_temp_banned": { "subject": "Tu cuenta de {product_name} ha sido suspendida temporalmente", - "body": "Hola {username}:\n\nTu cuenta de {product_name} ha sido suspendida temporalmente por infringir nuestras Condiciones del servicio o Normas de la comunidad.\n\nDuración: {durationHours, plural,\n =1 {1 hora}\n other {# horas}\n}\nSuspendida hasta: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nDurante este tiempo, no podrás acceder a tu cuenta.\n\nPor favor, revisa:\n- Condiciones del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\nSi crees que esta decisión fue incorrecta o injustificada, puedes presentar una apelación. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico y explica claramente por qué crees que la decisión fue incorrecta. Revisaremos tu apelación y te responderemos con nuestra decisión.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nTu cuenta de {product_name} ha sido suspendida temporalmente por infringir nuestras Condiciones del servicio o Normas de la comunidad.\n\nDuración: {durationHours, plural,\n =1 {1 hora}\n other {# horas}\n}\nSuspendida hasta: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nDurante este tiempo, no podrás acceder a tu cuenta.\n\n{legalLinks, select,\n both {Por favor, revisa:\n- Condiciones del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n terms {Por favor, revisa:\n- Condiciones del servicio: {termsUrl}\n\n}\n guidelines {Por favor, revisa:\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n other {}\n}Si crees que esta decisión fue incorrecta o injustificada, puedes presentar una apelación. {appeals_email, select, null {Ponte en contacto con los administradores de esta instancia y explica claramente por qué crees que la decisión fue incorrecta.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico y explica claramente por qué crees que la decisión fue incorrecta.}} Revisaremos tu apelación y te responderemos con nuestra decisión.\n\n– Equipo de seguridad de {product_name}" }, "donation_confirmation": { "subject": "Gracias por tu donación a {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_ES_ES_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Hemos tomado una decisión sobre tu denuncia en {product_name}", - "body": "Hola:\n\nNuestro equipo de seguridad ha revisado tu denuncia conforme a la Ley de Servicios Digitales (ID: {reportId}) y ha tomado una decisión.{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nNo compartimos detalles sobre las medidas adoptadas contra la cuenta de otra persona, porque son sus datos personales.\n\nSi no estás de acuerdo con esta decisión, puedes presentar una apelación de forma gratuita en un plazo de 60 días. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico, incluye el ID de tu denuncia y explica por qué crees que la decisión es incorrecta. Si te encuentras en la UE, también puedes someter el litigio a un órgano certificado de resolución extrajudicial de litigios. Nada de esto afecta a tu derecho a acudir a los tribunales.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola:\n\nNuestro equipo de seguridad ha revisado tu denuncia conforme a la Ley de Servicios Digitales (ID: {reportId}) y ha tomado una decisión.{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nNo compartimos detalles sobre las medidas adoptadas contra la cuenta de otra persona, porque son sus datos personales.\n\nSi no estás de acuerdo con esta decisión, puedes presentar una apelación de forma gratuita en un plazo de 60 días. {appeals_email, select, null {Ponte en contacto con los administradores de esta instancia, incluye el ID de tu denuncia y explica por qué crees que la decisión es incorrecta.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico, incluye el ID de tu denuncia y explica por qué crees que la decisión es incorrecta.}} Si te encuentras en la UE, también puedes someter el litigio a un órgano certificado de resolución extrajudicial de litigios. Nada de esto afecta a tu derecho a acudir a los tribunales.\n\n– Equipo de seguridad de {product_name}" }, "dsa_report_verification": { "subject": "Verifica tu correo electrónico para enviar una denuncia conforme a la Ley de Servicios Digitales", @@ -57,15 +57,15 @@ const EMAIL_I18N_ES_ES_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Se han eliminado las ventajas obtenidas con tu regalo canjeado", - "body": "Hola {username}:\n\nUn código de regalo que canjeaste fue pagado originalmente por otra persona. Ese pago ha sido revertido (una devolución de cargo).\n\nDebido a esto, hemos eliminado las ventajas que se añadieron a tu cuenta cuando canjeaste el regalo.\n\nSi crees que esto es un error, ponte en contacto con nuestro equipo de soporte e incluye cualquier detalle que tengas sobre el código de regalo y cuándo lo canjeaste.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nUn código de regalo que canjeaste fue pagado originalmente por otra persona. Ese pago ha sido revertido (una devolución de cargo).\n\nDebido a esto, hemos eliminado las ventajas que se añadieron a tu cuenta cuando canjeaste el regalo.\n\n{support_email, select, null {Si crees que esto es un error, ponte en contacto con los administradores de esta instancia e incluye cualquier detalle que tengas sobre el código de regalo y cuándo lo canjeaste.} other {Si crees que esto es un error, ponte en contacto con nuestro equipo de soporte e incluye cualquier detalle que tengas sobre el código de regalo y cuándo lo canjeaste.}}\n\n– Equipo de {product_name}" }, "harvest_completed": { "subject": "Tu exportación de datos de {product_name} está lista para descargar", - "body": "Hola {username}:\n\nTu exportación de datos está lista.\n\nEnlace de descarga:\n{downloadUrl}\n\nMensajes incluidos: {totalMessages, number}\nTamaño del archivo: {fileSizeMB, number} MB\n\nEste enlace caduca el {expiresAt, date, full} a las {expiresAt, time, short}.\n\nSi no solicitaste esta exportación, cambia tu contraseña inmediatamente y ponte en contacto con nuestro equipo de soporte.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nTu exportación de datos está lista.\n\nEnlace de descarga:\n{downloadUrl}\n\nMensajes incluidos: {totalMessages, number}\nTamaño del archivo: {fileSizeMB, number} MB\n\nEste enlace caduca el {expiresAt, date, full} a las {expiresAt, time, short}.\n\n{support_email, select, null {Si no solicitaste esta exportación, cambia tu contraseña inmediatamente y ponte en contacto con los administradores de esta instancia.} other {Si no solicitaste esta exportación, cambia tu contraseña inmediatamente y ponte en contacto con nuestro equipo de soporte.}}\n\n– Equipo de {product_name}" }, "inactivity_warning": { "subject": "Tu cuenta de {product_name} será eliminada debido a la inactividad", - "body": "Hola {username}:\n\nNo hemos visto ninguna actividad en tu cuenta de {product_name} desde el {lastActiveDate, date, full}.\n\nSi no inicias sesión antes del {deletionDate, date, full} a las {deletionDate, time, short}, tu cuenta será eliminada permanentemente debido a la inactividad.\n\nInicia sesión aquí:\n{loginUrl}\n\nSi has usado {product_name} recientemente, ponte en contacto con nuestro equipo de soporte de inmediato.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nNo hemos visto ninguna actividad en tu cuenta de {product_name} desde el {lastActiveDate, date, full}.\n\nSi no inicias sesión antes del {deletionDate, date, full} a las {deletionDate, time, short}, tu cuenta será eliminada permanentemente debido a la inactividad.\n\nInicia sesión aquí:\n{loginUrl}\n\n{support_email, select, null {Si has usado {product_name} recientemente, ponte en contacto con los administradores de esta instancia de inmediato.} other {Si has usado {product_name} recientemente, ponte en contacto con nuestro equipo de soporte de inmediato.}}\n\n– Equipo de {product_name}" }, "ip_authorization": { "subject": "Autoriza el inicio de sesión desde una nueva dirección IP", @@ -93,11 +93,11 @@ const EMAIL_I18N_ES_ES_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Se ha revisado tu denuncia en {product_name}", - "body": "Hola {username}:\n\nNuestro equipo de seguridad ha revisado tu denuncia (ID: {reportId}).{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nGracias por ayudarnos a mantener {product_name} seguro para todos. Nos tomamos todas las denuncias en serio y agradecemos tu contribución a la comunidad.\n\nSi tienes alguna pregunta o inquietud sobre este resultado, ponte en contacto con {safety_email}.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nNuestro equipo de seguridad ha revisado tu denuncia (ID: {reportId}).{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nGracias por ayudarnos a mantener {product_name} seguro para todos. Nos tomamos todas las denuncias en serio y agradecemos tu contribución a la comunidad.\n\n{safety_email, select, null {Si tienes alguna pregunta o inquietud sobre este resultado, ponte en contacto con los administradores de esta instancia.} other {Si tienes alguna pregunta o inquietud sobre este resultado, ponte en contacto con {safety_email}.}}\n\n– Equipo de seguridad de {product_name}" }, "scheduled_deletion_notification": { "subject": "Tu cuenta de {product_name} será eliminada permanentemente", - "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name}.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\nSi crees que esta decisión fue incorrecta, puedes presentar una apelación. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name}.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\nSi crees que esta decisión fue incorrecta, puedes presentar una apelación. {appeals_email, select, null {Ponte en contacto con los administradores de esta instancia.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.}}\n\n– Equipo de seguridad de {product_name}" }, "self_deletion_scheduled": { "subject": "La eliminación de tu cuenta de {product_name} está programada", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/fi.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/fi.ts index 5ae47a24e..d5c0e61ce 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/fi.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/fi.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_FI_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "{product_name}-tilisi poistaminen on peruttu", - "body": "Hei {username},\n\n{product_name}-tilisi ajoitettu poisto on peruttu. Tiliäsi ei poisteta.\n\nJos sinulla on kysyttävää, ota yhteyttä osoitteeseen {safety_email}.\n\n– {product_name}-tiimi" + "body": "Hei {username},\n\n{product_name}-tilisi ajoitettu poisto on peruttu. Tiliäsi ei poisteta.\n\n{safety_email, select, null {Jos sinulla on kysyttävää, ota yhteyttä tämän instanssin ylläpitäjiin.} other {Jos sinulla on kysyttävää, ota yhteyttä osoitteeseen {safety_email}.}}\n\n– {product_name}-tiimi" }, "account_deletion_scheduled_inactivity": { "subject": "{product_name}-tilisi poistetaan käyttämättömyyden vuoksi", - "body": "Hei {username},\n\n{product_name}-tilisi on ollut pitkään käyttämättä, joten se on ajoitettu poistettavaksi pysyvästi:\n\n{deletionDate, date, full} klo {deletionDate, time, short}{reason, select, null {} other {\n\nSyy: {reason}}}\n\nJos haluat säilyttää tilisi, ota yhteyttä osoitteeseen {safety_email} tästä sähköpostiosoitteesta ennen tätä päivämäärää.\n\n– {product_name}-tiimi" + "body": "Hei {username},\n\n{product_name}-tilisi on ollut pitkään käyttämättä, joten se on ajoitettu poistettavaksi pysyvästi:\n\n{deletionDate, date, full} klo {deletionDate, time, short}{reason, select, null {} other {\n\nSyy: {reason}}}\n\n{safety_email, select, null {Jos haluat säilyttää tilisi, ota yhteyttä tämän instanssin ylläpitäjiin ennen tätä päivämäärää.} other {Jos haluat säilyttää tilisi, ota yhteyttä osoitteeseen {safety_email} tästä sähköpostiosoitteesta ennen tätä päivämäärää.}}\n\n– {product_name}-tiimi" }, "account_deletion_scheduled_requested": { "subject": "{product_name}-tilisi poistaminen on ajoitettu", - "body": "Hei {username},\n\nPyyntösi mukaisesti {product_name}-tilisi on ajoitettu poistettavaksi pysyvästi:\n\n{deletionDate, date, full} klo {deletionDate, time, short}{reason, select, null {} other {\n\nSyy: {reason}}}\n\nTilisi on lukittu siihen asti. Jos et pyytänyt tätä tai haluat säilyttää tilisi, ota yhteyttä osoitteeseen {safety_email} tästä sähköpostiosoitteesta ennen tätä päivämäärää.\n\n– {product_name}-tiimi" + "body": "Hei {username},\n\nPyyntösi mukaisesti {product_name}-tilisi on ajoitettu poistettavaksi pysyvästi:\n\n{deletionDate, date, full} klo {deletionDate, time, short}{reason, select, null {} other {\n\nSyy: {reason}}}\n\nTilisi on lukittu siihen asti. {safety_email, select, null {Jos et pyytänyt tätä tai haluat säilyttää tilisi, ota yhteyttä tämän instanssin ylläpitäjiin ennen tätä päivämäärää.} other {Jos et pyytänyt tätä tai haluat säilyttää tilisi, ota yhteyttä osoitteeseen {safety_email} tästä sähköpostiosoitteesta ennen tätä päivämäärää.}}\n\n– {product_name}-tiimi" }, "account_scheduled_deletion": { "subject": "Käyttäjätilisi {product_name}-palvelussa poistetaan pysyvästi", - "body": "Hei {username},\n\n{product_name}-käyttäjätilisi on ajoitettu poistettavaksi pysyvästi käyttöehtojemme tai yhteisösääntöjemme rikkomisen vuoksi.\n\nAjoitettu poisto: {deletionDate, date, full} klo {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Syy: {reason}}\n}\n\nTämä on vakava toimenpide. Tilisi tiedot poistetaan pysyvästi ajoitettuna päivänä.\n\nTutustu:\n- Käyttöehdot: {termsUrl}\n- Yhteisön säännöt: {guidelinesUrl}\n\nValitusprosessi:\nJos uskot, että tämä päätös oli virheellinen tai perusteeton, sinulla on 60 päivää aikaa tehdä valitus. Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta.\n\nValituksessasi:\n- Selitä selkeästi, miksi uskot päätöksen olleen virheellinen tai perusteeton\n- Liitä mukaan asiaankuuluvat todisteet tai taustatiedot\n\n{product_name}-turvallisuustiimin jäsen käsittelee valituksesi ja voi keskeyttää vireillä olevan poiston, kunnes lopullinen päätös on tehty.\n\n– {product_name}-turvallisuustiimi" + "body": "Hei {username},\n\n{product_name}-käyttäjätilisi on ajoitettu poistettavaksi pysyvästi käyttöehtojemme tai yhteisösääntöjemme rikkomisen vuoksi.\n\nAjoitettu poisto: {deletionDate, date, full} klo {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Syy: {reason}}\n}\n\nTämä on vakava toimenpide. Tilisi tiedot poistetaan pysyvästi ajoitettuna päivänä.\n\n{legalLinks, select,\n both {Tutustu:\n- Käyttöehdot: {termsUrl}\n- Yhteisön säännöt: {guidelinesUrl}\n\n}\n terms {Tutustu:\n- Käyttöehdot: {termsUrl}\n\n}\n guidelines {Tutustu:\n- Yhteisön säännöt: {guidelinesUrl}\n\n}\n other {}\n}Valitusprosessi:\nJos uskot, että tämä päätös oli virheellinen tai perusteeton, sinulla on 60 päivää aikaa tehdä valitus. {appeals_email, select, null {Ota yhteyttä tämän instanssin ylläpitäjiin.} other {Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta.}}\n\nValituksessasi:\n- Selitä selkeästi, miksi uskot päätöksen olleen virheellinen tai perusteeton\n- Liitä mukaan asiaankuuluvat todisteet tai taustatiedot\n\n{product_name}-turvallisuustiimin jäsen käsittelee valituksesi ja voi keskeyttää vireillä olevan poiston, kunnes lopullinen päätös on tehty.\n\n– {product_name}-turvallisuustiimi" }, "account_temp_banned": { "subject": "Käyttäjätilisi {product_name}-palvelussa on tilapäisesti jäädytetty", - "body": "Hei {username},\n\n{product_name}-käyttäjätilisi on jäädytetty tilapäisesti käyttöehtojemme tai yhteisösääntöjemme rikkomisen vuoksi.\n\nKesto: {durationHours, plural,\n =1 {1 tunti}\n other {# tuntia}\n}\nJäädytettynä {bannedUntil, date, full} klo {bannedUntil, time, short} asti\n\n{reason, select,\n null {}\n other {Syy: {reason}}\n}\n\nTänä aikana et voi käyttää tiliäsi.\n\nTutustu:\n- Käyttöehdot: {termsUrl}\n- Yhteisön säännöt: {guidelinesUrl}\n\nJos uskot, että tämä päätös oli virheellinen tai perusteeton, voit tehdä valituksen. Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta ja selitä selkeästi, miksi uskot päätöksen olleen virheellinen. Käsittelemme valituksesi ja ilmoitamme sinulle päätöksemme.\n\n– {product_name}-turvallisuustiimi" + "body": "Hei {username},\n\n{product_name}-käyttäjätilisi on jäädytetty tilapäisesti käyttöehtojemme tai yhteisösääntöjemme rikkomisen vuoksi.\n\nKesto: {durationHours, plural,\n =1 {1 tunti}\n other {# tuntia}\n}\nJäädytettynä {bannedUntil, date, full} klo {bannedUntil, time, short} asti\n\n{reason, select,\n null {}\n other {Syy: {reason}}\n}\n\nTänä aikana et voi käyttää tiliäsi.\n\n{legalLinks, select,\n both {Tutustu:\n- Käyttöehdot: {termsUrl}\n- Yhteisön säännöt: {guidelinesUrl}\n\n}\n terms {Tutustu:\n- Käyttöehdot: {termsUrl}\n\n}\n guidelines {Tutustu:\n- Yhteisön säännöt: {guidelinesUrl}\n\n}\n other {}\n}Jos uskot, että tämä päätös oli virheellinen tai perusteeton, voit tehdä valituksen. {appeals_email, select, null {Ota yhteyttä tämän instanssin ylläpitäjiin ja selitä selkeästi, miksi uskot päätöksen olleen virheellinen.} other {Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta ja selitä selkeästi, miksi uskot päätöksen olleen virheellinen.}} Käsittelemme valituksesi ja ilmoitamme sinulle päätöksemme.\n\n– {product_name}-turvallisuustiimi" }, "donation_confirmation": { "subject": "Kiitos {product_name}-lahjoituksestasi", @@ -33,7 +33,7 @@ const EMAIL_I18N_FI_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Teimme päätöksen {product_name}-ilmoituksestasi", - "body": "Hei,\n\nTurvallisuustiimimme on käsitellyt digipalvelusäädöksen mukaisen ilmoituksesi (ID: {reportId}) ja tehnyt päätöksen.{hasComment, select, yes {\n\nTurvallisuustiimin vastaus:\n{publicComment}} other {}}\n\nEmme kerro toisen henkilön tiliin kohdistuneista toimista, koska ne ovat hänen henkilötietojaan.\n\nJos olet eri mieltä päätöksestä, voit valittaa siitä maksutta 60 päivän kuluessa. Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta, kerro ilmoituksesi tunnus ja selitä, miksi pidät päätöstä virheellisenä. Jos olet EU:ssa, voit myös viedä riidan sertifioidun tuomioistuimen ulkopuolisen riidanratkaisuelimen käsiteltäväksi. Mikään tästä ei vaikuta oikeuteesi viedä asia tuomioistuimeen.\n\n– {product_name}-turvallisuustiimi" + "body": "Hei,\n\nTurvallisuustiimimme on käsitellyt digipalvelusäädöksen mukaisen ilmoituksesi (ID: {reportId}) ja tehnyt päätöksen.{hasComment, select, yes {\n\nTurvallisuustiimin vastaus:\n{publicComment}} other {}}\n\nEmme kerro toisen henkilön tiliin kohdistuneista toimista, koska ne ovat hänen henkilötietojaan.\n\nJos olet eri mieltä päätöksestä, voit valittaa siitä maksutta 60 päivän kuluessa. {appeals_email, select, null {Ota yhteyttä tämän instanssin ylläpitäjiin, kerro ilmoituksesi tunnus ja selitä, miksi pidät päätöstä virheellisenä.} other {Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta, kerro ilmoituksesi tunnus ja selitä, miksi pidät päätöstä virheellisenä.}} Jos olet EU:ssa, voit myös viedä riidan sertifioidun tuomioistuimen ulkopuolisen riidanratkaisuelimen käsiteltäväksi. Mikään tästä ei vaikuta oikeuteesi viedä asia tuomioistuimeen.\n\n– {product_name}-turvallisuustiimi" }, "dsa_report_verification": { "subject": "Vahvista sähköpostiosoitteesi DSA-ilmoitusta varten", @@ -57,15 +57,15 @@ const EMAIL_I18N_FI_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Lunastamasi lahjan edut on poistettu", - "body": "Hei {username},\n\nLunastamasi lahjakoodin oli alun perin maksanut joku muu. Kyseinen maksu on sittemmin peruutettu (takaisinperintä).\n\nTämän vuoksi olemme poistaneet edut, jotka lisättiin tilillesi, kun lunastit lahjan.\n\nJos uskot tämän olevan virhe, ota yhteyttä tukitiimiimme ja liitä mukaan kaikki tiedot lahjakoodista ja sen lunastusajankohdasta.\n\n– {product_name}-tiimi" + "body": "Hei {username},\n\nLunastamasi lahjakoodin oli alun perin maksanut joku muu. Kyseinen maksu on sittemmin peruutettu (takaisinperintä).\n\nTämän vuoksi olemme poistaneet edut, jotka lisättiin tilillesi, kun lunastit lahjan.\n\n{support_email, select, null {Jos uskot tämän olevan virhe, ota yhteyttä tämän instanssin ylläpitäjiin ja liitä mukaan kaikki tiedot lahjakoodista ja sen lunastusajankohdasta.} other {Jos uskot tämän olevan virhe, ota yhteyttä tukitiimiimme ja liitä mukaan kaikki tiedot lahjakoodista ja sen lunastusajankohdasta.}}\n\n– {product_name}-tiimi" }, "harvest_completed": { "subject": "{product_name}-tietojesi vienti on ladattavissa", - "body": "Hei {username},\n\nTietojesi vienti on valmis.\n\nLatauslinkki:\n{downloadUrl}\n\nMukana olevat viestit: {totalMessages, number}\nTiedoston koko: {fileSizeMB, number} MB\n\nTämä linkki vanhenee {expiresAt, date, full} klo {expiresAt, time, short}.\n\nJos et pyytänyt tätä vientiä, vaihda salasanasi välittömästi ja ota yhteyttä tukitiimiimme.\n\n– {product_name}-tiimi" + "body": "Hei {username},\n\nTietojesi vienti on valmis.\n\nLatauslinkki:\n{downloadUrl}\n\nMukana olevat viestit: {totalMessages, number}\nTiedoston koko: {fileSizeMB, number} MB\n\nTämä linkki vanhenee {expiresAt, date, full} klo {expiresAt, time, short}.\n\n{support_email, select, null {Jos et pyytänyt tätä vientiä, vaihda salasanasi välittömästi ja ota yhteyttä tämän instanssin ylläpitäjiin.} other {Jos et pyytänyt tätä vientiä, vaihda salasanasi välittömästi ja ota yhteyttä tukitiimiimme.}}\n\n– {product_name}-tiimi" }, "inactivity_warning": { "subject": "{product_name}-tilisi poistetaan käyttämättömyyden vuoksi", - "body": "Hei {username},\n\nEmme ole havainneet toimintaa {product_name}-tililläsi {lastActiveDate, date, full} jälkeen.\n\nJos et kirjaudu sisään {deletionDate, date, full} klo {deletionDate, time, short} mennessä, tilisi poistetaan pysyvästi passiivisuuden vuoksi.\n\nKirjaudu sisään täältä:\n{loginUrl}\n\nJos olet käyttänyt {product_name}-palvelua äskettäin, ota yhteyttä tukitiimiimme välittömästi.\n\n– {product_name}-tiimi" + "body": "Hei {username},\n\nEmme ole havainneet toimintaa {product_name}-tililläsi {lastActiveDate, date, full} jälkeen.\n\nJos et kirjaudu sisään {deletionDate, date, full} klo {deletionDate, time, short} mennessä, tilisi poistetaan pysyvästi passiivisuuden vuoksi.\n\nKirjaudu sisään täältä:\n{loginUrl}\n\n{support_email, select, null {Jos olet käyttänyt {product_name}-palvelua äskettäin, ota yhteyttä tämän instanssin ylläpitäjiin välittömästi.} other {Jos olet käyttänyt {product_name}-palvelua äskettäin, ota yhteyttä tukitiimiimme välittömästi.}}\n\n– {product_name}-tiimi" }, "ip_authorization": { "subject": "Hyväksy kirjautuminen uudesta IP-osoitteesta", @@ -93,11 +93,11 @@ const EMAIL_I18N_FI_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "{product_name}-ilmoituksesi on käsitelty", - "body": "Hei {username},\n\nTurvallisuustiimimme on käsitellyt ilmoituksesi (ID: {reportId}).{hasComment, select, yes {\n\nTurvallisuustiimin vastaus:\n{publicComment}} other {}}\n\nKiitos, että autat pitämään {product_name}-palvelun turvallisena kaikille. Otamme kaikki ilmoitukset vakavasti ja arvostamme panostasi yhteisöön.\n\nJos sinulla on kysyttävää tai huolenaiheita tästä päätöksestä, ota yhteyttä osoitteeseen {safety_email}.\n\n– {product_name}-turvallisuustiimi" + "body": "Hei {username},\n\nTurvallisuustiimimme on käsitellyt ilmoituksesi (ID: {reportId}).{hasComment, select, yes {\n\nTurvallisuustiimin vastaus:\n{publicComment}} other {}}\n\nKiitos, että autat pitämään {product_name}-palvelun turvallisena kaikille. Otamme kaikki ilmoitukset vakavasti ja arvostamme panostasi yhteisöön.\n\n{safety_email, select, null {Jos sinulla on kysyttävää tai huolenaiheita tästä päätöksestä, ota yhteyttä tämän instanssin ylläpitäjiin.} other {Jos sinulla on kysyttävää tai huolenaiheita tästä päätöksestä, ota yhteyttä osoitteeseen {safety_email}.}}\n\n– {product_name}-turvallisuustiimi" }, "scheduled_deletion_notification": { "subject": "Käyttäjätilisi {product_name}-palvelussa poistetaan pysyvästi", - "body": "Hei {username},\n\n{product_name}-tilisi on ajoitettu poistettavaksi pysyvästi.\n\nAjoitettu poisto: {deletionDate, date, full} klo {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Syy: {reason}}\n}\n\nTämä on vakava toimenpide. Tilisi tiedot poistetaan pysyvästi ajoitettuna päivänä.\n\nJos uskot, että tämä päätös oli virheellinen, voit tehdä valituksen. Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta.\n\n– {product_name}-turvallisuustiimi" + "body": "Hei {username},\n\n{product_name}-tilisi on ajoitettu poistettavaksi pysyvästi.\n\nAjoitettu poisto: {deletionDate, date, full} klo {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Syy: {reason}}\n}\n\nTämä on vakava toimenpide. Tilisi tiedot poistetaan pysyvästi ajoitettuna päivänä.\n\nJos uskot, että tämä päätös oli virheellinen, voit tehdä valituksen. {appeals_email, select, null {Ota yhteyttä tämän instanssin ylläpitäjiin.} other {Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta.}}\n\n– {product_name}-turvallisuustiimi" }, "self_deletion_scheduled": { "subject": "{product_name}-tilisi poistaminen on ajoitettu", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/fr.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/fr.ts index 9693d7654..761001488 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/fr.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/fr.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_FR_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "La suppression de votre compte {product_name} a été annulée", - "body": "Bonjour {username},\n\nLa suppression programmée de votre compte {product_name} a été annulée. Votre compte ne sera pas supprimé.\n\nPour toute question, contactez {safety_email}.\n\n– L’équipe {product_name}" + "body": "Bonjour {username},\n\nLa suppression programmée de votre compte {product_name} a été annulée. Votre compte ne sera pas supprimé.\n\n{safety_email, select, null {Pour toute question, contactez les administrateurs de cette instance.} other {Pour toute question, contactez {safety_email}.}}\n\n– L’équipe {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Votre compte {product_name} sera supprimé pour inactivité", - "body": "Bonjour {username},\n\nVotre compte {product_name} est inactif depuis longtemps. Sa suppression définitive est donc prévue le :\n\n{deletionDate, date, full} à {deletionDate, time, short}{reason, select, null {} other {\n\nMotif : {reason}}}\n\nSi vous souhaitez conserver votre compte, contactez {safety_email} depuis cette adresse e-mail avant cette date.\n\n– L’équipe {product_name}" + "body": "Bonjour {username},\n\nVotre compte {product_name} est inactif depuis longtemps. Sa suppression définitive est donc prévue le :\n\n{deletionDate, date, full} à {deletionDate, time, short}{reason, select, null {} other {\n\nMotif : {reason}}}\n\n{safety_email, select, null {Si vous souhaitez conserver votre compte, contactez les administrateurs de cette instance avant cette date.} other {Si vous souhaitez conserver votre compte, contactez {safety_email} depuis cette adresse e-mail avant cette date.}}\n\n– L’équipe {product_name}" }, "account_deletion_scheduled_requested": { "subject": "La suppression de votre compte {product_name} est programmée", - "body": "Bonjour {username},\n\nComme vous l’avez demandé, la suppression définitive de votre compte {product_name} est prévue le :\n\n{deletionDate, date, full} à {deletionDate, time, short}{reason, select, null {} other {\n\nMotif : {reason}}}\n\nVotre compte est verrouillé d’ici là. Si vous n’êtes pas à l’origine de cette demande, ou si vous souhaitez conserver votre compte, contactez {safety_email} depuis cette adresse e-mail avant cette date.\n\n– L’équipe {product_name}" + "body": "Bonjour {username},\n\nComme vous l’avez demandé, la suppression définitive de votre compte {product_name} est prévue le :\n\n{deletionDate, date, full} à {deletionDate, time, short}{reason, select, null {} other {\n\nMotif : {reason}}}\n\nVotre compte est verrouillé d’ici là. {safety_email, select, null {Si vous n’êtes pas à l’origine de cette demande, ou si vous souhaitez conserver votre compte, contactez les administrateurs de cette instance avant cette date.} other {Si vous n’êtes pas à l’origine de cette demande, ou si vous souhaitez conserver votre compte, contactez {safety_email} depuis cette adresse e-mail avant cette date.}}\n\n– L’équipe {product_name}" }, "account_scheduled_deletion": { "subject": "Votre compte {product_name} sera définitivement supprimé", - "body": "Bonjour {username},\n\nLa suppression définitive de votre compte {product_name} a été programmée en raison de violations de nos conditions d’utilisation ou des règles de la communauté.\n\nSuppression prévue : {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select, null {} other {Motif : {reason}}}\n\nIl s’agit d’une sanction importante. Les données de votre compte seront définitivement supprimées à la date prévue.\n\nVeuillez consulter :\n- Conditions d’utilisation : {termsUrl}\n- Règles de la communauté : {guidelinesUrl}\n\nProcédure de recours :\nSi vous estimez que cette décision est incorrecte ou injustifiée, vous disposez de 60 jours pour déposer un recours. Écrivez à {appeals_email} depuis cette adresse e-mail.\n\nDans votre recours :\n- Expliquez clairement pourquoi vous estimez la décision incorrecte ou injustifiée\n- Fournissez tout élément de preuve ou de contexte pertinent\n\nUn membre de l’équipe de sécurité de {product_name} examinera votre recours et pourra suspendre la suppression prévue jusqu’à la décision finale.\n\n– L’équipe de sécurité de {product_name}" + "body": "Bonjour {username},\n\nLa suppression définitive de votre compte {product_name} a été programmée en raison de violations de nos conditions d’utilisation ou des règles de la communauté.\n\nSuppression prévue : {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select, null {} other {Motif : {reason}}}\n\nIl s’agit d’une sanction importante. Les données de votre compte seront définitivement supprimées à la date prévue.\n\n{legalLinks, select,\n both {Veuillez consulter :\n- Conditions d’utilisation : {termsUrl}\n- Règles de la communauté : {guidelinesUrl}\n\n}\n terms {Veuillez consulter :\n- Conditions d’utilisation : {termsUrl}\n\n}\n guidelines {Veuillez consulter :\n- Règles de la communauté : {guidelinesUrl}\n\n}\n other {}\n}Procédure de recours :\nSi vous estimez que cette décision est incorrecte ou injustifiée, vous disposez de 60 jours pour déposer un recours. {appeals_email, select, null {Contactez les administrateurs de cette instance.} other {Écrivez à {appeals_email} depuis cette adresse e-mail.}}\n\nDans votre recours :\n- Expliquez clairement pourquoi vous estimez la décision incorrecte ou injustifiée\n- Fournissez tout élément de preuve ou de contexte pertinent\n\nUn membre de l’équipe de sécurité de {product_name} examinera votre recours et pourra suspendre la suppression prévue jusqu’à la décision finale.\n\n– L’équipe de sécurité de {product_name}" }, "account_temp_banned": { "subject": "Votre compte {product_name} a été temporairement suspendu", - "body": "Bonjour {username},\n\nVotre compte {product_name} a été temporairement suspendu pour violation de nos conditions d’utilisation ou des règles de la communauté.\n\nDurée : {durationHours, plural, =1 {1 heure} other {# heures}}\nSuspension jusqu’au : {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select, null {} other {Motif : {reason}}}\n\nVous ne pourrez pas accéder à votre compte pendant cette période.\n\nVeuillez consulter :\n- Conditions d’utilisation : {termsUrl}\n- Règles de la communauté : {guidelinesUrl}\n\nSi vous estimez que cette décision est incorrecte ou injustifiée, vous pouvez déposer un recours. Écrivez à {appeals_email} depuis cette adresse e-mail et expliquez clairement pourquoi vous contestez cette décision. Nous examinerons votre recours et vous communiquerons notre décision.\n\n– L’équipe de sécurité de {product_name}" + "body": "Bonjour {username},\n\nVotre compte {product_name} a été temporairement suspendu pour violation de nos conditions d’utilisation ou des règles de la communauté.\n\nDurée : {durationHours, plural, =1 {1 heure} other {# heures}}\nSuspension jusqu’au : {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select, null {} other {Motif : {reason}}}\n\nVous ne pourrez pas accéder à votre compte pendant cette période.\n\n{legalLinks, select,\n both {Veuillez consulter :\n- Conditions d’utilisation : {termsUrl}\n- Règles de la communauté : {guidelinesUrl}\n\n}\n terms {Veuillez consulter :\n- Conditions d’utilisation : {termsUrl}\n\n}\n guidelines {Veuillez consulter :\n- Règles de la communauté : {guidelinesUrl}\n\n}\n other {}\n}Si vous estimez que cette décision est incorrecte ou injustifiée, vous pouvez déposer un recours. {appeals_email, select, null {Contactez les administrateurs de cette instance et expliquez clairement pourquoi vous contestez cette décision.} other {Écrivez à {appeals_email} depuis cette adresse e-mail et expliquez clairement pourquoi vous contestez cette décision.}} Nous examinerons votre recours et vous communiquerons notre décision.\n\n– L’équipe de sécurité de {product_name}" }, "donation_confirmation": { "subject": "Merci pour votre don à {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_FR_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Nous avons pris une décision concernant votre signalement sur {product_name}", - "body": "Bonjour,\n\nNotre équipe de sécurité a examiné votre signalement au titre du règlement sur les services numériques (ID : {reportId}) et a pris une décision.{hasComment, select, yes {\n\nRéponse de l’équipe de sécurité :\n{publicComment}} other {}}\n\nNous ne communiquons pas le détail des mesures prises à l’encontre du compte d’une autre personne, car il s’agit de ses données personnelles.\n\nSi vous n’êtes pas d’accord avec cette décision, vous pouvez déposer un recours gratuitement dans un délai de 60 jours. Écrivez à {appeals_email} depuis cette adresse e-mail, indiquez l’ID de votre signalement et expliquez pourquoi vous estimez que la décision est incorrecte. Si vous êtes dans l’UE, vous pouvez également soumettre le litige à un organe certifié de règlement extrajudiciaire des litiges. Rien de tout cela n’affecte votre droit de saisir un tribunal.\n\n– L’équipe de sécurité de {product_name}" + "body": "Bonjour,\n\nNotre équipe de sécurité a examiné votre signalement au titre du règlement sur les services numériques (ID : {reportId}) et a pris une décision.{hasComment, select, yes {\n\nRéponse de l’équipe de sécurité :\n{publicComment}} other {}}\n\nNous ne communiquons pas le détail des mesures prises à l’encontre du compte d’une autre personne, car il s’agit de ses données personnelles.\n\nSi vous n’êtes pas d’accord avec cette décision, vous pouvez déposer un recours gratuitement dans un délai de 60 jours. {appeals_email, select, null {Contactez les administrateurs de cette instance, indiquez l’ID de votre signalement et expliquez pourquoi vous estimez que la décision est incorrecte.} other {Écrivez à {appeals_email} depuis cette adresse e-mail, indiquez l’ID de votre signalement et expliquez pourquoi vous estimez que la décision est incorrecte.}} Si vous êtes dans l’UE, vous pouvez également soumettre le litige à un organe certifié de règlement extrajudiciaire des litiges. Rien de tout cela n’affecte votre droit de saisir un tribunal.\n\n– L’équipe de sécurité de {product_name}" }, "dsa_report_verification": { "subject": "Vérifiez votre e-mail pour un signalement DSA", @@ -57,15 +57,15 @@ const EMAIL_I18N_FR_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Les avantages de votre cadeau activé ont été retirés", - "body": "Bonjour {username},\n\nUn code cadeau que vous avez utilisé avait été payé par une autre personne. Ce paiement a depuis été annulé à la suite d’une contestation bancaire.\n\nNous avons donc retiré les avantages ajoutés à votre compte lors de l’activation du cadeau.\n\nSi vous pensez qu’il s’agit d’une erreur, contactez notre équipe d’assistance et indiquez les informations dont vous disposez sur le code cadeau et sa date d’utilisation.\n\n– L’équipe {product_name}" + "body": "Bonjour {username},\n\nUn code cadeau que vous avez utilisé avait été payé par une autre personne. Ce paiement a depuis été annulé à la suite d’une contestation bancaire.\n\nNous avons donc retiré les avantages ajoutés à votre compte lors de l’activation du cadeau.\n\n{support_email, select, null {Si vous pensez qu’il s’agit d’une erreur, contactez les administrateurs de cette instance et indiquez les informations dont vous disposez sur le code cadeau et sa date d’utilisation.} other {Si vous pensez qu’il s’agit d’une erreur, contactez notre équipe d’assistance et indiquez les informations dont vous disposez sur le code cadeau et sa date d’utilisation.}}\n\n– L’équipe {product_name}" }, "harvest_completed": { "subject": "Votre export de données {product_name} est prêt à être téléchargé", - "body": "Bonjour {username},\n\nVotre export de données est prêt.\n\nLien de téléchargement :\n{downloadUrl}\n\nMessages inclus : {totalMessages, number}\nTaille du fichier : {fileSizeMB, number} Mo\n\nCe lien expire le {expiresAt, date, full} à {expiresAt, time, short}.\n\nSi vous n’avez pas demandé cet export, changez immédiatement votre mot de passe et contactez notre équipe d’assistance.\n\n– L’équipe {product_name}" + "body": "Bonjour {username},\n\nVotre export de données est prêt.\n\nLien de téléchargement :\n{downloadUrl}\n\nMessages inclus : {totalMessages, number}\nTaille du fichier : {fileSizeMB, number} Mo\n\nCe lien expire le {expiresAt, date, full} à {expiresAt, time, short}.\n\n{support_email, select, null {Si vous n’avez pas demandé cet export, changez immédiatement votre mot de passe et contactez les administrateurs de cette instance.} other {Si vous n’avez pas demandé cet export, changez immédiatement votre mot de passe et contactez notre équipe d’assistance.}}\n\n– L’équipe {product_name}" }, "inactivity_warning": { "subject": "Votre compte {product_name} sera supprimé pour inactivité", - "body": "Bonjour {username},\n\nNous n’avons détecté aucune activité sur votre compte {product_name} depuis le {lastActiveDate, date, full}.\n\nSi vous ne vous connectez pas avant le {deletionDate, date, full} à {deletionDate, time, short}, votre compte sera définitivement supprimé pour inactivité.\n\nConnectez-vous ici :\n{loginUrl}\n\nSi vous avez utilisé {product_name} récemment, contactez immédiatement notre équipe d’assistance.\n\n– L’équipe {product_name}" + "body": "Bonjour {username},\n\nNous n’avons détecté aucune activité sur votre compte {product_name} depuis le {lastActiveDate, date, full}.\n\nSi vous ne vous connectez pas avant le {deletionDate, date, full} à {deletionDate, time, short}, votre compte sera définitivement supprimé pour inactivité.\n\nConnectez-vous ici :\n{loginUrl}\n\n{support_email, select, null {Si vous avez utilisé {product_name} récemment, contactez immédiatement les administrateurs de cette instance.} other {Si vous avez utilisé {product_name} récemment, contactez immédiatement notre équipe d’assistance.}}\n\n– L’équipe {product_name}" }, "ip_authorization": { "subject": "Autoriser la connexion depuis une nouvelle adresse IP", @@ -93,11 +93,11 @@ const EMAIL_I18N_FR_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Votre signalement sur {product_name} a été examiné", - "body": "Bonjour {username},\n\nVotre signalement (ID : {reportId}) a été examiné par notre équipe de sécurité.{hasComment, select, yes {\n\nRéponse de l’équipe de sécurité :\n{publicComment}} other {}}\n\nMerci de nous aider à préserver la sécurité de {product_name} pour tous. Nous prenons tous les signalements au sérieux et apprécions votre contribution à la communauté.\n\nPour toute question ou préoccupation concernant cette décision, contactez {safety_email}.\n\n– L’équipe de sécurité de {product_name}" + "body": "Bonjour {username},\n\nVotre signalement (ID : {reportId}) a été examiné par notre équipe de sécurité.{hasComment, select, yes {\n\nRéponse de l’équipe de sécurité :\n{publicComment}} other {}}\n\nMerci de nous aider à préserver la sécurité de {product_name} pour tous. Nous prenons tous les signalements au sérieux et apprécions votre contribution à la communauté.\n\n{safety_email, select, null {Pour toute question ou préoccupation concernant cette décision, contactez les administrateurs de cette instance.} other {Pour toute question ou préoccupation concernant cette décision, contactez {safety_email}.}}\n\n– L’équipe de sécurité de {product_name}" }, "scheduled_deletion_notification": { "subject": "Votre compte {product_name} sera définitivement supprimé", - "body": "Bonjour {username},\n\nLa suppression définitive de votre compte {product_name} a été programmée.\n\nSuppression prévue : {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select, null {} other {Motif : {reason}}}\n\nIl s’agit d’une sanction importante. Les données de votre compte seront définitivement supprimées à la date prévue.\n\nSi vous estimez que cette décision est incorrecte, vous pouvez déposer un recours. Écrivez à {appeals_email} depuis cette adresse e-mail.\n\n– L’équipe de sécurité de {product_name}" + "body": "Bonjour {username},\n\nLa suppression définitive de votre compte {product_name} a été programmée.\n\nSuppression prévue : {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select, null {} other {Motif : {reason}}}\n\nIl s’agit d’une sanction importante. Les données de votre compte seront définitivement supprimées à la date prévue.\n\nSi vous estimez que cette décision est incorrecte, vous pouvez déposer un recours. {appeals_email, select, null {Contactez les administrateurs de cette instance.} other {Écrivez à {appeals_email} depuis cette adresse e-mail.}}\n\n– L’équipe de sécurité de {product_name}" }, "self_deletion_scheduled": { "subject": "La suppression de votre compte {product_name} est programmée", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/he.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/he.ts index 7f96263e8..1a1025af9 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/he.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/he.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_HE_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "מחיקת חשבון ה-{product_name} שלכם בוטלה", - "body": "שלום {username},\n\nהמחיקה המתוזמנת של חשבון ה-{product_name} שלכם בוטלה. החשבון שלכם לא יימחק.\n\nאם יש לכם שאלות, צרו קשר עם {safety_email}.\n\nצוות {product_name}" + "body": "שלום {username},\n\nהמחיקה המתוזמנת של חשבון ה-{product_name} שלכם בוטלה. החשבון שלכם לא יימחק.\n\n{safety_email, select, null {אם יש לכם שאלות, צרו קשר עם מנהלי המערכת של המופע הזה.} other {אם יש לכם שאלות, צרו קשר עם {safety_email}.}}\n\nצוות {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "חשבון ה-{product_name} שלכם יימחק עקב חוסר פעילות", - "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם לא היה פעיל זמן רב, ולכן הוא מתוכנן להימחק לצמיתות בתאריך:\n\n{deletionDate, date, full} בשעה {deletionDate, time, short}{reason, select, null {} other {\n\nסיבה: {reason}}}\n\nאם ברצונכם לשמור על החשבון, צרו קשר עם {safety_email} מכתובת האימייל הזו לפני תאריך זה.\n\nצוות {product_name}" + "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם לא היה פעיל זמן רב, ולכן הוא מתוכנן להימחק לצמיתות בתאריך:\n\n{deletionDate, date, full} בשעה {deletionDate, time, short}{reason, select, null {} other {\n\nסיבה: {reason}}}\n\n{safety_email, select, null {אם ברצונכם לשמור על החשבון, צרו קשר עם מנהלי המערכת של המופע הזה לפני תאריך זה.} other {אם ברצונכם לשמור על החשבון, צרו קשר עם {safety_email} מכתובת האימייל הזו לפני תאריך זה.}}\n\nצוות {product_name}" }, "account_deletion_scheduled_requested": { "subject": "מחיקת חשבון ה-{product_name} שלכם מתוזמנת", - "body": "שלום {username},\n\nבהתאם לבקשתכם, חשבון ה-{product_name} שלכם מתוכנן להימחק לצמיתות בתאריך:\n\n{deletionDate, date, full} בשעה {deletionDate, time, short}{reason, select, null {} other {\n\nסיבה: {reason}}}\n\nעד אז החשבון שלכם נעול. אם לא ביקשתם זאת, או שברצונכם לשמור על החשבון, צרו קשר עם {safety_email} מכתובת האימייל הזו לפני תאריך זה.\n\nצוות {product_name}" + "body": "שלום {username},\n\nבהתאם לבקשתכם, חשבון ה-{product_name} שלכם מתוכנן להימחק לצמיתות בתאריך:\n\n{deletionDate, date, full} בשעה {deletionDate, time, short}{reason, select, null {} other {\n\nסיבה: {reason}}}\n\nעד אז החשבון שלכם נעול. {safety_email, select, null {אם לא ביקשתם זאת, או שברצונכם לשמור על החשבון, צרו קשר עם מנהלי המערכת של המופע הזה לפני תאריך זה.} other {אם לא ביקשתם זאת, או שברצונכם לשמור על החשבון, צרו קשר עם {safety_email} מכתובת האימייל הזו לפני תאריך זה.}}\n\nצוות {product_name}" }, "account_scheduled_deletion": { "subject": "חשבון ה-{product_name} שלכם יימחק לצמיתות", - "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם נקבע למחיקה לצמיתות עקב הפרות של תנאי השירות או הנחיות הקהילה שלנו.\n\nמחיקה מתוזמנת: {deletionDate, date, full} בשעה {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {סיבה: {reason}}\n}\n\nזוהי פעולת אכיפה חמורה. נתוני החשבון שלכם יימחקו לצמיתות בתאריך המתוכנן.\n\nאנא עיינו במסמכים הבאים:\n- תנאי השירות: {termsUrl}\n- הנחיות הקהילה: {guidelinesUrl}\n\nתהליך ערעור:\nאם אתם חושבים שהחלטת האכיפה שגויה או בלתי מוצדקת, יש לכם 60 יום להגיש ערעור. שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו.\n\nבערעור:\n- הסבירו בבירור מדוע לדעתכם החלטת האכיפה שגויה או בלתי מוצדקת\n- צרפו כל ראיה או הקשר רלוונטיים\n\nחבר בצוות הבטיחות של {product_name} יבדוק את הערעור שלכם ועשוי להשהות את המחיקה הממתינה עד לקבלת החלטה סופית.\n\nצוות הבטיחות של {product_name}" + "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם נקבע למחיקה לצמיתות עקב הפרות של תנאי השירות או הנחיות הקהילה שלנו.\n\nמחיקה מתוזמנת: {deletionDate, date, full} בשעה {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {סיבה: {reason}}\n}\n\nזוהי פעולת אכיפה חמורה. נתוני החשבון שלכם יימחקו לצמיתות בתאריך המתוכנן.\n\n{legalLinks, select,\n both {אנא עיינו במסמכים הבאים:\n- תנאי השירות: {termsUrl}\n- הנחיות הקהילה: {guidelinesUrl}\n\n}\n terms {אנא עיינו במסמכים הבאים:\n- תנאי השירות: {termsUrl}\n\n}\n guidelines {אנא עיינו במסמכים הבאים:\n- הנחיות הקהילה: {guidelinesUrl}\n\n}\n other {}\n}תהליך ערעור:\nאם אתם חושבים שהחלטת האכיפה שגויה או בלתי מוצדקת, יש לכם 60 יום להגיש ערעור. {appeals_email, select, null {צרו קשר עם מנהלי המערכת של המופע הזה.} other {שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו.}}\n\nבערעור:\n- הסבירו בבירור מדוע לדעתכם החלטת האכיפה שגויה או בלתי מוצדקת\n- צרפו כל ראיה או הקשר רלוונטיים\n\nחבר בצוות הבטיחות של {product_name} יבדוק את הערעור שלכם ועשוי להשהות את המחיקה הממתינה עד לקבלת החלטה סופית.\n\nצוות הבטיחות של {product_name}" }, "account_temp_banned": { "subject": "חשבון ה-{product_name} שלכם הושעה זמנית", - "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם הושעה זמנית עקב הפרה של תנאי השירות או הנחיות הקהילה שלנו.\n\nמשך ההשעיה: {durationHours, plural,\n =1 {שעה אחת}\n other {# שעות}\n}\nמושעה עד: {bannedUntil, date, full} בשעה {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {סיבה: {reason}}\n}\n\nבמהלך תקופה זו לא תהיה לכם גישה לחשבון.\n\nאנא עיינו במסמכים הבאים:\n- תנאי השירות: {termsUrl}\n- הנחיות הקהילה: {guidelinesUrl}\n\nאם אתם חושבים שהחלטת האכיפה שגויה או בלתי מוצדקת, תוכלו להגיש ערעור. שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו והסבירו בבירור מדוע לדעתכם ההחלטה שגויה. נבדוק את הערעור ונעדכן אתכם בהחלטה שלנו.\n\nצוות הבטיחות של {product_name}" + "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם הושעה זמנית עקב הפרה של תנאי השירות או הנחיות הקהילה שלנו.\n\nמשך ההשעיה: {durationHours, plural,\n =1 {שעה אחת}\n other {# שעות}\n}\nמושעה עד: {bannedUntil, date, full} בשעה {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {סיבה: {reason}}\n}\n\nבמהלך תקופה זו לא תהיה לכם גישה לחשבון.\n\n{legalLinks, select,\n both {אנא עיינו במסמכים הבאים:\n- תנאי השירות: {termsUrl}\n- הנחיות הקהילה: {guidelinesUrl}\n\n}\n terms {אנא עיינו במסמכים הבאים:\n- תנאי השירות: {termsUrl}\n\n}\n guidelines {אנא עיינו במסמכים הבאים:\n- הנחיות הקהילה: {guidelinesUrl}\n\n}\n other {}\n}אם אתם חושבים שהחלטת האכיפה שגויה או בלתי מוצדקת, תוכלו להגיש ערעור. {appeals_email, select, null {צרו קשר עם מנהלי המערכת של המופע הזה והסבירו בבירור מדוע לדעתכם ההחלטה שגויה.} other {שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו והסבירו בבירור מדוע לדעתכם ההחלטה שגויה.}} נבדוק את הערעור ונעדכן אתכם בהחלטה שלנו.\n\nצוות הבטיחות של {product_name}" }, "donation_confirmation": { "subject": "תודה על תרומתכם ל-{product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_HE_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "קיבלנו החלטה בנוגע לדיווח שלכם ב-{product_name}", - "body": "שלום,\n\nצוות הבטיחות שלנו בדק את הדיווח שלכם לפי חוק השירותים הדיגיטליים (מזהה: {reportId}) וקיבל החלטה.{hasComment, select, yes {\n\nתגובה מצוות הבטיחות:\n{publicComment}} other {}}\n\nאיננו משתפים פרטים על פעולות שננקטו נגד חשבון של אדם אחר, מכיוון שאלה נתונים אישיים שלו.\n\nאם אינכם מסכימים עם ההחלטה, תוכלו להגיש ערעור ללא תשלום בתוך 60 יום. שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו, ציינו את מזהה הדיווח והסבירו מדוע לדעתכם ההחלטה שגויה. אם אתם נמצאים באיחוד האירופי, תוכלו גם להפנות את המחלוקת לגוף מוסמך ליישוב סכסוכים מחוץ לבית המשפט. אין בכך כדי לפגוע בזכותכם לפנות לבית המשפט.\n\nצוות הבטיחות של {product_name}" + "body": "שלום,\n\nצוות הבטיחות שלנו בדק את הדיווח שלכם לפי חוק השירותים הדיגיטליים (מזהה: {reportId}) וקיבל החלטה.{hasComment, select, yes {\n\nתגובה מצוות הבטיחות:\n{publicComment}} other {}}\n\nאיננו משתפים פרטים על פעולות שננקטו נגד חשבון של אדם אחר, מכיוון שאלה נתונים אישיים שלו.\n\nאם אינכם מסכימים עם ההחלטה, תוכלו להגיש ערעור ללא תשלום בתוך 60 יום. {appeals_email, select, null {צרו קשר עם מנהלי המערכת של המופע הזה, ציינו את מזהה הדיווח והסבירו מדוע לדעתכם ההחלטה שגויה.} other {שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו, ציינו את מזהה הדיווח והסבירו מדוע לדעתכם ההחלטה שגויה.}} אם אתם נמצאים באיחוד האירופי, תוכלו גם להפנות את המחלוקת לגוף מוסמך ליישוב סכסוכים מחוץ לבית המשפט. אין בכך כדי לפגוע בזכותכם לפנות לבית המשפט.\n\nצוות הבטיחות של {product_name}" }, "dsa_report_verification": { "subject": "אימות האימייל שלכם לדיווח DSA", @@ -57,15 +57,15 @@ const EMAIL_I18N_HE_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "ההטבות מהמתנה שמימשתם הוסרו", - "body": "שלום {username},\n\nקוד מתנה שמימשתם שולם במקור על ידי מישהו אחר. התשלום הזה בוטל מאז (החזר חיוב).\n\nבשל כך, הסרנו את ההטבות שנוספו לחשבונכם כאשר מימשתם את המתנה.\n\nאם אתם חושבים שזו טעות, אנא צרו קשר עם צוות התמיכה שלנו וצרפו כל פרט שידוע לכם לגבי קוד המתנה ומתי מימשתם אותו.\n\nצוות {product_name}" + "body": "שלום {username},\n\nקוד מתנה שמימשתם שולם במקור על ידי מישהו אחר. התשלום הזה בוטל מאז (החזר חיוב).\n\nבשל כך, הסרנו את ההטבות שנוספו לחשבונכם כאשר מימשתם את המתנה.\n\n{support_email, select, null {אם אתם חושבים שזו טעות, אנא צרו קשר עם מנהלי המערכת של המופע הזה וצרפו כל פרט שידוע לכם לגבי קוד המתנה ומתי מימשתם אותו.} other {אם אתם חושבים שזו טעות, אנא צרו קשר עם צוות התמיכה שלנו וצרפו כל פרט שידוע לכם לגבי קוד המתנה ומתי מימשתם אותו.}}\n\nצוות {product_name}" }, "harvest_completed": { "subject": "ייצוא הנתונים שלכם מ-{product_name} מוכן להורדה", - "body": "שלום {username},\n\nייצוא הנתונים שלכם מוכן.\n\nקישור להורדה:\n{downloadUrl}\n\nהודעות כלולות: {totalMessages, number}\nגודל הקובץ: {fileSizeMB, number} מגה-בייט\n\nקישור זה יפוג בתאריך {expiresAt, date, full} בשעה {expiresAt, time, short}.\n\nאם לא ביקשתם ייצוא זה, אנא שנו את הסיסמה שלכם מיד וצרו קשר עם צוות התמיכה שלנו.\n\nצוות {product_name}" + "body": "שלום {username},\n\nייצוא הנתונים שלכם מוכן.\n\nקישור להורדה:\n{downloadUrl}\n\nהודעות כלולות: {totalMessages, number}\nגודל הקובץ: {fileSizeMB, number} מגה-בייט\n\nקישור זה יפוג בתאריך {expiresAt, date, full} בשעה {expiresAt, time, short}.\n\n{support_email, select, null {אם לא ביקשתם ייצוא זה, אנא שנו את הסיסמה שלכם מיד וצרו קשר עם מנהלי המערכת של המופע הזה.} other {אם לא ביקשתם ייצוא זה, אנא שנו את הסיסמה שלכם מיד וצרו קשר עם צוות התמיכה שלנו.}}\n\nצוות {product_name}" }, "inactivity_warning": { "subject": "חשבון ה-{product_name} שלכם יימחק עקב חוסר פעילות", - "body": "שלום {username},\n\nלא ראינו פעילות בחשבון ה-{product_name} שלכם מאז {lastActiveDate, date, full}.\n\nאם לא תתחברו עד {deletionDate, date, full} בשעה {deletionDate, time, short}, חשבונכם יימחק לצמיתות עקב חוסר פעילות.\n\nהתחברו כאן:\n{loginUrl}\n\nאם השתמשתם ב-{product_name} לאחרונה, אנא צרו קשר עם צוות התמיכה שלנו מיד.\n\nצוות {product_name}" + "body": "שלום {username},\n\nלא ראינו פעילות בחשבון ה-{product_name} שלכם מאז {lastActiveDate, date, full}.\n\nאם לא תתחברו עד {deletionDate, date, full} בשעה {deletionDate, time, short}, חשבונכם יימחק לצמיתות עקב חוסר פעילות.\n\nהתחברו כאן:\n{loginUrl}\n\n{support_email, select, null {אם השתמשתם ב-{product_name} לאחרונה, אנא צרו קשר עם מנהלי המערכת של המופע הזה מיד.} other {אם השתמשתם ב-{product_name} לאחרונה, אנא צרו קשר עם צוות התמיכה שלנו מיד.}}\n\nצוות {product_name}" }, "ip_authorization": { "subject": "אישור התחברות מכתובת IP חדשה", @@ -93,11 +93,11 @@ const EMAIL_I18N_HE_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "הדיווח שלכם ב-{product_name} נבדק", - "body": "שלום {username},\n\nהדיווח שלכם (מזהה: {reportId}) נבדק על ידי צוות הבטיחות שלנו.{hasComment, select, yes {\n\nתגובה מצוות הבטיחות:\n{publicComment}} other {}}\n\nתודה שעזרתם לשמור על {product_name} כמקום בטוח לכולם. אנו מתייחסים לכל הדיווחים ברצינות ומעריכים את תרומתכם לקהילה.\n\nאם יש לכם שאלות או חששות לגבי תוצאה זו, אנא צרו קשר עם {safety_email}.\n\nצוות הבטיחות של {product_name}" + "body": "שלום {username},\n\nהדיווח שלכם (מזהה: {reportId}) נבדק על ידי צוות הבטיחות שלנו.{hasComment, select, yes {\n\nתגובה מצוות הבטיחות:\n{publicComment}} other {}}\n\nתודה שעזרתם לשמור על {product_name} כמקום בטוח לכולם. אנו מתייחסים לכל הדיווחים ברצינות ומעריכים את תרומתכם לקהילה.\n\n{safety_email, select, null {אם יש לכם שאלות או חששות לגבי תוצאה זו, אנא צרו קשר עם מנהלי המערכת של המופע הזה.} other {אם יש לכם שאלות או חששות לגבי תוצאה זו, אנא צרו קשר עם {safety_email}.}}\n\nצוות הבטיחות של {product_name}" }, "scheduled_deletion_notification": { "subject": "חשבון ה-{product_name} שלכם יימחק לצמיתות", - "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם נקבע למחיקה לצמיתות.\n\nמחיקה מתוזמנת: {deletionDate, date, full} בשעה {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {סיבה: {reason}}\n}\n\nזוהי פעולת אכיפה חמורה. נתוני החשבון שלכם יימחקו לצמיתות בתאריך המתוכנן.\n\nאם אתם חושבים שהחלטת אכיפה זו שגויה, אתם יכולים להגיש ערעור. שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו.\n\nצוות הבטיחות של {product_name}" + "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם נקבע למחיקה לצמיתות.\n\nמחיקה מתוזמנת: {deletionDate, date, full} בשעה {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {סיבה: {reason}}\n}\n\nזוהי פעולת אכיפה חמורה. נתוני החשבון שלכם יימחקו לצמיתות בתאריך המתוכנן.\n\nאם אתם חושבים שהחלטת אכיפה זו שגויה, אתם יכולים להגיש ערעור. {appeals_email, select, null {צרו קשר עם מנהלי המערכת של המופע הזה.} other {שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו.}}\n\nצוות הבטיחות של {product_name}" }, "self_deletion_scheduled": { "subject": "מחיקת חשבון ה-{product_name} שלכם מתוזמנת", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/hi.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/hi.ts index 694066e7c..664df18e2 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/hi.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/hi.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_HI_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "आपके {product_name} अकाउंट का डिलीशन रद्द कर दिया गया है", - "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट का शेड्यूल किया गया डिलीशन रद्द कर दिया गया है। आपका अकाउंट डिलीट नहीं किया जाएगा।\n\nअगर आपके कोई सवाल हैं, तो कृपया {safety_email} पर संपर्क करें।\n\n– {product_name} टीम" + "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट का शेड्यूल किया गया डिलीशन रद्द कर दिया गया है। आपका अकाउंट डिलीट नहीं किया जाएगा।\n\n{safety_email, select, null {अगर आपके कोई सवाल हैं, तो कृपया इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {अगर आपके कोई सवाल हैं, तो कृपया {safety_email} पर संपर्क करें।}}\n\n– {product_name} टीम" }, "account_deletion_scheduled_inactivity": { "subject": "आपका {product_name} अकाउंट इनएक्टिविटी के कारण डिलीट कर दिया जाएगा", - "body": "नमस्ते {username},\n\nआपका {product_name} अकाउंट लंबे समय से इनएक्टिव है, इसलिए इसे हमेशा के लिए डिलीट करने के लिए शेड्यूल कर दिया गया है:\n\n{deletionDate, date, full} को {deletionDate, time, short} पर{reason, select, null {} other {\n\nवजह: {reason}}}\n\nअगर आप अपना अकाउंट रखना चाहते हैं, तो उस तारीख से पहले इसी ईमेल पते से {safety_email} पर संपर्क करें।\n\n– {product_name} टीम" + "body": "नमस्ते {username},\n\nआपका {product_name} अकाउंट लंबे समय से इनएक्टिव है, इसलिए इसे हमेशा के लिए डिलीट करने के लिए शेड्यूल कर दिया गया है:\n\n{deletionDate, date, full} को {deletionDate, time, short} पर{reason, select, null {} other {\n\nवजह: {reason}}}\n\n{safety_email, select, null {अगर आप अपना अकाउंट रखना चाहते हैं, तो उस तारीख से पहले इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {अगर आप अपना अकाउंट रखना चाहते हैं, तो उस तारीख से पहले इसी ईमेल पते से {safety_email} पर संपर्क करें।}}\n\n– {product_name} टीम" }, "account_deletion_scheduled_requested": { "subject": "आपके {product_name} अकाउंट का डिलीशन शेड्यूल कर दिया गया है", - "body": "नमस्ते {username},\n\nआपके अनुरोध के अनुसार, आपके {product_name} अकाउंट को हमेशा के लिए डिलीट करने के लिए शेड्यूल कर दिया गया है:\n\n{deletionDate, date, full} को {deletionDate, time, short} पर{reason, select, null {} other {\n\nवजह: {reason}}}\n\nतब तक आपका अकाउंट लॉक रहेगा। अगर आपने इसका अनुरोध नहीं किया था, या आप अपना अकाउंट रखना चाहते हैं, तो उस तारीख से पहले इसी ईमेल पते से {safety_email} पर संपर्क करें।\n\n– {product_name} टीम" + "body": "नमस्ते {username},\n\nआपके अनुरोध के अनुसार, आपके {product_name} अकाउंट को हमेशा के लिए डिलीट करने के लिए शेड्यूल कर दिया गया है:\n\n{deletionDate, date, full} को {deletionDate, time, short} पर{reason, select, null {} other {\n\nवजह: {reason}}}\n\nतब तक आपका अकाउंट लॉक रहेगा। {safety_email, select, null {अगर आपने इसका अनुरोध नहीं किया था, या आप अपना अकाउंट रखना चाहते हैं, तो उस तारीख से पहले इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {अगर आपने इसका अनुरोध नहीं किया था, या आप अपना अकाउंट रखना चाहते हैं, तो उस तारीख से पहले इसी ईमेल पते से {safety_email} पर संपर्क करें।}}\n\n– {product_name} टीम" }, "account_scheduled_deletion": { "subject": "आपका {product_name} अकाउंट हमेशा के लिए डिलीट कर दिया जाएगा", - "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट को हमारी सेवा की शर्तों या कम्युनिटी गाइडलाइंस के उल्लंघन के कारण हमेशा के लिए डिलीट करने के लिए शेड्यूल किया गया है।\n\nडिलीशन की निर्धारित तारीख: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {वजह: {reason}}\n}\n\nयह एक गंभीर कार्रवाई है। आपके अकाउंट का डेटा निर्धारित तारीख पर हमेशा के लिए डिलीट कर दिया जाएगा।\n\nकृपया देखें:\n- सेवा की शर्तें: {termsUrl}\n- कम्युनिटी गाइडलाइंस: {guidelinesUrl}\n\nअपील प्रक्रिया:\nअगर आपको लगता है कि यह फैसला गलत या अनुचित था, तो आपके पास अपील सबमिट करने के लिए 60 दिन हैं। इस ईमेल पते से {appeals_email} पर ईमेल करें।\n\nअपनी अपील में:\n- साफ़ तौर पर बताएं कि आपको क्यों लगता है कि यह फैसला गलत या अनुचित था\n- कोई भी प्रासंगिक सबूत या जानकारी दें\n\n{product_name} सेफ्टी टीम का एक सदस्य आपकी अपील का रिव्यू करेगा और अंतिम फैसला आने तक डिलीट होने की प्रक्रिया को रोक सकता है।\n\n– {product_name} सेफ्टी टीम" + "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट को हमारी सेवा की शर्तों या कम्युनिटी गाइडलाइंस के उल्लंघन के कारण हमेशा के लिए डिलीट करने के लिए शेड्यूल किया गया है।\n\nडिलीशन की निर्धारित तारीख: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {वजह: {reason}}\n}\n\nयह एक गंभीर कार्रवाई है। आपके अकाउंट का डेटा निर्धारित तारीख पर हमेशा के लिए डिलीट कर दिया जाएगा।\n\n{legalLinks, select,\n both {कृपया देखें:\n- सेवा की शर्तें: {termsUrl}\n- कम्युनिटी गाइडलाइंस: {guidelinesUrl}\n\n}\n terms {कृपया देखें:\n- सेवा की शर्तें: {termsUrl}\n\n}\n guidelines {कृपया देखें:\n- कम्युनिटी गाइडलाइंस: {guidelinesUrl}\n\n}\n other {}\n}अपील प्रक्रिया:\nअगर आपको लगता है कि यह फैसला गलत या अनुचित था, तो आपके पास अपील सबमिट करने के लिए 60 दिन हैं। {appeals_email, select, null {इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {इस ईमेल पते से {appeals_email} पर ईमेल करें।}}\n\nअपनी अपील में:\n- साफ़ तौर पर बताएं कि आपको क्यों लगता है कि यह फैसला गलत या अनुचित था\n- कोई भी प्रासंगिक सबूत या जानकारी दें\n\n{product_name} सेफ्टी टीम का एक सदस्य आपकी अपील का रिव्यू करेगा और अंतिम फैसला आने तक डिलीट होने की प्रक्रिया को रोक सकता है।\n\n– {product_name} सेफ्टी टीम" }, "account_temp_banned": { "subject": "आपका {product_name} अकाउंट अस्थायी रूप से सस्पेंड कर दिया गया है", - "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट को हमारी सेवा की शर्तों या कम्युनिटी गाइडलाइंस का उल्लंघन करने के लिए अस्थायी रूप से सस्पेंड कर दिया गया है।\n\nअवधि: {durationHours, plural,\n =1 {1 घंटा}\n other {# घंटे}\n}\nसस्पेंड रहेगा: {bannedUntil, date, full} {bannedUntil, time, short} तक\n\n{reason, select,\n null {}\n other {वजह: {reason}}\n}\n\nइस दौरान, आप अपने अकाउंट को एक्सेस नहीं कर पाएँगे।\n\nकृपया देखें:\n- सेवा की शर्तें: {termsUrl}\n- कम्युनिटी गाइडलाइंस: {guidelinesUrl}\n\nअगर आपको लगता है कि यह फैसला गलत या अनुचित था, तो आप अपील सबमिट कर सकते हैं। इस ईमेल पते से {appeals_email} पर ईमेल करें और साफ़ तौर पर बताएं कि आपको क्यों लगता है कि फैसला गलत था। हम आपकी अपील का रिव्यू करेंगे और अपने फैसले के साथ जवाब देंगे।\n\n– {product_name} सेफ्टी टीम" + "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट को हमारी सेवा की शर्तों या कम्युनिटी गाइडलाइंस का उल्लंघन करने के लिए अस्थायी रूप से सस्पेंड कर दिया गया है।\n\nअवधि: {durationHours, plural,\n =1 {1 घंटा}\n other {# घंटे}\n}\nसस्पेंड रहेगा: {bannedUntil, date, full} {bannedUntil, time, short} तक\n\n{reason, select,\n null {}\n other {वजह: {reason}}\n}\n\nइस दौरान, आप अपने अकाउंट को एक्सेस नहीं कर पाएँगे।\n\n{legalLinks, select,\n both {कृपया देखें:\n- सेवा की शर्तें: {termsUrl}\n- कम्युनिटी गाइडलाइंस: {guidelinesUrl}\n\n}\n terms {कृपया देखें:\n- सेवा की शर्तें: {termsUrl}\n\n}\n guidelines {कृपया देखें:\n- कम्युनिटी गाइडलाइंस: {guidelinesUrl}\n\n}\n other {}\n}अगर आपको लगता है कि यह फैसला गलत या अनुचित था, तो आप अपील सबमिट कर सकते हैं। {appeals_email, select, null {इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें और साफ़ तौर पर बताएं कि आपको क्यों लगता है कि फैसला गलत था।} other {इस ईमेल पते से {appeals_email} पर ईमेल करें और साफ़ तौर पर बताएं कि आपको क्यों लगता है कि फैसला गलत था।}} हम आपकी अपील का रिव्यू करेंगे और अपने फैसले के साथ जवाब देंगे।\n\n– {product_name} सेफ्टी टीम" }, "donation_confirmation": { "subject": "आपके {product_name} डोनेशन के लिए धन्यवाद", @@ -33,7 +33,7 @@ const EMAIL_I18N_HI_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "हमने आपकी {product_name} रिपोर्ट पर फैसला ले लिया है", - "body": "नमस्ते,\n\nहमारी सेफ्टी टीम ने आपकी Digital Services Act रिपोर्ट (ID: {reportId}) का रिव्यू करके फैसला ले लिया है।{hasComment, select, yes {\n\nसेफ्टी टीम का जवाब:\n{publicComment}} other {}}\n\nहम किसी दूसरे व्यक्ति के अकाउंट पर की गई कार्रवाई की जानकारी शेयर नहीं करते, क्योंकि वह उनका निजी डेटा है।\n\nअगर आप इस फैसले से सहमत नहीं हैं, तो आप 60 दिनों के अंदर मुफ़्त में अपील कर सकते हैं। इस ईमेल पते से {appeals_email} पर ईमेल करें, अपनी रिपोर्ट ID शामिल करें और बताएं कि आपको फैसला गलत क्यों लगता है। अगर आप EU में हैं, तो आप इस विवाद को अदालत के बाहर विवाद निपटाने वाली किसी प्रमाणित संस्था के पास भी ले जा सकते हैं। इनमें से किसी भी बात का आपके अदालत जाने के अधिकार पर कोई असर नहीं पड़ता।\n\n– {product_name} सेफ्टी टीम" + "body": "नमस्ते,\n\nहमारी सेफ्टी टीम ने आपकी Digital Services Act रिपोर्ट (ID: {reportId}) का रिव्यू करके फैसला ले लिया है।{hasComment, select, yes {\n\nसेफ्टी टीम का जवाब:\n{publicComment}} other {}}\n\nहम किसी दूसरे व्यक्ति के अकाउंट पर की गई कार्रवाई की जानकारी शेयर नहीं करते, क्योंकि वह उनका निजी डेटा है।\n\nअगर आप इस फैसले से सहमत नहीं हैं, तो आप 60 दिनों के अंदर मुफ़्त में अपील कर सकते हैं। {appeals_email, select, null {इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें, अपनी रिपोर्ट ID शामिल करें और बताएं कि आपको फैसला गलत क्यों लगता है।} other {इस ईमेल पते से {appeals_email} पर ईमेल करें, अपनी रिपोर्ट ID शामिल करें और बताएं कि आपको फैसला गलत क्यों लगता है।}} अगर आप EU में हैं, तो आप इस विवाद को अदालत के बाहर विवाद निपटाने वाली किसी प्रमाणित संस्था के पास भी ले जा सकते हैं। इनमें से किसी भी बात का आपके अदालत जाने के अधिकार पर कोई असर नहीं पड़ता।\n\n– {product_name} सेफ्टी टीम" }, "dsa_report_verification": { "subject": "DSA रिपोर्ट के लिए अपना ईमेल वेरिफ़ाई करें", @@ -57,15 +57,15 @@ const EMAIL_I18N_HI_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "आपके रिडीम किए गए गिफ्ट से मिलने वाले पर्क हटा दिए गए हैं", - "body": "नमस्ते {username},\n\nआपने जो गिफ्ट कोड रिडीम किया था, उसका पेमेंट मूल रूप से किसी और ने किया था। उस पेमेंट को बाद में वापस ले लिया गया (चार्जबैक)।\n\nइस वजह से, हमने वे पर्क हटा दिए हैं जो गिफ्ट रिडीम करते समय आपके अकाउंट में जोड़े गए थे।\n\nअगर आपको लगता है कि यह गलती है, तो कृपया हमारी सपोर्ट टीम से संपर्क करें और गिफ्ट कोड और उसे रिडीम करने के समय के बारे में आपके पास जो भी जानकारी है, वह शेयर करें।\n\n– {product_name} टीम" + "body": "नमस्ते {username},\n\nआपने जो गिफ्ट कोड रिडीम किया था, उसका पेमेंट मूल रूप से किसी और ने किया था। उस पेमेंट को बाद में वापस ले लिया गया (चार्जबैक)।\n\nइस वजह से, हमने वे पर्क हटा दिए हैं जो गिफ्ट रिडीम करते समय आपके अकाउंट में जोड़े गए थे।\n\n{support_email, select, null {अगर आपको लगता है कि यह गलती है, तो कृपया इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें और गिफ्ट कोड और उसे रिडीम करने के समय के बारे में आपके पास जो भी जानकारी है, वह शेयर करें।} other {अगर आपको लगता है कि यह गलती है, तो कृपया हमारी सपोर्ट टीम से संपर्क करें और गिफ्ट कोड और उसे रिडीम करने के समय के बारे में आपके पास जो भी जानकारी है, वह शेयर करें।}}\n\n– {product_name} टीम" }, "harvest_completed": { "subject": "आपका {product_name} डेटा एक्सपोर्ट डाउनलोड के लिए तैयार है", - "body": "नमस्ते {username},\n\nआपका डेटा एक्सपोर्ट तैयार है।\n\nडाउनलोड लिंक:\n{downloadUrl}\n\nशामिल मैसेज: {totalMessages, number}\nफ़ाइल साइज़: {fileSizeMB, number} MB\n\nयह लिंक {expiresAt, date, full} को {expiresAt, time, short} पर एक्सपायर हो जाएगा।\n\nअगर आपने इस एक्सपोर्ट का अनुरोध नहीं किया था, तो कृपया तुरंत अपना पासवर्ड बदलें और हमारी सपोर्ट टीम से संपर्क करें।\n\n– {product_name} टीम" + "body": "नमस्ते {username},\n\nआपका डेटा एक्सपोर्ट तैयार है।\n\nडाउनलोड लिंक:\n{downloadUrl}\n\nशामिल मैसेज: {totalMessages, number}\nफ़ाइल साइज़: {fileSizeMB, number} MB\n\nयह लिंक {expiresAt, date, full} को {expiresAt, time, short} पर एक्सपायर हो जाएगा।\n\n{support_email, select, null {अगर आपने इस एक्सपोर्ट का अनुरोध नहीं किया था, तो कृपया तुरंत अपना पासवर्ड बदलें और इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {अगर आपने इस एक्सपोर्ट का अनुरोध नहीं किया था, तो कृपया तुरंत अपना पासवर्ड बदलें और हमारी सपोर्ट टीम से संपर्क करें।}}\n\n– {product_name} टीम" }, "inactivity_warning": { "subject": "आपका {product_name} अकाउंट इनएक्टिविटी के कारण डिलीट कर दिया जाएगा", - "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट पर {lastActiveDate, date, full} के बाद से कोई एक्टिविटी नहीं हुई है।\n\nअगर आप {deletionDate, date, full} को {deletionDate, time, short} तक लॉगिन नहीं करते हैं, तो आपका अकाउंट इनएक्टिविटी के कारण हमेशा के लिए डिलीट कर दिया जाएगा।\n\nयहाँ लॉगिन करें:\n{loginUrl}\n\nअगर आपने हाल ही में {product_name} का इस्तेमाल किया है, तो कृपया तुरंत हमारी सपोर्ट टीम से संपर्क करें।\n\n– {product_name} टीम" + "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट पर {lastActiveDate, date, full} के बाद से कोई एक्टिविटी नहीं हुई है।\n\nअगर आप {deletionDate, date, full} को {deletionDate, time, short} तक लॉगिन नहीं करते हैं, तो आपका अकाउंट इनएक्टिविटी के कारण हमेशा के लिए डिलीट कर दिया जाएगा।\n\nयहाँ लॉगिन करें:\n{loginUrl}\n\n{support_email, select, null {अगर आपने हाल ही में {product_name} का इस्तेमाल किया है, तो कृपया तुरंत इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {अगर आपने हाल ही में {product_name} का इस्तेमाल किया है, तो कृपया तुरंत हमारी सपोर्ट टीम से संपर्क करें।}}\n\n– {product_name} टीम" }, "ip_authorization": { "subject": "नए IP एड्रेस से लॉगिन को ऑथराइज़ करें", @@ -93,11 +93,11 @@ const EMAIL_I18N_HI_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "आपकी {product_name} रिपोर्ट का रिव्यू कर लिया गया है", - "body": "नमस्ते {username},\n\nआपकी रिपोर्ट (ID: {reportId}) का हमारी सेफ्टी टीम ने रिव्यू कर लिया है।{hasComment, select, yes {\n\nसेफ्टी टीम का जवाब:\n{publicComment}} other {}}\n\n{product_name} को सभी के लिए सुरक्षित रखने में मदद करने के लिए धन्यवाद। हम हर रिपोर्ट को गंभीरता से लेते हैं और कम्युनिटी में आपके योगदान की सराहना करते हैं।\n\nअगर आपको इस नतीजे के बारे में कोई सवाल या चिंता है, तो कृपया {safety_email} पर संपर्क करें।\n\n– {product_name} सेफ्टी टीम" + "body": "नमस्ते {username},\n\nआपकी रिपोर्ट (ID: {reportId}) का हमारी सेफ्टी टीम ने रिव्यू कर लिया है।{hasComment, select, yes {\n\nसेफ्टी टीम का जवाब:\n{publicComment}} other {}}\n\n{product_name} को सभी के लिए सुरक्षित रखने में मदद करने के लिए धन्यवाद। हम हर रिपोर्ट को गंभीरता से लेते हैं और कम्युनिटी में आपके योगदान की सराहना करते हैं।\n\n{safety_email, select, null {अगर आपको इस नतीजे के बारे में कोई सवाल या चिंता है, तो कृपया इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {अगर आपको इस नतीजे के बारे में कोई सवाल या चिंता है, तो कृपया {safety_email} पर संपर्क करें।}}\n\n– {product_name} सेफ्टी टीम" }, "scheduled_deletion_notification": { "subject": "आपका {product_name} अकाउंट हमेशा के लिए डिलीट कर दिया जाएगा", - "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट को हमेशा के लिए डिलीट करने के लिए शेड्यूल किया गया है।\n\nडिलीशन की निर्धारित तारीख: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {वजह: {reason}}\n}\n\nयह एक गंभीर कार्रवाई है। आपके अकाउंट का डेटा निर्धारित तारीख पर हमेशा के लिए डिलीट कर दिया जाएगा।\n\nअगर आपको लगता है कि यह फैसला गलत था, तो आप अपील सबमिट कर सकते हैं। इस ईमेल पते से {appeals_email} पर ईमेल करें।\n\n– {product_name} सेफ्टी टीम" + "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट को हमेशा के लिए डिलीट करने के लिए शेड्यूल किया गया है।\n\nडिलीशन की निर्धारित तारीख: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {वजह: {reason}}\n}\n\nयह एक गंभीर कार्रवाई है। आपके अकाउंट का डेटा निर्धारित तारीख पर हमेशा के लिए डिलीट कर दिया जाएगा।\n\nअगर आपको लगता है कि यह फैसला गलत था, तो आप अपील सबमिट कर सकते हैं। {appeals_email, select, null {इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {इस ईमेल पते से {appeals_email} पर ईमेल करें।}}\n\n– {product_name} सेफ्टी टीम" }, "self_deletion_scheduled": { "subject": "आपके {product_name} अकाउंट का डिलीशन शेड्यूल कर दिया गया है", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/hr.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/hr.ts index 215fa9cce..d274d968a 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/hr.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/hr.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_HR_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Brisanje tvog računa na {product_name}u je otkazano", - "body": "Pozdrav {username},\n\nZakazano brisanje tvog računa na {product_name}u je otkazano. Tvoj račun neće biti izbrisan.\n\nAko imaš pitanja, kontaktiraj {safety_email}.\n\n– Tim {product_name}a" + "body": "Pozdrav {username},\n\nZakazano brisanje tvog računa na {product_name}u je otkazano. Tvoj račun neće biti izbrisan.\n\n{safety_email, select, null {Ako imaš pitanja, obrati se administratorima ove instance.} other {Ako imaš pitanja, kontaktiraj {safety_email}.}}\n\n– Tim {product_name}a" }, "account_deletion_scheduled_inactivity": { "subject": "Tvoj račun na {product_name}u bit će izbrisan zbog neaktivnosti", - "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u dugo je bio neaktivan, pa je zakazan za trajno brisanje:\n\n{deletionDate, date, full} u {deletionDate, time, short}{reason, select, null {} other {\n\nRazlog: {reason}}}\n\nAko želiš zadržati račun, kontaktiraj {safety_email} s ove adrese e-pošte prije tog datuma.\n\n– Tim {product_name}a" + "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u dugo je bio neaktivan, pa je zakazan za trajno brisanje:\n\n{deletionDate, date, full} u {deletionDate, time, short}{reason, select, null {} other {\n\nRazlog: {reason}}}\n\n{safety_email, select, null {Ako želiš zadržati račun, obrati se administratorima ove instance prije tog datuma.} other {Ako želiš zadržati račun, kontaktiraj {safety_email} s ove adrese e-pošte prije tog datuma.}}\n\n– Tim {product_name}a" }, "account_deletion_scheduled_requested": { "subject": "Brisanje tvog računa na {product_name}u je zakazano", - "body": "Pozdrav {username},\n\nNa tvoj zahtjev, tvoj račun na {product_name}u zakazan je za trajno brisanje:\n\n{deletionDate, date, full} u {deletionDate, time, short}{reason, select, null {} other {\n\nRazlog: {reason}}}\n\nDo tada je tvoj račun zaključan. Ako ovaj zahtjev ne dolazi od tebe ili želiš zadržati račun, kontaktiraj {safety_email} s ove adrese e-pošte prije tog datuma.\n\n– Tim {product_name}a" + "body": "Pozdrav {username},\n\nNa tvoj zahtjev, tvoj račun na {product_name}u zakazan je za trajno brisanje:\n\n{deletionDate, date, full} u {deletionDate, time, short}{reason, select, null {} other {\n\nRazlog: {reason}}}\n\nDo tada je tvoj račun zaključan. {safety_email, select, null {Ako ovaj zahtjev ne dolazi od tebe ili želiš zadržati račun, obrati se administratorima ove instance prije tog datuma.} other {Ako ovaj zahtjev ne dolazi od tebe ili želiš zadržati račun, kontaktiraj {safety_email} s ove adrese e-pošte prije tog datuma.}}\n\n– Tim {product_name}a" }, "account_scheduled_deletion": { "subject": "Tvoj račun na {product_name}u bit će trajno izbrisan", - "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u zakazan je za trajno brisanje zbog kršenja naših Uvjeta pružanja usluge ili Smjernica zajednice.\n\nZakazano brisanje: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Razlog: {reason}}\n}\n\nOvo je ozbiljna mjera. Podaci tvog računa bit će trajno izbrisani na zakazani datum.\n\nPregledaj:\n- Uvjeti pružanja usluge: {termsUrl}\n- Smjernice zajednice: {guidelinesUrl}\n\nPostupak žalbe:\nAko smatraš da je ova odluka bila netočna ili neopravdana, imaš 60 dana za podnošenje žalbe. Pošalji e-poštu na {appeals_email} s ove adrese e-pošte.\n\nU svojoj žalbi:\n- Jasno objasni zašto smatraš da je odluka bila netočna ili neopravdana\n- Navedi sve relevantne dokaze ili kontekst\n\nČlan Sigurnosnog tima {product_name}a pregledat će tvoju žalbu i može privremeno zaustaviti zakazano brisanje dok se ne donese konačna odluka.\n\n– Sigurnosni tim {product_name}a" + "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u zakazan je za trajno brisanje zbog kršenja naših Uvjeta pružanja usluge ili Smjernica zajednice.\n\nZakazano brisanje: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Razlog: {reason}}\n}\n\nOvo je ozbiljna mjera. Podaci tvog računa bit će trajno izbrisani na zakazani datum.\n\n{legalLinks, select,\n both {Pregledaj:\n- Uvjeti pružanja usluge: {termsUrl}\n- Smjernice zajednice: {guidelinesUrl}\n\n}\n terms {Pregledaj:\n- Uvjeti pružanja usluge: {termsUrl}\n\n}\n guidelines {Pregledaj:\n- Smjernice zajednice: {guidelinesUrl}\n\n}\n other {}\n}Postupak žalbe:\nAko smatraš da je ova odluka bila netočna ili neopravdana, imaš 60 dana za podnošenje žalbe. {appeals_email, select, null {Obrati se administratorima ove instance.} other {Pošalji e-poštu na {appeals_email} s ove adrese e-pošte.}}\n\nU svojoj žalbi:\n- Jasno objasni zašto smatraš da je odluka bila netočna ili neopravdana\n- Navedi sve relevantne dokaze ili kontekst\n\nČlan Sigurnosnog tima {product_name}a pregledat će tvoju žalbu i može privremeno zaustaviti zakazano brisanje dok se ne donese konačna odluka.\n\n– Sigurnosni tim {product_name}a" }, "account_temp_banned": { "subject": "Tvoj račun na {product_name}u privremeno je suspendiran", - "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u privremeno je suspendiran zbog kršenja naših Uvjeta pružanja usluge ili Smjernica zajednice.\n\nTrajanje: {durationHours, plural,\n =1 {1 sat}\n one {# sat}\n few {# sata}\n other {# sati}\n}\nSuspendiran do: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Razlog: {reason}}\n}\n\nTijekom tog vremena nećeš moći pristupiti svom računu.\n\nPregledaj:\n- Uvjeti pružanja usluge: {termsUrl}\n- Smjernice zajednice: {guidelinesUrl}\n\nAko smatraš da je ova odluka bila netočna ili neopravdana, možeš podnijeti žalbu. Pošalji e-poštu na {appeals_email} s ove adrese e-pošte i jasno objasni zašto smatraš da je odluka bila netočna. Pregledat ćemo tvoju žalbu i javiti ti našu odluku.\n\n– Sigurnosni tim {product_name}a" + "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u privremeno je suspendiran zbog kršenja naših Uvjeta pružanja usluge ili Smjernica zajednice.\n\nTrajanje: {durationHours, plural,\n =1 {1 sat}\n one {# sat}\n few {# sata}\n other {# sati}\n}\nSuspendiran do: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Razlog: {reason}}\n}\n\nTijekom tog vremena nećeš moći pristupiti svom računu.\n\n{legalLinks, select,\n both {Pregledaj:\n- Uvjeti pružanja usluge: {termsUrl}\n- Smjernice zajednice: {guidelinesUrl}\n\n}\n terms {Pregledaj:\n- Uvjeti pružanja usluge: {termsUrl}\n\n}\n guidelines {Pregledaj:\n- Smjernice zajednice: {guidelinesUrl}\n\n}\n other {}\n}Ako smatraš da je ova odluka bila netočna ili neopravdana, možeš podnijeti žalbu. {appeals_email, select, null {Obrati se administratorima ove instance i jasno objasni zašto smatraš da je odluka bila netočna.} other {Pošalji e-poštu na {appeals_email} s ove adrese e-pošte i jasno objasni zašto smatraš da je odluka bila netočna.}} Pregledat ćemo tvoju žalbu i javiti ti našu odluku.\n\n– Sigurnosni tim {product_name}a" }, "donation_confirmation": { "subject": "Hvala ti na donaciji za {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_HR_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Donijeli smo odluku o tvojoj prijavi na platformi {product_name}", - "body": "Pozdrav,\n\nNaš sigurnosni tim pregledao je tvoju prijavu prema Zakonu o digitalnim uslugama (ID: {reportId}) i donio odluku.{hasComment, select, yes {\n\nOdgovor sigurnosnog tima:\n{publicComment}} other {}}\n\nNe dijelimo pojedinosti o mjerama poduzetima protiv računa druge osobe jer su to njezini osobni podaci.\n\nAko se ne slažeš s ovom odlukom, možeš besplatno podnijeti žalbu u roku od 60 dana. Pošalji e-poštu na {appeals_email} s ove adrese e-pošte, navedi ID svoje prijave i objasni zašto smatraš da je odluka pogrešna. Ako se nalaziš u EU-u, spor možeš uputiti i certificiranom tijelu za izvansudsko rješavanje sporova. Ništa od navedenog ne utječe na tvoje pravo da se obratiš sudu.\n\n– Sigurnosni tim {product_name}a" + "body": "Pozdrav,\n\nNaš sigurnosni tim pregledao je tvoju prijavu prema Zakonu o digitalnim uslugama (ID: {reportId}) i donio odluku.{hasComment, select, yes {\n\nOdgovor sigurnosnog tima:\n{publicComment}} other {}}\n\nNe dijelimo pojedinosti o mjerama poduzetima protiv računa druge osobe jer su to njezini osobni podaci.\n\nAko se ne slažeš s ovom odlukom, možeš besplatno podnijeti žalbu u roku od 60 dana. {appeals_email, select, null {Obrati se administratorima ove instance, navedi ID svoje prijave i objasni zašto smatraš da je odluka pogrešna.} other {Pošalji e-poštu na {appeals_email} s ove adrese e-pošte, navedi ID svoje prijave i objasni zašto smatraš da je odluka pogrešna.}} Ako se nalaziš u EU-u, spor možeš uputiti i certificiranom tijelu za izvansudsko rješavanje sporova. Ništa od navedenog ne utječe na tvoje pravo da se obratiš sudu.\n\n– Sigurnosni tim {product_name}a" }, "dsa_report_verification": { "subject": "Potvrdi svoju e-poštu za prijavu prema Zakonu o digitalnim uslugama", @@ -57,15 +57,15 @@ const EMAIL_I18N_HR_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Pogodnosti tvog iskorištenog poklona su uklonjene", - "body": "Pozdrav {username},\n\nPoklon kod iskorišten na tvom računu izvorno je platio netko drugi. To je plaćanje u međuvremenu poništeno (povrat sredstava putem banke).\n\nZbog toga smo uklonili pogodnosti koje su pri iskorištavanju poklona dodane tvom računu.\n\nAko misliš da je ovo pogreška, kontaktiraj naš tim za podršku i navedi sve podatke koje imaš o poklon kodu i o vremenu njegova iskorištavanja.\n\n– Tim {product_name}a" + "body": "Pozdrav {username},\n\nPoklon kod iskorišten na tvom računu izvorno je platio netko drugi. To je plaćanje u međuvremenu poništeno (povrat sredstava putem banke).\n\nZbog toga smo uklonili pogodnosti koje su pri iskorištavanju poklona dodane tvom računu.\n\n{support_email, select, null {Ako misliš da je ovo pogreška, obrati se administratorima ove instance i navedi sve podatke koje imaš o poklon kodu i o vremenu njegova iskorištavanja.} other {Ako misliš da je ovo pogreška, kontaktiraj naš tim za podršku i navedi sve podatke koje imaš o poklon kodu i o vremenu njegova iskorištavanja.}}\n\n– Tim {product_name}a" }, "harvest_completed": { "subject": "Tvoj izvoz podataka za {product_name} je spreman za preuzimanje", - "body": "Pozdrav {username},\n\nTvoj izvoz podataka je spreman.\n\nPoveznica za preuzimanje:\n{downloadUrl}\n\nUključene poruke: {totalMessages, number}\nVeličina datoteke: {fileSizeMB, number} MB\n\nOva poveznica istječe {expiresAt, date, full} u {expiresAt, time, short}.\n\nAko ovaj izvoz ne dolazi od tebe, odmah promijeni lozinku i kontaktiraj naš tim za podršku.\n\n– Tim {product_name}a" + "body": "Pozdrav {username},\n\nTvoj izvoz podataka je spreman.\n\nPoveznica za preuzimanje:\n{downloadUrl}\n\nUključene poruke: {totalMessages, number}\nVeličina datoteke: {fileSizeMB, number} MB\n\nOva poveznica istječe {expiresAt, date, full} u {expiresAt, time, short}.\n\n{support_email, select, null {Ako ovaj izvoz ne dolazi od tebe, odmah promijeni lozinku i obrati se administratorima ove instance.} other {Ako ovaj izvoz ne dolazi od tebe, odmah promijeni lozinku i kontaktiraj naš tim za podršku.}}\n\n– Tim {product_name}a" }, "inactivity_warning": { "subject": "Tvoj račun na {product_name}u bit će izbrisan zbog neaktivnosti", - "body": "Pozdrav {username},\n\nNismo primijetili nikakvu aktivnost na tvom računu na {product_name}u od {lastActiveDate, date, full}.\n\nAko se ne prijaviš do {deletionDate, date, full} u {deletionDate, time, short}, tvoj račun bit će trajno izbrisan zbog neaktivnosti.\n\nPrijavi se ovdje:\n{loginUrl}\n\nAko u posljednje vrijeme koristiš {product_name}, odmah kontaktiraj naš tim za podršku.\n\n– Tim {product_name}a" + "body": "Pozdrav {username},\n\nNismo primijetili nikakvu aktivnost na tvom računu na {product_name}u od {lastActiveDate, date, full}.\n\nAko se ne prijaviš do {deletionDate, date, full} u {deletionDate, time, short}, tvoj račun bit će trajno izbrisan zbog neaktivnosti.\n\nPrijavi se ovdje:\n{loginUrl}\n\n{support_email, select, null {Ako u posljednje vrijeme koristiš {product_name}, odmah obrati se administratorima ove instance.} other {Ako u posljednje vrijeme koristiš {product_name}, odmah kontaktiraj naš tim za podršku.}}\n\n– Tim {product_name}a" }, "ip_authorization": { "subject": "Odobri prijavu s nove IP adrese", @@ -93,11 +93,11 @@ const EMAIL_I18N_HR_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Tvoja prijava na {product_name}u je pregledana", - "body": "Pozdrav {username},\n\nTvoju prijavu (ID: {reportId}) pregledao je naš sigurnosni tim.{hasComment, select, yes {\n\nOdgovor sigurnosnog tima:\n{publicComment}} other {}}\n\nHvala ti što pomažeš da {product_name} bude siguran za sve. Sve prijave shvaćamo ozbiljno i cijenimo tvoj doprinos zajednici.\n\nAko imaš bilo kakvih pitanja ili nedoumica u vezi s ovim ishodom, kontaktiraj {safety_email}.\n\n– Sigurnosni tim {product_name}a" + "body": "Pozdrav {username},\n\nTvoju prijavu (ID: {reportId}) pregledao je naš sigurnosni tim.{hasComment, select, yes {\n\nOdgovor sigurnosnog tima:\n{publicComment}} other {}}\n\nHvala ti što pomažeš da {product_name} bude siguran za sve. Sve prijave shvaćamo ozbiljno i cijenimo tvoj doprinos zajednici.\n\n{safety_email, select, null {Ako imaš bilo kakvih pitanja ili nedoumica u vezi s ovim ishodom, obrati se administratorima ove instance.} other {Ako imaš bilo kakvih pitanja ili nedoumica u vezi s ovim ishodom, kontaktiraj {safety_email}.}}\n\n– Sigurnosni tim {product_name}a" }, "scheduled_deletion_notification": { "subject": "Tvoj račun na {product_name}u bit će trajno izbrisan", - "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u zakazan je za trajno brisanje.\n\nZakazano brisanje: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Razlog: {reason}}\n}\n\nOvo je ozbiljna mjera. Podaci tvog računa bit će trajno izbrisani na zakazani datum.\n\nAko smatraš da je ova odluka bila netočna, možeš podnijeti žalbu. Pošalji e-poštu na {appeals_email} s ove adrese e-pošte.\n\n– Sigurnosni tim {product_name}a" + "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u zakazan je za trajno brisanje.\n\nZakazano brisanje: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Razlog: {reason}}\n}\n\nOvo je ozbiljna mjera. Podaci tvog računa bit će trajno izbrisani na zakazani datum.\n\nAko smatraš da je ova odluka bila netočna, možeš podnijeti žalbu. {appeals_email, select, null {Obrati se administratorima ove instance.} other {Pošalji e-poštu na {appeals_email} s ove adrese e-pošte.}}\n\n– Sigurnosni tim {product_name}a" }, "self_deletion_scheduled": { "subject": "Brisanje tvog računa na {product_name}u je zakazano", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/hu.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/hu.ts index b0bccf00e..1905a77e9 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/hu.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/hu.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_HU_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Visszavontuk {product_name}-fiókod törlését", - "body": "Szia, {username}!\n\n{product_name}-fiókod ütemezett törlését visszavontuk. A fiókodat nem töröljük.\n\nHa kérdésed van, írj erre a címre: {safety_email}.\n\n– {product_name} csapata" + "body": "Szia, {username}!\n\n{product_name}-fiókod ütemezett törlését visszavontuk. A fiókodat nem töröljük.\n\n{safety_email, select, null {Ha kérdésed van, fordulj ennek a példánynak az adminisztrátoraihoz.} other {Ha kérdésed van, írj erre a címre: {safety_email}.}}\n\n– {product_name} csapata" }, "account_deletion_scheduled_inactivity": { "subject": "{product_name}-fiókodat inaktivitás miatt törölni fogjuk", - "body": "Szia, {username}!\n\n{product_name}-fiókod hosszú ideje inaktív, ezért végleges törlése a következő időpontra van ütemezve:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nIndok: {reason}}}\n\nHa meg szeretnéd tartani a fiókodat, még az időpont előtt írj erről az e-mail-címről erre a címre: {safety_email}.\n\n– {product_name} csapata" + "body": "Szia, {username}!\n\n{product_name}-fiókod hosszú ideje inaktív, ezért végleges törlése a következő időpontra van ütemezve:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nIndok: {reason}}}\n\n{safety_email, select, null {Ha meg szeretnéd tartani a fiókodat, még az időpont előtt fordulj ennek a példánynak az adminisztrátoraihoz.} other {Ha meg szeretnéd tartani a fiókodat, még az időpont előtt írj erről az e-mail-címről erre a címre: {safety_email}.}}\n\n– {product_name} csapata" }, "account_deletion_scheduled_requested": { "subject": "Ütemeztük {product_name}-fiókod törlését", - "body": "Szia, {username}!\n\nKérésedre {product_name}-fiókod végleges törlése a következő időpontra van ütemezve:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nIndok: {reason}}}\n\nAddig a fiókod zárolva van. Ha nem te kérted ezt, vagy meg szeretnéd tartani a fiókodat, még az időpont előtt írj erről az e-mail-címről erre a címre: {safety_email}.\n\n– {product_name} csapata" + "body": "Szia, {username}!\n\nKérésedre {product_name}-fiókod végleges törlése a következő időpontra van ütemezve:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nIndok: {reason}}}\n\nAddig a fiókod zárolva van. {safety_email, select, null {Ha nem te kérted ezt, vagy meg szeretnéd tartani a fiókodat, még az időpont előtt fordulj ennek a példánynak az adminisztrátoraihoz.} other {Ha nem te kérted ezt, vagy meg szeretnéd tartani a fiókodat, még az időpont előtt írj erről az e-mail-címről erre a címre: {safety_email}.}}\n\n– {product_name} csapata" }, "account_scheduled_deletion": { "subject": "{product_name}-fiókodat véglegesen törölni fogjuk", - "body": "Szia, {username}!\n\n{product_name}-fiókod végleges törlését ütemeztük a szolgáltatási feltételeink vagy a közösségi irányelveink megsértése miatt.\n\nA törlés tervezett időpontja: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Indok: {reason}}\n}\n\nEz súlyos moderációs intézkedés. Fiókod adatait a megadott időpontban véglegesen töröljük.\n\nKérjük, olvasd át az alábbiakat:\n- Szolgáltatási feltételek: {termsUrl}\n- Közösségi irányelvek: {guidelinesUrl}\n\nFellebbezés:\nHa úgy gondolod, hogy ez a döntés hibás vagy indokolatlan volt, 60 napod van fellebbezni. Erről az e-mail-címről írj a következő címre: {appeals_email}.\n\nA fellebbezésben:\n- Világosan fejtsd ki, miért gondolod, hogy a döntés hibás vagy indokolatlan volt.\n- Add meg a kapcsolódó bizonyítékokat és a körülményeket.\n\nA {product_name} biztonsági csapatának egyik tagja elbírálja a fellebbezésedet, és a végleges döntésig felfüggesztheti a tervezett törlést.\n\n– {product_name} biztonsági csapata" + "body": "Szia, {username}!\n\n{product_name}-fiókod végleges törlését ütemeztük a szolgáltatási feltételeink vagy a közösségi irányelveink megsértése miatt.\n\nA törlés tervezett időpontja: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Indok: {reason}}\n}\n\nEz súlyos moderációs intézkedés. Fiókod adatait a megadott időpontban véglegesen töröljük.\n\n{legalLinks, select,\n both {Kérjük, olvasd át az alábbiakat:\n- Szolgáltatási feltételek: {termsUrl}\n- Közösségi irányelvek: {guidelinesUrl}\n\n}\n terms {Kérjük, olvasd át az alábbiakat:\n- Szolgáltatási feltételek: {termsUrl}\n\n}\n guidelines {Kérjük, olvasd át az alábbiakat:\n- Közösségi irányelvek: {guidelinesUrl}\n\n}\n other {}\n}Fellebbezés:\nHa úgy gondolod, hogy ez a döntés hibás vagy indokolatlan volt, 60 napod van fellebbezni. {appeals_email, select, null {Fordulj ennek a példánynak az adminisztrátoraihoz.} other {Erről az e-mail-címről írj a következő címre: {appeals_email}.}}\n\nA fellebbezésben:\n- Világosan fejtsd ki, miért gondolod, hogy a döntés hibás vagy indokolatlan volt.\n- Add meg a kapcsolódó bizonyítékokat és a körülményeket.\n\nA {product_name} biztonsági csapatának egyik tagja elbírálja a fellebbezésedet, és a végleges döntésig felfüggesztheti a tervezett törlést.\n\n– {product_name} biztonsági csapata" }, "account_temp_banned": { "subject": "{product_name}-fiókodat ideiglenesen felfüggesztettük", - "body": "Szia, {username}!\n\n{product_name}-fiókodat ideiglenesen felfüggesztettük a szolgáltatási feltételeink vagy a közösségi irányelveink megsértése miatt.\n\nIdőtartam: {durationHours, plural,\n =1 {1 óra}\n other {# óra}\n}\nA felfüggesztés vége: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Indok: {reason}}\n}\n\nEz idő alatt nem férsz hozzá a fiókodhoz.\n\nKérjük, olvasd át az alábbiakat:\n- Szolgáltatási feltételek: {termsUrl}\n- Közösségi irányelvek: {guidelinesUrl}\n\nHa úgy gondolod, hogy ez a döntés hibás vagy indokolatlan volt, fellebbezhetsz. Erről az e-mail-címről írj a következő címre: {appeals_email}, és világosan fejtsd ki, miért tartod hibásnak a döntést. Elbíráljuk a fellebbezésedet, és értesítünk a döntésünkről.\n\n– {product_name} biztonsági csapata" + "body": "Szia, {username}!\n\n{product_name}-fiókodat ideiglenesen felfüggesztettük a szolgáltatási feltételeink vagy a közösségi irányelveink megsértése miatt.\n\nIdőtartam: {durationHours, plural,\n =1 {1 óra}\n other {# óra}\n}\nA felfüggesztés vége: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Indok: {reason}}\n}\n\nEz idő alatt nem férsz hozzá a fiókodhoz.\n\n{legalLinks, select,\n both {Kérjük, olvasd át az alábbiakat:\n- Szolgáltatási feltételek: {termsUrl}\n- Közösségi irányelvek: {guidelinesUrl}\n\n}\n terms {Kérjük, olvasd át az alábbiakat:\n- Szolgáltatási feltételek: {termsUrl}\n\n}\n guidelines {Kérjük, olvasd át az alábbiakat:\n- Közösségi irányelvek: {guidelinesUrl}\n\n}\n other {}\n}Ha úgy gondolod, hogy ez a döntés hibás vagy indokolatlan volt, fellebbezhetsz. {appeals_email, select, null {Fordulj ennek a példánynak az adminisztrátoraihoz, és világosan fejtsd ki, miért tartod hibásnak a döntést.} other {Erről az e-mail-címről írj a következő címre: {appeals_email}, és világosan fejtsd ki, miért tartod hibásnak a döntést.}} Elbíráljuk a fellebbezésedet, és értesítünk a döntésünkről.\n\n– {product_name} biztonsági csapata" }, "donation_confirmation": { "subject": "Köszönjük, hogy adományoddal támogatod a {product_name} működését", @@ -33,7 +33,7 @@ const EMAIL_I18N_HU_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Döntést hoztunk a {product_name} felületén tett bejelentésedről", - "body": "Szia!\n\nBiztonsági csapatunk elbírálta a digitális szolgáltatásokról szóló rendelet szerinti bejelentésedet (azonosító: {reportId}), és döntést hozott.{hasComment, select, yes {\n\nA biztonsági csapat válasza:\n{publicComment}} other {}}\n\nMás személy fiókjával szemben tett intézkedések részleteit nem osztjuk meg, mert azok az ő személyes adatai.\n\nHa nem értesz egyet a döntéssel, 60 napon belül díjmentesen fellebbezhetsz. Erről az e-mail-címről írj a következő címre: {appeals_email}, add meg a bejelentésed azonosítóját, és fejtsd ki, miért tartod hibásnak a döntést. Ha az EU-ban tartózkodsz, a vitát tanúsított peren kívüli vitarendezési testület elé is viheted. Mindez nem érinti azt a jogodat, hogy bírósághoz fordulj.\n\n– {product_name} biztonsági csapata" + "body": "Szia!\n\nBiztonsági csapatunk elbírálta a digitális szolgáltatásokról szóló rendelet szerinti bejelentésedet (azonosító: {reportId}), és döntést hozott.{hasComment, select, yes {\n\nA biztonsági csapat válasza:\n{publicComment}} other {}}\n\nMás személy fiókjával szemben tett intézkedések részleteit nem osztjuk meg, mert azok az ő személyes adatai.\n\nHa nem értesz egyet a döntéssel, 60 napon belül díjmentesen fellebbezhetsz. {appeals_email, select, null {Fordulj ennek a példánynak az adminisztrátoraihoz, add meg a bejelentésed azonosítóját, és fejtsd ki, miért tartod hibásnak a döntést.} other {Erről az e-mail-címről írj a következő címre: {appeals_email}, add meg a bejelentésed azonosítóját, és fejtsd ki, miért tartod hibásnak a döntést.}} Ha az EU-ban tartózkodsz, a vitát tanúsított peren kívüli vitarendezési testület elé is viheted. Mindez nem érinti azt a jogodat, hogy bírósághoz fordulj.\n\n– {product_name} biztonsági csapata" }, "dsa_report_verification": { "subject": "Erősítsd meg e-mail-címedet a DSA-bejelentéshez", @@ -57,15 +57,15 @@ const EMAIL_I18N_HU_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Megszűntek a beváltott ajándékodhoz tartozó előnyök", - "body": "Szia, {username}!\n\nAz általad beváltott ajándékkódot eredetileg valaki más fizette ki. Ezt a fizetést azóta visszaterhelték (chargeback).\n\nEmiatt megszüntettük azokat az előnyöket, amelyeket az ajándék beváltásakor kapott a fiókod.\n\nHa úgy gondolod, hogy ez tévedés, vedd fel a kapcsolatot ügyfélszolgálatunkkal, és add meg az ajándékkóddal és a beváltás időpontjával kapcsolatos ismert részleteket.\n\n– {product_name} csapata" + "body": "Szia, {username}!\n\nAz általad beváltott ajándékkódot eredetileg valaki más fizette ki. Ezt a fizetést azóta visszaterhelték (chargeback).\n\nEmiatt megszüntettük azokat az előnyöket, amelyeket az ajándék beváltásakor kapott a fiókod.\n\n{support_email, select, null {Ha úgy gondolod, hogy ez tévedés, fordulj ennek a példánynak az adminisztrátoraihoz, és add meg az ajándékkóddal és a beváltás időpontjával kapcsolatos ismert részleteket.} other {Ha úgy gondolod, hogy ez tévedés, vedd fel a kapcsolatot ügyfélszolgálatunkkal, és add meg az ajándékkóddal és a beváltás időpontjával kapcsolatos ismert részleteket.}}\n\n– {product_name} csapata" }, "harvest_completed": { "subject": "A {product_name} adatexportja elkészült, letöltheted az adataidat", - "body": "Szia, {username}!\n\nAz adatexportod elkészült.\n\nLetöltési link:\n{downloadUrl}\n\nÜzenetek száma: {totalMessages, number}\nFájlméret: {fileSizeMB, number} MB\n\nEz a link {expiresAt, date, full} {expiresAt, time, short} időpontban jár le.\n\nHa nem kérted ezt az exportálást, azonnal változtasd meg a jelszavadat, és vedd fel a kapcsolatot az ügyfélszolgálatunkkal.\n\n– {product_name} csapata" + "body": "Szia, {username}!\n\nAz adatexportod elkészült.\n\nLetöltési link:\n{downloadUrl}\n\nÜzenetek száma: {totalMessages, number}\nFájlméret: {fileSizeMB, number} MB\n\nEz a link {expiresAt, date, full} {expiresAt, time, short} időpontban jár le.\n\n{support_email, select, null {Ha nem kérted ezt az exportálást, azonnal változtasd meg a jelszavadat, és fordulj ennek a példánynak az adminisztrátoraihoz.} other {Ha nem kérted ezt az exportálást, azonnal változtasd meg a jelszavadat, és vedd fel a kapcsolatot az ügyfélszolgálatunkkal.}}\n\n– {product_name} csapata" }, "inactivity_warning": { "subject": "{product_name}-fiókodat inaktivitás miatt törölni fogjuk", - "body": "Szia, {username}!\n\nEzen dátum óta nem észleltünk tevékenységet {product_name}-fiókodban: {lastActiveDate, date, full}.\n\nHa nem jelentkezel be az alábbi időpontig, inaktivitás miatt véglegesen töröljük a fiókodat: {deletionDate, date, full} {deletionDate, time, short}.\n\nItt jelentkezhetsz be:\n{loginUrl}\n\nHa mostanában használtad a {product_name} alkalmazást, azonnal vedd fel a kapcsolatot ügyfélszolgálatunkkal.\n\n– {product_name} csapata" + "body": "Szia, {username}!\n\nEzen dátum óta nem észleltünk tevékenységet {product_name}-fiókodban: {lastActiveDate, date, full}.\n\nHa nem jelentkezel be az alábbi időpontig, inaktivitás miatt véglegesen töröljük a fiókodat: {deletionDate, date, full} {deletionDate, time, short}.\n\nItt jelentkezhetsz be:\n{loginUrl}\n\n{support_email, select, null {Ha mostanában használtad a {product_name} alkalmazást, azonnal fordulj ennek a példánynak az adminisztrátoraihoz.} other {Ha mostanában használtad a {product_name} alkalmazást, azonnal vedd fel a kapcsolatot ügyfélszolgálatunkkal.}}\n\n– {product_name} csapata" }, "ip_authorization": { "subject": "Új IP-címről való bejelentkezés engedélyezése", @@ -93,11 +93,11 @@ const EMAIL_I18N_HU_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Elbíráltuk a {product_name} felületén tett bejelentésedet", - "body": "Szia, {username}!\n\nBiztonsági csapatunk elbírálta a bejelentésedet (azonosító: {reportId}).{hasComment, select, yes {\n\nA biztonsági csapat válasza:\n{publicComment}} other {}}\n\nKöszönjük, hogy segítesz mindenki számára biztonságossá tenni a {product_name} közösségét. Minden bejelentést komolyan veszünk, és nagyra értékeljük, hogy segíted a közösséget.\n\nHa kérdésed vagy aggályod van az eredménnyel kapcsolatban, írj erre a címre: {safety_email}.\n\n– {product_name} biztonsági csapata" + "body": "Szia, {username}!\n\nBiztonsági csapatunk elbírálta a bejelentésedet (azonosító: {reportId}).{hasComment, select, yes {\n\nA biztonsági csapat válasza:\n{publicComment}} other {}}\n\nKöszönjük, hogy segítesz mindenki számára biztonságossá tenni a {product_name} közösségét. Minden bejelentést komolyan veszünk, és nagyra értékeljük, hogy segíted a közösséget.\n\n{safety_email, select, null {Ha kérdésed vagy aggályod van az eredménnyel kapcsolatban, fordulj ennek a példánynak az adminisztrátoraihoz.} other {Ha kérdésed vagy aggályod van az eredménnyel kapcsolatban, írj erre a címre: {safety_email}.}}\n\n– {product_name} biztonsági csapata" }, "scheduled_deletion_notification": { "subject": "{product_name}-fiókodat véglegesen törölni fogjuk", - "body": "Szia, {username}!\n\nÜtemeztük {product_name}-fiókod végleges törlését.\n\nA törlés tervezett időpontja: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Indok: {reason}}\n}\n\nEz súlyos moderációs intézkedés. Fiókod adatait a megadott időpontban véglegesen töröljük.\n\nHa úgy gondolod, hogy ez a döntés hibás volt, fellebbezhetsz. Erről az e-mail-címről írj a következő címre: {appeals_email}.\n\n– {product_name} biztonsági csapata" + "body": "Szia, {username}!\n\nÜtemeztük {product_name}-fiókod végleges törlését.\n\nA törlés tervezett időpontja: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Indok: {reason}}\n}\n\nEz súlyos moderációs intézkedés. Fiókod adatait a megadott időpontban véglegesen töröljük.\n\nHa úgy gondolod, hogy ez a döntés hibás volt, fellebbezhetsz. {appeals_email, select, null {Fordulj ennek a példánynak az adminisztrátoraihoz.} other {Erről az e-mail-címről írj a következő címre: {appeals_email}.}}\n\n– {product_name} biztonsági csapata" }, "self_deletion_scheduled": { "subject": "Ütemeztük {product_name}-fiókod törlését", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/id.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/id.ts index 1509843d4..9bee91cd5 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/id.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/id.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_ID_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Penghapusan akun {product_name} kamu telah dibatalkan", - "body": "Halo {username},\n\nPenghapusan terjadwal untuk akun {product_name} kamu telah dibatalkan. Akunmu tidak akan dihapus.\n\nJika kamu punya pertanyaan, silakan hubungi {safety_email}.\n\n– Tim {product_name}" + "body": "Halo {username},\n\nPenghapusan terjadwal untuk akun {product_name} kamu telah dibatalkan. Akunmu tidak akan dihapus.\n\n{safety_email, select, null {Jika kamu punya pertanyaan, silakan hubungi administrator instance ini.} other {Jika kamu punya pertanyaan, silakan hubungi {safety_email}.}}\n\n– Tim {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Akun {product_name} kamu akan dihapus karena tidak aktif", - "body": "Halo {username},\n\nAkun {product_name} kamu sudah lama tidak aktif, sehingga dijadwalkan untuk dihapus permanen pada:\n\n{deletionDate, date, full} pukul {deletionDate, time, short}{reason, select, null {} other {\n\nAlasan: {reason}}}\n\nJika kamu ingin mempertahankan akunmu, hubungi {safety_email} dari alamat email ini sebelum tanggal tersebut.\n\n– Tim {product_name}" + "body": "Halo {username},\n\nAkun {product_name} kamu sudah lama tidak aktif, sehingga dijadwalkan untuk dihapus permanen pada:\n\n{deletionDate, date, full} pukul {deletionDate, time, short}{reason, select, null {} other {\n\nAlasan: {reason}}}\n\n{safety_email, select, null {Jika kamu ingin mempertahankan akunmu, hubungi administrator instance ini sebelum tanggal tersebut.} other {Jika kamu ingin mempertahankan akunmu, hubungi {safety_email} dari alamat email ini sebelum tanggal tersebut.}}\n\n– Tim {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Penghapusan akun {product_name} kamu telah dijadwalkan", - "body": "Halo {username},\n\nSesuai permintaanmu, akun {product_name} kamu dijadwalkan untuk dihapus permanen pada:\n\n{deletionDate, date, full} pukul {deletionDate, time, short}{reason, select, null {} other {\n\nAlasan: {reason}}}\n\nAkunmu dikunci hingga saat itu. Jika kamu tidak meminta ini, atau ingin mempertahankan akunmu, hubungi {safety_email} dari alamat email ini sebelum tanggal tersebut.\n\n– Tim {product_name}" + "body": "Halo {username},\n\nSesuai permintaanmu, akun {product_name} kamu dijadwalkan untuk dihapus permanen pada:\n\n{deletionDate, date, full} pukul {deletionDate, time, short}{reason, select, null {} other {\n\nAlasan: {reason}}}\n\nAkunmu dikunci hingga saat itu. {safety_email, select, null {Jika kamu tidak meminta ini, atau ingin mempertahankan akunmu, hubungi administrator instance ini sebelum tanggal tersebut.} other {Jika kamu tidak meminta ini, atau ingin mempertahankan akunmu, hubungi {safety_email} dari alamat email ini sebelum tanggal tersebut.}}\n\n– Tim {product_name}" }, "account_scheduled_deletion": { "subject": "Akun {product_name} kamu akan dihapus secara permanen", - "body": "Halo {username},\n\nAkun {product_name} kamu telah dijadwalkan untuk dihapus permanen karena melanggar Ketentuan Layanan atau Pedoman Komunitas kami.\n\nPenghapusan terjadwal: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Alasan: {reason}}\n}\n\nIni adalah tindakan penegakan yang serius. Data akunmu akan dihapus permanen pada tanggal yang dijadwalkan.\n\nSilakan tinjau:\n- Ketentuan Layanan: {termsUrl}\n- Pedoman Komunitas: {guidelinesUrl}\n\nProses banding:\nJika kamu yakin keputusan ini keliru atau tidak beralasan, kamu punya 60 hari untuk mengajukan banding. Kirim email ke {appeals_email} dari alamat email ini.\n\nDalam bandingmu:\n- Uraikan dengan jelas kenapa kamu yakin keputusan ini keliru atau tidak beralasan\n- Berikan bukti atau konteks yang relevan\n\nAnggota Tim Keamanan {product_name} akan meninjau bandingmu dan bisa menunda penghapusan sampai keputusan akhir tercapai.\n\n– Tim Keamanan {product_name}" + "body": "Halo {username},\n\nAkun {product_name} kamu telah dijadwalkan untuk dihapus permanen karena melanggar Ketentuan Layanan atau Pedoman Komunitas kami.\n\nPenghapusan terjadwal: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Alasan: {reason}}\n}\n\nIni adalah tindakan penegakan yang serius. Data akunmu akan dihapus permanen pada tanggal yang dijadwalkan.\n\n{legalLinks, select,\n both {Silakan tinjau:\n- Ketentuan Layanan: {termsUrl}\n- Pedoman Komunitas: {guidelinesUrl}\n\n}\n terms {Silakan tinjau:\n- Ketentuan Layanan: {termsUrl}\n\n}\n guidelines {Silakan tinjau:\n- Pedoman Komunitas: {guidelinesUrl}\n\n}\n other {}\n}Proses banding:\nJika kamu yakin keputusan ini keliru atau tidak beralasan, kamu punya 60 hari untuk mengajukan banding. {appeals_email, select, null {Hubungi administrator instance ini.} other {Kirim email ke {appeals_email} dari alamat email ini.}}\n\nDalam bandingmu:\n- Uraikan dengan jelas kenapa kamu yakin keputusan ini keliru atau tidak beralasan\n- Berikan bukti atau konteks yang relevan\n\nAnggota Tim Keamanan {product_name} akan meninjau bandingmu dan bisa menunda penghapusan sampai keputusan akhir tercapai.\n\n– Tim Keamanan {product_name}" }, "account_temp_banned": { "subject": "Akun {product_name} kamu telah ditangguhkan sementara", - "body": "Halo {username},\n\nAkun {product_name} kamu telah ditangguhkan sementara karena melanggar Ketentuan Layanan atau Pedoman Komunitas kami.\n\nDurasi: {durationHours, plural,\n =1 {1 jam}\n other {# jam}\n}\nDitangguhkan hingga: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Alasan: {reason}}\n}\n\nSelama waktu ini, kamu tidak akan bisa mengakses akunmu.\n\nSilakan tinjau:\n- Ketentuan Layanan: {termsUrl}\n- Pedoman Komunitas: {guidelinesUrl}\n\nJika kamu yakin keputusan ini keliru atau tidak beralasan, kamu bisa mengajukan banding. Kirim email ke {appeals_email} dari alamat email ini dan uraikan dengan jelas kenapa kamu yakin keputusan ini keliru. Kami akan meninjau bandingmu dan menyampaikan keputusan kami.\n\n– Tim Keamanan {product_name}" + "body": "Halo {username},\n\nAkun {product_name} kamu telah ditangguhkan sementara karena melanggar Ketentuan Layanan atau Pedoman Komunitas kami.\n\nDurasi: {durationHours, plural,\n =1 {1 jam}\n other {# jam}\n}\nDitangguhkan hingga: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Alasan: {reason}}\n}\n\nSelama waktu ini, kamu tidak akan bisa mengakses akunmu.\n\n{legalLinks, select,\n both {Silakan tinjau:\n- Ketentuan Layanan: {termsUrl}\n- Pedoman Komunitas: {guidelinesUrl}\n\n}\n terms {Silakan tinjau:\n- Ketentuan Layanan: {termsUrl}\n\n}\n guidelines {Silakan tinjau:\n- Pedoman Komunitas: {guidelinesUrl}\n\n}\n other {}\n}Jika kamu yakin keputusan ini keliru atau tidak beralasan, kamu bisa mengajukan banding. {appeals_email, select, null {Hubungi administrator instance ini dan uraikan dengan jelas kenapa kamu yakin keputusan ini keliru.} other {Kirim email ke {appeals_email} dari alamat email ini dan uraikan dengan jelas kenapa kamu yakin keputusan ini keliru.}} Kami akan meninjau bandingmu dan menyampaikan keputusan kami.\n\n– Tim Keamanan {product_name}" }, "donation_confirmation": { "subject": "Terima kasih atas donasimu untuk {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_ID_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Kami telah mengambil keputusan atas laporanmu di {product_name}", - "body": "Halo,\n\nTim Keamanan kami telah meninjau laporan Digital Services Act kamu (ID: {reportId}) dan mengambil keputusan.{hasComment, select, yes {\n\nTanggapan dari Tim Keamanan:\n{publicComment}} other {}}\n\nKami tidak membagikan detail tindakan yang diambil terhadap akun orang lain, karena itu adalah data pribadi mereka.\n\nJika kamu tidak setuju dengan keputusan ini, kamu bisa mengajukan banding secara gratis dalam waktu 60 hari. Kirim email ke {appeals_email} dari alamat email ini, sertakan ID laporanmu, dan jelaskan kenapa menurutmu keputusan ini keliru. Jika kamu berada di Uni Eropa, kamu juga bisa membawa sengketa ini ke badan penyelesaian sengketa di luar pengadilan yang bersertifikat. Semua ini tidak memengaruhi hakmu untuk menempuh jalur pengadilan.\n\n– Tim Keamanan {product_name}" + "body": "Halo,\n\nTim Keamanan kami telah meninjau laporan Digital Services Act kamu (ID: {reportId}) dan mengambil keputusan.{hasComment, select, yes {\n\nTanggapan dari Tim Keamanan:\n{publicComment}} other {}}\n\nKami tidak membagikan detail tindakan yang diambil terhadap akun orang lain, karena itu adalah data pribadi mereka.\n\nJika kamu tidak setuju dengan keputusan ini, kamu bisa mengajukan banding secara gratis dalam waktu 60 hari. {appeals_email, select, null {Hubungi administrator instance ini, sertakan ID laporanmu, dan jelaskan kenapa menurutmu keputusan ini keliru.} other {Kirim email ke {appeals_email} dari alamat email ini, sertakan ID laporanmu, dan jelaskan kenapa menurutmu keputusan ini keliru.}} Jika kamu berada di Uni Eropa, kamu juga bisa membawa sengketa ini ke badan penyelesaian sengketa di luar pengadilan yang bersertifikat. Semua ini tidak memengaruhi hakmu untuk menempuh jalur pengadilan.\n\n– Tim Keamanan {product_name}" }, "dsa_report_verification": { "subject": "Verifikasi emailmu untuk laporan DSA", @@ -57,15 +57,15 @@ const EMAIL_I18N_ID_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Manfaat dari hadiah yang kamu tukarkan telah dihapus", - "body": "Halo {username},\n\nKode hadiah yang kamu tukarkan awalnya dibayar oleh orang lain. Pembayaran itu kemudian dibatalkan (chargeback).\n\nKarena itu, kami menghapus manfaat yang ditambahkan ke akunmu saat kamu menukarkan hadiah tersebut.\n\nJika kamu merasa ini keliru, silakan hubungi tim dukungan kami dan sertakan detail apa pun yang kamu punya tentang kode hadiah itu dan kapan kamu menukarkannya.\n\n– Tim {product_name}" + "body": "Halo {username},\n\nKode hadiah yang kamu tukarkan awalnya dibayar oleh orang lain. Pembayaran itu kemudian dibatalkan (chargeback).\n\nKarena itu, kami menghapus manfaat yang ditambahkan ke akunmu saat kamu menukarkan hadiah tersebut.\n\n{support_email, select, null {Jika kamu merasa ini keliru, silakan hubungi administrator instance ini dan sertakan detail apa pun yang kamu punya tentang kode hadiah itu dan kapan kamu menukarkannya.} other {Jika kamu merasa ini keliru, silakan hubungi tim dukungan kami dan sertakan detail apa pun yang kamu punya tentang kode hadiah itu dan kapan kamu menukarkannya.}}\n\n– Tim {product_name}" }, "harvest_completed": { "subject": "Ekspor data {product_name} kamu siap diunduh", - "body": "Halo {username},\n\nEkspor datamu sudah siap.\n\nTautan unduh:\n{downloadUrl}\n\nPesan yang disertakan: {totalMessages, number}\nUkuran file: {fileSizeMB, number} MB\n\nTautan ini kedaluwarsa pada {expiresAt, date, full} pukul {expiresAt, time, short}.\n\nJika kamu tidak meminta ekspor ini, segera ubah kata sandimu dan hubungi tim dukungan kami.\n\n– Tim {product_name}" + "body": "Halo {username},\n\nEkspor datamu sudah siap.\n\nTautan unduh:\n{downloadUrl}\n\nPesan yang disertakan: {totalMessages, number}\nUkuran file: {fileSizeMB, number} MB\n\nTautan ini kedaluwarsa pada {expiresAt, date, full} pukul {expiresAt, time, short}.\n\n{support_email, select, null {Jika kamu tidak meminta ekspor ini, segera ubah kata sandimu dan hubungi administrator instance ini.} other {Jika kamu tidak meminta ekspor ini, segera ubah kata sandimu dan hubungi tim dukungan kami.}}\n\n– Tim {product_name}" }, "inactivity_warning": { "subject": "Akun {product_name} kamu akan dihapus karena tidak aktif", - "body": "Halo {username},\n\nKami belum melihat aktivitas apa pun di akun {product_name} kamu sejak {lastActiveDate, date, full}.\n\nJika kamu tidak masuk sebelum {deletionDate, date, full} pukul {deletionDate, time, short}, akunmu akan dihapus permanen karena tidak aktif.\n\nMasuk di sini:\n{loginUrl}\n\nJika kamu baru saja menggunakan {product_name}, segera hubungi tim dukungan kami.\n\n– Tim {product_name}" + "body": "Halo {username},\n\nKami belum melihat aktivitas apa pun di akun {product_name} kamu sejak {lastActiveDate, date, full}.\n\nJika kamu tidak masuk sebelum {deletionDate, date, full} pukul {deletionDate, time, short}, akunmu akan dihapus permanen karena tidak aktif.\n\nMasuk di sini:\n{loginUrl}\n\n{support_email, select, null {Jika kamu baru saja menggunakan {product_name}, segera hubungi administrator instance ini.} other {Jika kamu baru saja menggunakan {product_name}, segera hubungi tim dukungan kami.}}\n\n– Tim {product_name}" }, "ip_authorization": { "subject": "Otorisasi masuk dari alamat IP baru", @@ -93,11 +93,11 @@ const EMAIL_I18N_ID_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Laporanmu di {product_name} telah ditinjau", - "body": "Halo {username},\n\nLaporanmu (ID: {reportId}) telah ditinjau oleh Tim Keamanan kami.{hasComment, select, yes {\n\nTanggapan dari Tim Keamanan:\n{publicComment}} other {}}\n\nTerima kasih telah membantu menjaga {product_name} tetap aman untuk semua orang. Kami menanggapi semua laporan dengan serius dan menghargai kontribusimu bagi komunitas.\n\nJika kamu punya pertanyaan atau kekhawatiran tentang hasil ini, silakan hubungi {safety_email}.\n\n– Tim Keamanan {product_name}" + "body": "Halo {username},\n\nLaporanmu (ID: {reportId}) telah ditinjau oleh Tim Keamanan kami.{hasComment, select, yes {\n\nTanggapan dari Tim Keamanan:\n{publicComment}} other {}}\n\nTerima kasih telah membantu menjaga {product_name} tetap aman untuk semua orang. Kami menanggapi semua laporan dengan serius dan menghargai kontribusimu bagi komunitas.\n\n{safety_email, select, null {Jika kamu punya pertanyaan atau kekhawatiran tentang hasil ini, silakan hubungi administrator instance ini.} other {Jika kamu punya pertanyaan atau kekhawatiran tentang hasil ini, silakan hubungi {safety_email}.}}\n\n– Tim Keamanan {product_name}" }, "scheduled_deletion_notification": { "subject": "Akun {product_name} kamu akan dihapus secara permanen", - "body": "Halo {username},\n\nAkun {product_name} kamu telah dijadwalkan untuk dihapus permanen.\n\nPenghapusan terjadwal: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Alasan: {reason}}\n}\n\nIni adalah tindakan penegakan yang serius. Data akunmu akan dihapus permanen pada tanggal yang dijadwalkan.\n\nJika kamu yakin keputusan ini keliru, kamu bisa mengajukan banding. Kirim email ke {appeals_email} dari alamat email ini.\n\n– Tim Keamanan {product_name}" + "body": "Halo {username},\n\nAkun {product_name} kamu telah dijadwalkan untuk dihapus permanen.\n\nPenghapusan terjadwal: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Alasan: {reason}}\n}\n\nIni adalah tindakan penegakan yang serius. Data akunmu akan dihapus permanen pada tanggal yang dijadwalkan.\n\nJika kamu yakin keputusan ini keliru, kamu bisa mengajukan banding. {appeals_email, select, null {Hubungi administrator instance ini.} other {Kirim email ke {appeals_email} dari alamat email ini.}}\n\n– Tim Keamanan {product_name}" }, "self_deletion_scheduled": { "subject": "Penghapusan akun {product_name} kamu telah dijadwalkan", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/it.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/it.ts index 6af014db4..9f043905b 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/it.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/it.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_IT_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "L'eliminazione del tuo account {product_name} è stata annullata", - "body": "Ciao {username},\n\nL'eliminazione programmata del tuo account {product_name} è stata annullata. Il tuo account non verrà eliminato.\n\nPer qualsiasi domanda, contatta {safety_email}.\n\n– Il team di {product_name}" + "body": "Ciao {username},\n\nL'eliminazione programmata del tuo account {product_name} è stata annullata. Il tuo account non verrà eliminato.\n\n{safety_email, select, null {Per qualsiasi domanda, contatta gli amministratori di questa istanza.} other {Per qualsiasi domanda, contatta {safety_email}.}}\n\n– Il team di {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Il tuo account {product_name} verrà eliminato per inattività", - "body": "Ciao {username},\n\nIl tuo account {product_name} è inattivo da molto tempo, quindi verrà eliminato definitivamente in questa data:\n\n{deletionDate, date, full} alle {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nSe vuoi mantenere il tuo account, contatta {safety_email} da questo indirizzo email prima di tale data.\n\n– Il team di {product_name}" + "body": "Ciao {username},\n\nIl tuo account {product_name} è inattivo da molto tempo, quindi verrà eliminato definitivamente in questa data:\n\n{deletionDate, date, full} alle {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\n{safety_email, select, null {Se vuoi mantenere il tuo account, contatta gli amministratori di questa istanza prima di tale data.} other {Se vuoi mantenere il tuo account, contatta {safety_email} da questo indirizzo email prima di tale data.}}\n\n– Il team di {product_name}" }, "account_deletion_scheduled_requested": { "subject": "L'eliminazione del tuo account {product_name} è programmata", - "body": "Ciao {username},\n\nCome da tua richiesta, il tuo account {product_name} verrà eliminato definitivamente in questa data:\n\n{deletionDate, date, full} alle {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nFino ad allora il tuo account è bloccato. Se non hai richiesto l'eliminazione o se vuoi mantenere il tuo account, contatta {safety_email} da questo indirizzo email prima di tale data.\n\n– Il team di {product_name}" + "body": "Ciao {username},\n\nCome da tua richiesta, il tuo account {product_name} verrà eliminato definitivamente in questa data:\n\n{deletionDate, date, full} alle {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nFino ad allora il tuo account è bloccato. {safety_email, select, null {Se non hai richiesto l'eliminazione o se vuoi mantenere il tuo account, contatta gli amministratori di questa istanza prima di tale data.} other {Se non hai richiesto l'eliminazione o se vuoi mantenere il tuo account, contatta {safety_email} da questo indirizzo email prima di tale data.}}\n\n– Il team di {product_name}" }, "account_scheduled_deletion": { "subject": "Il tuo account {product_name} verrà eliminato definitivamente", - "body": "Ciao {username},\n\nÈ stata programmata l’eliminazione definitiva del tuo account {product_name} a causa di violazioni dei nostri Termini di servizio o delle Linee guida della community.\n\nEliminazione programmata: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nSi tratta di un provvedimento grave. I dati del tuo account verranno eliminati definitivamente alla data programmata.\n\nConsulta:\n- Termini di servizio: {termsUrl}\n- Linee guida della community: {guidelinesUrl}\n\nProcedura di ricorso:\nSe ritieni che questa decisione sia scorretta o ingiustificata, hai 60 giorni per presentare un ricorso. Invia un'email a {appeals_email} da questo indirizzo email.\n\nNel tuo ricorso:\n- Spiega chiaramente perché ritieni che la decisione sia scorretta o ingiustificata\n- Fornisci qualsiasi prova o contesto pertinente\n\nUn membro del team per la sicurezza {product_name} esaminerà il tuo ricorso e potrebbe sospendere l’eliminazione programmata fino a quando non sarà stata raggiunta una decisione finale.\n\n– Il team per la sicurezza di {product_name}" + "body": "Ciao {username},\n\nÈ stata programmata l’eliminazione definitiva del tuo account {product_name} a causa di violazioni dei nostri Termini di servizio o delle Linee guida della community.\n\nEliminazione programmata: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nSi tratta di un provvedimento grave. I dati del tuo account verranno eliminati definitivamente alla data programmata.\n\n{legalLinks, select,\n both {Consulta:\n- Termini di servizio: {termsUrl}\n- Linee guida della community: {guidelinesUrl}\n\n}\n terms {Consulta:\n- Termini di servizio: {termsUrl}\n\n}\n guidelines {Consulta:\n- Linee guida della community: {guidelinesUrl}\n\n}\n other {}\n}Procedura di ricorso:\nSe ritieni che questa decisione sia scorretta o ingiustificata, hai 60 giorni per presentare un ricorso. {appeals_email, select, null {Contatta gli amministratori di questa istanza.} other {Invia un'email a {appeals_email} da questo indirizzo email.}}\n\nNel tuo ricorso:\n- Spiega chiaramente perché ritieni che la decisione sia scorretta o ingiustificata\n- Fornisci qualsiasi prova o contesto pertinente\n\nUn membro del team per la sicurezza {product_name} esaminerà il tuo ricorso e potrebbe sospendere l’eliminazione programmata fino a quando non sarà stata raggiunta una decisione finale.\n\n– Il team per la sicurezza di {product_name}" }, "account_temp_banned": { "subject": "Il tuo account {product_name} è stato temporaneamente sospeso", - "body": "Ciao {username},\n\nIl tuo account {product_name} è stato temporaneamente sospeso per aver violato i nostri Termini di servizio o le Linee guida della community.\n\nDurata: {durationHours, plural,\n =1 {1 ora}\n other {# ore}\n}\nSospeso fino a: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nDurante questo periodo, non potrai accedere al tuo account.\n\nConsulta:\n- Termini di servizio: {termsUrl}\n- Linee guida della community: {guidelinesUrl}\n\nSe ritieni che questa decisione sia scorretta o ingiustificata, puoi presentare un ricorso. Invia un'email a {appeals_email} da questo indirizzo email e spiega chiaramente perché ritieni che la decisione sia scorretta. Esamineremo il tuo ricorso e risponderemo con la nostra decisione.\n\n– Il team per la sicurezza di {product_name}" + "body": "Ciao {username},\n\nIl tuo account {product_name} è stato temporaneamente sospeso per aver violato i nostri Termini di servizio o le Linee guida della community.\n\nDurata: {durationHours, plural,\n =1 {1 ora}\n other {# ore}\n}\nSospeso fino a: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nDurante questo periodo, non potrai accedere al tuo account.\n\n{legalLinks, select,\n both {Consulta:\n- Termini di servizio: {termsUrl}\n- Linee guida della community: {guidelinesUrl}\n\n}\n terms {Consulta:\n- Termini di servizio: {termsUrl}\n\n}\n guidelines {Consulta:\n- Linee guida della community: {guidelinesUrl}\n\n}\n other {}\n}Se ritieni che questa decisione sia scorretta o ingiustificata, puoi presentare un ricorso. {appeals_email, select, null {Contatta gli amministratori di questa istanza e spiega chiaramente perché ritieni che la decisione sia scorretta.} other {Invia un'email a {appeals_email} da questo indirizzo email e spiega chiaramente perché ritieni che la decisione sia scorretta.}} Esamineremo il tuo ricorso e risponderemo con la nostra decisione.\n\n– Il team per la sicurezza di {product_name}" }, "donation_confirmation": { "subject": "Grazie per la tua donazione a {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_IT_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Abbiamo preso una decisione sulla tua segnalazione su {product_name}", - "body": "Ciao,\n\nIl nostro team per la sicurezza ha esaminato la tua segnalazione ai sensi del Digital Services Act (ID: {reportId}) e ha preso una decisione.{hasComment, select, yes {\n\nRisposta dal team per la sicurezza:\n{publicComment}} other {}}\n\nNon condividiamo i dettagli delle misure adottate nei confronti dell'account di un'altra persona, perché si tratta dei suoi dati personali.\n\nSe non sei d'accordo con questa decisione, puoi presentare un ricorso gratuitamente entro 60 giorni. Invia un'email a {appeals_email} da questo indirizzo email, indica l'ID della tua segnalazione e spiega perché ritieni che la decisione sia scorretta. Se ti trovi nell'UE, puoi anche sottoporre la controversia a un organismo certificato di risoluzione extragiudiziale delle controversie. Tutto questo non pregiudica il tuo diritto di rivolgerti a un tribunale.\n\n– Il team per la sicurezza di {product_name}" + "body": "Ciao,\n\nIl nostro team per la sicurezza ha esaminato la tua segnalazione ai sensi del Digital Services Act (ID: {reportId}) e ha preso una decisione.{hasComment, select, yes {\n\nRisposta dal team per la sicurezza:\n{publicComment}} other {}}\n\nNon condividiamo i dettagli delle misure adottate nei confronti dell'account di un'altra persona, perché si tratta dei suoi dati personali.\n\nSe non sei d'accordo con questa decisione, puoi presentare un ricorso gratuitamente entro 60 giorni. {appeals_email, select, null {Contatta gli amministratori di questa istanza, indica l'ID della tua segnalazione e spiega perché ritieni che la decisione sia scorretta.} other {Invia un'email a {appeals_email} da questo indirizzo email, indica l'ID della tua segnalazione e spiega perché ritieni che la decisione sia scorretta.}} Se ti trovi nell'UE, puoi anche sottoporre la controversia a un organismo certificato di risoluzione extragiudiziale delle controversie. Tutto questo non pregiudica il tuo diritto di rivolgerti a un tribunale.\n\n– Il team per la sicurezza di {product_name}" }, "dsa_report_verification": { "subject": "Verifica la tua email per una segnalazione DSA", @@ -57,15 +57,15 @@ const EMAIL_I18N_IT_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "I vantaggi del tuo regalo riscattato sono stati rimossi", - "body": "Ciao {username},\n\nUn codice regalo che hai riscattato era stato originariamente pagato da qualcun altro. Tale pagamento è stato successivamente annullato (un chargeback).\n\nPer questo motivo, abbiamo rimosso i vantaggi che erano stati aggiunti al tuo account quando hai riscattato il regalo.\n\nSe ritieni che si tratti di un errore, contatta il nostro team di assistenza e includi tutti i dettagli che hai sul codice regalo e su quando lo hai riscattato.\n\n– Il team di {product_name}" + "body": "Ciao {username},\n\nUn codice regalo che hai riscattato era stato originariamente pagato da qualcun altro. Tale pagamento è stato successivamente annullato (un chargeback).\n\nPer questo motivo, abbiamo rimosso i vantaggi che erano stati aggiunti al tuo account quando hai riscattato il regalo.\n\n{support_email, select, null {Se ritieni che si tratti di un errore, contatta gli amministratori di questa istanza e includi tutti i dettagli che hai sul codice regalo e su quando lo hai riscattato.} other {Se ritieni che si tratti di un errore, contatta il nostro team di assistenza e includi tutti i dettagli che hai sul codice regalo e su quando lo hai riscattato.}}\n\n– Il team di {product_name}" }, "harvest_completed": { "subject": "La tua esportazione dati {product_name} è pronta per il download", - "body": "Ciao {username},\n\nLa tua esportazione dei dati è pronta.\n\nLink per il download:\n{downloadUrl}\n\nMessaggi inclusi: {totalMessages, number}\nDimensione file: {fileSizeMB, number} MB\n\nQuesto link scade il {expiresAt, date, full} alle {expiresAt, time, short}.\n\nSe non hai richiesto questa esportazione, cambia immediatamente la password e contatta il nostro team di assistenza.\n\n– Il team di {product_name}" + "body": "Ciao {username},\n\nLa tua esportazione dei dati è pronta.\n\nLink per il download:\n{downloadUrl}\n\nMessaggi inclusi: {totalMessages, number}\nDimensione file: {fileSizeMB, number} MB\n\nQuesto link scade il {expiresAt, date, full} alle {expiresAt, time, short}.\n\n{support_email, select, null {Se non hai richiesto questa esportazione, cambia immediatamente la password e contatta gli amministratori di questa istanza.} other {Se non hai richiesto questa esportazione, cambia immediatamente la password e contatta il nostro team di assistenza.}}\n\n– Il team di {product_name}" }, "inactivity_warning": { "subject": "Il tuo account {product_name} verrà eliminato per inattività", - "body": "Ciao {username},\n\nNon abbiamo rilevato alcuna attività sul tuo account {product_name} dal {lastActiveDate, date, full}.\n\nSe non effettui l'accesso entro il {deletionDate, date, full} alle {deletionDate, time, short}, il tuo account verrà eliminato definitivamente a causa di inattività.\n\nAccedi qui:\n{loginUrl}\n\nSe hai usato {product_name} di recente, contatta subito il nostro team di assistenza.\n\n– Il team di {product_name}" + "body": "Ciao {username},\n\nNon abbiamo rilevato alcuna attività sul tuo account {product_name} dal {lastActiveDate, date, full}.\n\nSe non effettui l'accesso entro il {deletionDate, date, full} alle {deletionDate, time, short}, il tuo account verrà eliminato definitivamente a causa di inattività.\n\nAccedi qui:\n{loginUrl}\n\n{support_email, select, null {Se hai usato {product_name} di recente, contatta subito gli amministratori di questa istanza.} other {Se hai usato {product_name} di recente, contatta subito il nostro team di assistenza.}}\n\n– Il team di {product_name}" }, "ip_authorization": { "subject": "Autorizza l'accesso da un nuovo indirizzo IP", @@ -93,11 +93,11 @@ const EMAIL_I18N_IT_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "La tua segnalazione {product_name} è stata esaminata", - "body": "Ciao {username},\n\nLa tua segnalazione (ID: {reportId}) è stata esaminata dal nostro team per la sicurezza.{hasComment, select, yes {\n\nRisposta dal team per la sicurezza:\n{publicComment}} other {}}\n\nGrazie per aver contribuito a mantenere {product_name} sicuro per tutti. Prendiamo sul serio tutte le segnalazioni e apprezziamo il tuo contributo alla community.\n\nSe hai domande o preoccupazioni riguardo a questo esito, contatta {safety_email}.\n\n– Il team per la sicurezza di {product_name}" + "body": "Ciao {username},\n\nLa tua segnalazione (ID: {reportId}) è stata esaminata dal nostro team per la sicurezza.{hasComment, select, yes {\n\nRisposta dal team per la sicurezza:\n{publicComment}} other {}}\n\nGrazie per aver contribuito a mantenere {product_name} sicuro per tutti. Prendiamo sul serio tutte le segnalazioni e apprezziamo il tuo contributo alla community.\n\n{safety_email, select, null {Se hai domande o preoccupazioni riguardo a questo esito, contatta gli amministratori di questa istanza.} other {Se hai domande o preoccupazioni riguardo a questo esito, contatta {safety_email}.}}\n\n– Il team per la sicurezza di {product_name}" }, "scheduled_deletion_notification": { "subject": "Il tuo account {product_name} verrà eliminato definitivamente", - "body": "Ciao {username},\n\nÈ stata programmata l’eliminazione definitiva del tuo account {product_name}.\n\nEliminazione programmata: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nSi tratta di un provvedimento grave. I dati del tuo account verranno eliminati definitivamente alla data programmata.\n\nSe ritieni che questa decisione sia scorretta, puoi presentare un ricorso. Invia un'email a {appeals_email} da questo indirizzo email.\n\n– Il team per la sicurezza di {product_name}" + "body": "Ciao {username},\n\nÈ stata programmata l’eliminazione definitiva del tuo account {product_name}.\n\nEliminazione programmata: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nSi tratta di un provvedimento grave. I dati del tuo account verranno eliminati definitivamente alla data programmata.\n\nSe ritieni che questa decisione sia scorretta, puoi presentare un ricorso. {appeals_email, select, null {Contatta gli amministratori di questa istanza.} other {Invia un'email a {appeals_email} da questo indirizzo email.}}\n\n– Il team per la sicurezza di {product_name}" }, "self_deletion_scheduled": { "subject": "L'eliminazione del tuo account {product_name} è programmata", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/ja.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/ja.ts index 603dc806a..0090fd95f 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/ja.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/ja.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_JA_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "{product_name}アカウントの削除予定は取り消されました", - "body": "こんにちは、{username}さん\n\n{product_name}アカウントの削除予定は取り消されました。アカウントは削除されません。\n\nご質問がございましたら、{safety_email}までお問い合わせください。\n\n– {product_name}チーム" + "body": "こんにちは、{username}さん\n\n{product_name}アカウントの削除予定は取り消されました。アカウントは削除されません。\n\n{safety_email, select, null {ご質問がございましたら、このインスタンスの管理者にお問い合わせください。} other {ご質問がございましたら、{safety_email}までお問い合わせください。}}\n\n– {product_name}チーム" }, "account_deletion_scheduled_inactivity": { "subject": "{product_name}アカウントは非アクティブのため削除されます", - "body": "こんにちは、{username}さん\n\n{product_name}アカウントは長期間利用されていないため、以下の日時に完全に削除される予定です。\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n理由: {reason}}}\n\nアカウントを維持したい場合は、この日時までにこのメールアドレスから{safety_email}へご連絡ください。\n\n– {product_name}チーム" + "body": "こんにちは、{username}さん\n\n{product_name}アカウントは長期間利用されていないため、以下の日時に完全に削除される予定です。\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n理由: {reason}}}\n\n{safety_email, select, null {アカウントを維持したい場合は、この日時までにこのインスタンスの管理者へご連絡ください。} other {アカウントを維持したい場合は、この日時までにこのメールアドレスから{safety_email}へご連絡ください。}}\n\n– {product_name}チーム" }, "account_deletion_scheduled_requested": { "subject": "{product_name}アカウントの削除が予定されています", - "body": "こんにちは、{username}さん\n\nリクエストに基づき、{product_name}アカウントは以下の日時に完全に削除される予定です。\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n理由: {reason}}}\n\nそれまでアカウントはロックされます。ご自身でリクエストしていない場合、またはアカウントを維持したい場合は、この日時までにこのメールアドレスから{safety_email}へご連絡ください。\n\n– {product_name}チーム" + "body": "こんにちは、{username}さん\n\nリクエストに基づき、{product_name}アカウントは以下の日時に完全に削除される予定です。\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n理由: {reason}}}\n\nそれまでアカウントはロックされます。{safety_email, select, null {ご自身でリクエストしていない場合、またはアカウントを維持したい場合は、この日時までにこのインスタンスの管理者へご連絡ください。} other {ご自身でリクエストしていない場合、またはアカウントを維持したい場合は、この日時までにこのメールアドレスから{safety_email}へご連絡ください。}}\n\n– {product_name}チーム" }, "account_scheduled_deletion": { "subject": "{product_name}アカウントは完全に削除されます", - "body": "こんにちは、{username}さん\n\n{product_name}アカウントは、利用規約またはコミュニティガイドラインへの違反のため、完全な削除が予定されています。\n\n削除予定日時: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {理由: {reason}}\n}\n\nこれは重大な措置です。アカウントデータは、予定日に完全に削除されます。\n\n以下をご確認ください。\n- 利用規約: {termsUrl}\n- コミュニティガイドライン: {guidelinesUrl}\n\n異議申し立て手続き:\nこの措置が不正確または不当であると思われる場合は、60日以内に異議申し立てを提出できます。このメールアドレスから{appeals_email}までメールを送信してください。\n\n異議申し立てには、以下を記載してください。\n- 措置が不正確または不当であると考える理由の明確な説明\n- 関連する証拠や背景情報\n\n{product_name}安全チームのメンバーが異議申し立てを審査し、最終決定が下されるまで削除を一時停止する場合があります。\n\n– {product_name}安全チーム" + "body": "こんにちは、{username}さん\n\n{product_name}アカウントは、利用規約またはコミュニティガイドラインへの違反のため、完全な削除が予定されています。\n\n削除予定日時: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {理由: {reason}}\n}\n\nこれは重大な措置です。アカウントデータは、予定日に完全に削除されます。\n\n{legalLinks, select,\n both {以下をご確認ください。\n- 利用規約: {termsUrl}\n- コミュニティガイドライン: {guidelinesUrl}\n\n}\n terms {以下をご確認ください。\n- 利用規約: {termsUrl}\n\n}\n guidelines {以下をご確認ください。\n- コミュニティガイドライン: {guidelinesUrl}\n\n}\n other {}\n}異議申し立て手続き:\nこの措置が不正確または不当であると思われる場合は、60日以内に異議申し立てを提出できます。{appeals_email, select, null {このインスタンスの管理者に連絡してください。} other {このメールアドレスから{appeals_email}までメールを送信してください。}}\n\n異議申し立てには、以下を記載してください。\n- 措置が不正確または不当であると考える理由の明確な説明\n- 関連する証拠や背景情報\n\n{product_name}安全チームのメンバーが異議申し立てを審査し、最終決定が下されるまで削除を一時停止する場合があります。\n\n– {product_name}安全チーム" }, "account_temp_banned": { "subject": "{product_name}アカウントが一時的に停止されました", - "body": "こんにちは、{username}さん\n\n{product_name}アカウントは、利用規約またはコミュニティガイドラインへの違反のため、一時的に停止されました。\n\n期間: {durationHours, plural,\n =1 {1時間}\n other {#時間}\n}\n停止解除日時: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {理由: {reason}}\n}\n\nこの期間中、アカウントにアクセスすることはできません。\n\n以下をご確認ください。\n- 利用規約: {termsUrl}\n- コミュニティガイドライン: {guidelinesUrl}\n\nこの措置が不正確または不当であると思われる場合は、異議申し立てを提出できます。このメールアドレスから{appeals_email}までメールを送信し、決定が不正確であると考える理由を明確に説明してください。異議申し立てを審査し、決定をご連絡いたします。\n\n– {product_name}安全チーム" + "body": "こんにちは、{username}さん\n\n{product_name}アカウントは、利用規約またはコミュニティガイドラインへの違反のため、一時的に停止されました。\n\n期間: {durationHours, plural,\n =1 {1時間}\n other {#時間}\n}\n停止解除日時: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {理由: {reason}}\n}\n\nこの期間中、アカウントにアクセスすることはできません。\n\n{legalLinks, select,\n both {以下をご確認ください。\n- 利用規約: {termsUrl}\n- コミュニティガイドライン: {guidelinesUrl}\n\n}\n terms {以下をご確認ください。\n- 利用規約: {termsUrl}\n\n}\n guidelines {以下をご確認ください。\n- コミュニティガイドライン: {guidelinesUrl}\n\n}\n other {}\n}この措置が不正確または不当であると思われる場合は、異議申し立てを提出できます。{appeals_email, select, null {このインスタンスの管理者に連絡し、決定が不正確であると考える理由を明確に説明してください。} other {このメールアドレスから{appeals_email}までメールを送信し、決定が不正確であると考える理由を明確に説明してください。}}異議申し立てを審査し、決定をご連絡いたします。\n\n– {product_name}安全チーム" }, "donation_confirmation": { "subject": "{product_name}へのご寄付ありがとうございます", @@ -33,7 +33,7 @@ const EMAIL_I18N_JA_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "{product_name}への報告について決定しました", - "body": "こんにちは。\n\nデジタルサービス法に基づくご報告(ID: {reportId})を安全チームが審査し、決定を行いました。{hasComment, select, yes {\n\n安全チームからの回答:\n{publicComment}} other {}}\n\n他の方のアカウントに対して行った措置の詳細は、その方の個人データにあたるため、お伝えしていません。\n\nこの決定に同意できない場合は、60日以内に無料で異議申し立てを行えます。このメールアドレスから{appeals_email}までメールを送信し、報告IDを記載のうえ、決定が誤っていると考える理由を説明してください。EU域内にお住まいの場合は、認定を受けた裁判外紛争解決機関に紛争を付託することもできます。これらはいずれも、裁判所に訴える権利に影響しません。\n\n– {product_name}安全チーム" + "body": "こんにちは。\n\nデジタルサービス法に基づくご報告(ID: {reportId})を安全チームが審査し、決定を行いました。{hasComment, select, yes {\n\n安全チームからの回答:\n{publicComment}} other {}}\n\n他の方のアカウントに対して行った措置の詳細は、その方の個人データにあたるため、お伝えしていません。\n\nこの決定に同意できない場合は、60日以内に無料で異議申し立てを行えます。{appeals_email, select, null {このインスタンスの管理者に連絡し、報告IDを記載のうえ、決定が誤っていると考える理由を説明してください。} other {このメールアドレスから{appeals_email}までメールを送信し、報告IDを記載のうえ、決定が誤っていると考える理由を説明してください。}}EU域内にお住まいの場合は、認定を受けた裁判外紛争解決機関に紛争を付託することもできます。これらはいずれも、裁判所に訴える権利に影響しません。\n\n– {product_name}安全チーム" }, "dsa_report_verification": { "subject": "DSA報告のためのメールアドレスを確認", @@ -57,15 +57,15 @@ const EMAIL_I18N_JA_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "引き換えたギフトの特典が削除されました", - "body": "こんにちは、{username}さん\n\n引き換えたギフトコードは、元は別の方が支払ったものです。その支払いはその後取り消されました(チャージバック)。\n\nそのため、ギフトを引き換えた際にアカウントに追加された特典を削除しました。\n\nこれが間違いであると思われる場合は、ギフトコードと引き換え時期に関する詳細を添えて、サポートチームにお問い合わせください。\n\n– {product_name}チーム" + "body": "こんにちは、{username}さん\n\n引き換えたギフトコードは、元は別の方が支払ったものです。その支払いはその後取り消されました(チャージバック)。\n\nそのため、ギフトを引き換えた際にアカウントに追加された特典を削除しました。\n\n{support_email, select, null {これが間違いであると思われる場合は、ギフトコードと引き換え時期に関する詳細を添えて、このインスタンスの管理者にお問い合わせください。} other {これが間違いであると思われる場合は、ギフトコードと引き換え時期に関する詳細を添えて、サポートチームにお問い合わせください。}}\n\n– {product_name}チーム" }, "harvest_completed": { "subject": "{product_name}データのエクスポート準備が完了しました", - "body": "こんにちは、{username}さん\n\nデータのエクスポート準備が完了しました。\n\nダウンロードリンク:\n{downloadUrl}\n\n含まれるメッセージ数: {totalMessages, number}件\nファイルサイズ: {fileSizeMB, number} MB\n\nこのリンクの有効期限は{expiresAt, date, full} {expiresAt, time, short}です。\n\nご自身でこのエクスポートをリクエストしていない場合は、すぐにパスワードを変更し、サポートチームにお問い合わせください。\n\n– {product_name}チーム" + "body": "こんにちは、{username}さん\n\nデータのエクスポート準備が完了しました。\n\nダウンロードリンク:\n{downloadUrl}\n\n含まれるメッセージ数: {totalMessages, number}件\nファイルサイズ: {fileSizeMB, number} MB\n\nこのリンクの有効期限は{expiresAt, date, full} {expiresAt, time, short}です。\n\n{support_email, select, null {ご自身でこのエクスポートをリクエストしていない場合は、すぐにパスワードを変更し、このインスタンスの管理者にお問い合わせください。} other {ご自身でこのエクスポートをリクエストしていない場合は、すぐにパスワードを変更し、サポートチームにお問い合わせください。}}\n\n– {product_name}チーム" }, "inactivity_warning": { "subject": "{product_name}アカウントは非アクティブのため削除されます", - "body": "こんにちは、{username}さん\n\n{lastActiveDate, date, full}以降、{product_name}アカウントでのアクティビティが確認されていません。\n\n{deletionDate, date, full} {deletionDate, time, short}までにログインしない場合、アカウントは非アクティブのため完全に削除されます。\n\nこちらからログインしてください。\n{loginUrl}\n\n最近{product_name}を利用した場合は、すぐにサポートチームにお問い合わせください。\n\n– {product_name}チーム" + "body": "こんにちは、{username}さん\n\n{lastActiveDate, date, full}以降、{product_name}アカウントでのアクティビティが確認されていません。\n\n{deletionDate, date, full} {deletionDate, time, short}までにログインしない場合、アカウントは非アクティブのため完全に削除されます。\n\nこちらからログインしてください。\n{loginUrl}\n\n{support_email, select, null {最近{product_name}を利用した場合は、すぐにこのインスタンスの管理者にお問い合わせください。} other {最近{product_name}を利用した場合は、すぐにサポートチームにお問い合わせください。}}\n\n– {product_name}チーム" }, "ip_authorization": { "subject": "新しいIPアドレスからのログインを承認", @@ -93,11 +93,11 @@ const EMAIL_I18N_JA_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "{product_name}への報告の審査が完了しました", - "body": "こんにちは、{username}さん\n\nご報告いただいた内容(ID: {reportId})を安全チームが審査しました。{hasComment, select, yes {\n\n安全チームからの回答:\n{publicComment}} other {}}\n\n{product_name}をすべての人にとって安全に保つためのご協力ありがとうございます。すべての報告を真剣に受け止め、コミュニティへのご貢献に感謝します。\n\nこの結果についてご質問やご不明な点がございましたら、{safety_email}までお問い合わせください。\n\n– {product_name}安全チーム" + "body": "こんにちは、{username}さん\n\nご報告いただいた内容(ID: {reportId})を安全チームが審査しました。{hasComment, select, yes {\n\n安全チームからの回答:\n{publicComment}} other {}}\n\n{product_name}をすべての人にとって安全に保つためのご協力ありがとうございます。すべての報告を真剣に受け止め、コミュニティへのご貢献に感謝します。\n\n{safety_email, select, null {この結果についてご質問やご不明な点がございましたら、このインスタンスの管理者にお問い合わせください。} other {この結果についてご質問やご不明な点がございましたら、{safety_email}までお問い合わせください。}}\n\n– {product_name}安全チーム" }, "scheduled_deletion_notification": { "subject": "{product_name}アカウントは完全に削除されます", - "body": "こんにちは、{username}さん\n\n{product_name}アカウントの完全な削除が予定されています。\n\n削除予定日時: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {理由: {reason}}\n}\n\nこれは重大な措置です。アカウントデータは、予定日に完全に削除されます。\n\nこの措置が不正確であると思われる場合は、異議申し立てを提出できます。このメールアドレスから{appeals_email}までメールを送信してください。\n\n– {product_name}安全チーム" + "body": "こんにちは、{username}さん\n\n{product_name}アカウントの完全な削除が予定されています。\n\n削除予定日時: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {理由: {reason}}\n}\n\nこれは重大な措置です。アカウントデータは、予定日に完全に削除されます。\n\nこの措置が不正確であると思われる場合は、異議申し立てを提出できます。{appeals_email, select, null {このインスタンスの管理者に連絡してください。} other {このメールアドレスから{appeals_email}までメールを送信してください。}}\n\n– {product_name}安全チーム" }, "self_deletion_scheduled": { "subject": "{product_name}アカウントの削除が予定されています", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/ko.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/ko.ts index 3831c0536..f639c7a3f 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/ko.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/ko.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_KO_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "{product_name} 계정 삭제 예정이 취소되었어요", - "body": "안녕하세요, {username}님.\n\n{product_name} 계정의 삭제 예정이 취소되었어요. 계정은 삭제되지 않아요.\n\n궁금한 점이 있다면 {safety_email}으로 문의해 주세요.\n\n– {product_name} 팀" + "body": "안녕하세요, {username}님.\n\n{product_name} 계정의 삭제 예정이 취소되었어요. 계정은 삭제되지 않아요.\n\n{safety_email, select, null {궁금한 점이 있다면 이 인스턴스의 관리자에게 문의해 주세요.} other {궁금한 점이 있다면 {safety_email}으로 문의해 주세요.}}\n\n– {product_name} 팀" }, "account_deletion_scheduled_inactivity": { "subject": "장기간 미접속으로 {product_name} 계정이 삭제될 예정이에요", - "body": "안녕하세요, {username}님.\n\n{product_name} 계정이 오랫동안 사용되지 않아 다음 날짜에 영구적으로 삭제될 예정이에요:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n사유: {reason}}}\n\n계정을 유지하고 싶다면 해당 날짜 전에 이 이메일 주소에서 {safety_email}으로 문의해 주세요.\n\n– {product_name} 팀" + "body": "안녕하세요, {username}님.\n\n{product_name} 계정이 오랫동안 사용되지 않아 다음 날짜에 영구적으로 삭제될 예정이에요:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n사유: {reason}}}\n\n{safety_email, select, null {계정을 유지하고 싶다면 해당 날짜 전에 이 인스턴스의 관리자에게 문의해 주세요.} other {계정을 유지하고 싶다면 해당 날짜 전에 이 이메일 주소에서 {safety_email}으로 문의해 주세요.}}\n\n– {product_name} 팀" }, "account_deletion_scheduled_requested": { "subject": "{product_name} 계정 삭제가 예정되었어요", - "body": "안녕하세요, {username}님.\n\n요청하신 대로 {product_name} 계정이 다음 날짜에 영구적으로 삭제될 예정이에요:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n사유: {reason}}}\n\n그때까지 계정은 잠겨 있어요. 요청하지 않으셨거나 계정을 유지하고 싶다면 해당 날짜 전에 이 이메일 주소에서 {safety_email}으로 문의해 주세요.\n\n– {product_name} 팀" + "body": "안녕하세요, {username}님.\n\n요청하신 대로 {product_name} 계정이 다음 날짜에 영구적으로 삭제될 예정이에요:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n사유: {reason}}}\n\n그때까지 계정은 잠겨 있어요. {safety_email, select, null {요청하지 않으셨거나 계정을 유지하고 싶다면 해당 날짜 전에 이 인스턴스의 관리자에게 문의해 주세요.} other {요청하지 않으셨거나 계정을 유지하고 싶다면 해당 날짜 전에 이 이메일 주소에서 {safety_email}으로 문의해 주세요.}}\n\n– {product_name} 팀" }, "account_scheduled_deletion": { "subject": "{product_name} 계정이 영구적으로 삭제될 예정이에요", - "body": "안녕하세요, {username}님.\n\n서비스 약관 또는 커뮤니티 가이드라인 위반으로 인해 {product_name} 계정이 영구적으로 삭제될 예정이에요.\n\n삭제 예정일: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {사유: {reason}}\n}\n\n이는 중대한 조치이며, 계정 데이터는 예정된 날짜에 영구적으로 삭제될 예정이에요.\n\n다음 내용을 확인해 주세요:\n- 서비스 약관: {termsUrl}\n- 커뮤니티 가이드라인: {guidelinesUrl}\n\n이의 제기 절차:\n이 조치가 잘못되었거나 부당하다고 생각되면 60일 이내에 이의를 제기할 수 있어요. 이 이메일 주소에서 {appeals_email}으로 이메일을 보내 이의를 제기해 주세요.\n\n이의 제기 시에는:\n- 조치가 잘못되었거나 부당하다고 생각하는 이유를 명확하게 설명해 주세요.\n- 관련 증거 또는 맥락을 제공해 주세요.\n\n{product_name} 안전팀 담당자가 이의 제기를 검토하고 최종 결정이 내려질 때까지 삭제를 일시적으로 보류할 수 있어요.\n\n– {product_name} 안전팀" + "body": "안녕하세요, {username}님.\n\n서비스 약관 또는 커뮤니티 가이드라인 위반으로 인해 {product_name} 계정이 영구적으로 삭제될 예정이에요.\n\n삭제 예정일: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {사유: {reason}}\n}\n\n이는 중대한 조치이며, 계정 데이터는 예정된 날짜에 영구적으로 삭제될 예정이에요.\n\n{legalLinks, select,\n both {다음 내용을 확인해 주세요:\n- 서비스 약관: {termsUrl}\n- 커뮤니티 가이드라인: {guidelinesUrl}\n\n}\n terms {다음 내용을 확인해 주세요:\n- 서비스 약관: {termsUrl}\n\n}\n guidelines {다음 내용을 확인해 주세요:\n- 커뮤니티 가이드라인: {guidelinesUrl}\n\n}\n other {}\n}이의 제기 절차:\n이 조치가 잘못되었거나 부당하다고 생각되면 60일 이내에 이의를 제기할 수 있어요. {appeals_email, select, null {이 인스턴스의 관리자에게 연락해 이의를 제기해 주세요.} other {이 이메일 주소에서 {appeals_email}으로 이메일을 보내 이의를 제기해 주세요.}}\n\n이의 제기 시에는:\n- 조치가 잘못되었거나 부당하다고 생각하는 이유를 명확하게 설명해 주세요.\n- 관련 증거 또는 맥락을 제공해 주세요.\n\n{product_name} 안전팀 담당자가 이의 제기를 검토하고 최종 결정이 내려질 때까지 삭제를 일시적으로 보류할 수 있어요.\n\n– {product_name} 안전팀" }, "account_temp_banned": { "subject": "{product_name} 계정이 일시적으로 정지되었어요", - "body": "안녕하세요, {username}님.\n\n서비스 약관 또는 커뮤니티 가이드라인 위반으로 인해 {product_name} 계정이 일시적으로 정지되었어요.\n\n기간: {durationHours, plural,\n =1 {1시간}\n other {#시간}\n}\n정지 해제 일시: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {사유: {reason}}\n}\n\n이 기간 동안에는 계정에 액세스할 수 없어요.\n\n다음 내용을 확인해 주세요:\n- 서비스 약관: {termsUrl}\n- 커뮤니티 가이드라인: {guidelinesUrl}\n\n이 조치가 잘못되었거나 부당하다고 생각되면 이의를 제기할 수 있어요. 이 이메일 주소에서 {appeals_email}으로 이메일을 보내 결정이 잘못되었다고 생각하는 이유를 명확하게 설명해 주세요. 이의 제기를 검토한 후 결과를 알려 드릴 예정이에요.\n\n– {product_name} 안전팀" + "body": "안녕하세요, {username}님.\n\n서비스 약관 또는 커뮤니티 가이드라인 위반으로 인해 {product_name} 계정이 일시적으로 정지되었어요.\n\n기간: {durationHours, plural,\n =1 {1시간}\n other {#시간}\n}\n정지 해제 일시: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {사유: {reason}}\n}\n\n이 기간 동안에는 계정에 액세스할 수 없어요.\n\n{legalLinks, select,\n both {다음 내용을 확인해 주세요:\n- 서비스 약관: {termsUrl}\n- 커뮤니티 가이드라인: {guidelinesUrl}\n\n}\n terms {다음 내용을 확인해 주세요:\n- 서비스 약관: {termsUrl}\n\n}\n guidelines {다음 내용을 확인해 주세요:\n- 커뮤니티 가이드라인: {guidelinesUrl}\n\n}\n other {}\n}이 조치가 잘못되었거나 부당하다고 생각되면 이의를 제기할 수 있어요. {appeals_email, select, null {이 인스턴스의 관리자에게 연락해 결정이 잘못되었다고 생각하는 이유를 명확하게 설명해 주세요.} other {이 이메일 주소에서 {appeals_email}으로 이메일을 보내 결정이 잘못되었다고 생각하는 이유를 명확하게 설명해 주세요.}} 이의 제기를 검토한 후 결과를 알려 드릴 예정이에요.\n\n– {product_name} 안전팀" }, "donation_confirmation": { "subject": "{product_name} 후원에 감사드려요", @@ -33,7 +33,7 @@ const EMAIL_I18N_KO_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "{product_name} 신고에 대한 결정이 내려졌어요", - "body": "안녕하세요,\n\n안전팀에서 디지털 서비스법 신고(ID: {reportId})를 검토하고 결정을 내렸어요.{hasComment, select, yes {\n\n안전팀의 답변:\n{publicComment}} other {}}\n\n다른 사람의 계정에 취한 조치의 세부 내용은 그 사람의 개인 정보이므로 공유하지 않아요.\n\n이 결정에 동의하지 않는다면 60일 이내에 무료로 이의를 제기할 수 있어요. 이 이메일 주소에서 {appeals_email}으로 이메일을 보내 신고 ID를 적고 결정이 잘못되었다고 생각하는 이유를 설명해 주세요. EU에 거주하고 있다면 인증된 법원 외 분쟁 해결 기관에 분쟁을 회부할 수도 있어요. 이 내용은 법원에 소송을 제기할 권리에 영향을 주지 않아요.\n\n– {product_name} 안전팀" + "body": "안녕하세요,\n\n안전팀에서 디지털 서비스법 신고(ID: {reportId})를 검토하고 결정을 내렸어요.{hasComment, select, yes {\n\n안전팀의 답변:\n{publicComment}} other {}}\n\n다른 사람의 계정에 취한 조치의 세부 내용은 그 사람의 개인 정보이므로 공유하지 않아요.\n\n이 결정에 동의하지 않는다면 60일 이내에 무료로 이의를 제기할 수 있어요. {appeals_email, select, null {이 인스턴스의 관리자에게 연락해 신고 ID를 적고 결정이 잘못되었다고 생각하는 이유를 설명해 주세요.} other {이 이메일 주소에서 {appeals_email}으로 이메일을 보내 신고 ID를 적고 결정이 잘못되었다고 생각하는 이유를 설명해 주세요.}} EU에 거주하고 있다면 인증된 법원 외 분쟁 해결 기관에 분쟁을 회부할 수도 있어요. 이 내용은 법원에 소송을 제기할 권리에 영향을 주지 않아요.\n\n– {product_name} 안전팀" }, "dsa_report_verification": { "subject": "DSA 신고를 위한 이메일 인증", @@ -57,15 +57,15 @@ const EMAIL_I18N_KO_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "사용하신 선물 혜택이 제거되었어요", - "body": "안녕하세요, {username}님.\n\n사용하신 선물 코드는 다른 사용자가 결제한 것이었어요. 해당 결제가 취소(차지백)되었어요.\n\n이로 인해 선물을 사용했을 때 계정에 추가되었던 혜택이 제거되었어요.\n\n실수라고 생각되면 고객지원팀에 문의하여 선물 코드 및 사용 시기에 대한 자세한 정보를 알려 주세요.\n\n– {product_name} 팀" + "body": "안녕하세요, {username}님.\n\n사용하신 선물 코드는 다른 사용자가 결제한 것이었어요. 해당 결제가 취소(차지백)되었어요.\n\n이로 인해 선물을 사용했을 때 계정에 추가되었던 혜택이 제거되었어요.\n\n{support_email, select, null {실수라고 생각되면 이 인스턴스의 관리자에게 문의하여 선물 코드 및 사용 시기에 대한 자세한 정보를 알려 주세요.} other {실수라고 생각되면 고객지원팀에 문의하여 선물 코드 및 사용 시기에 대한 자세한 정보를 알려 주세요.}}\n\n– {product_name} 팀" }, "harvest_completed": { "subject": "{product_name} 데이터 내보내기를 다운로드할 수 있어요", - "body": "안녕하세요, {username}님.\n\n데이터 내보내기가 준비되었어요.\n\n다운로드 링크:\n{downloadUrl}\n\n포함된 메시지: {totalMessages, number}개\n파일 크기: {fileSizeMB, number} MB\n\n이 링크는 {expiresAt, date, full} {expiresAt, time, short}에 만료돼요.\n\n이 내보내기를 요청하지 않으셨다면 즉시 비밀번호를 변경하고 고객지원팀에 문의해 주세요.\n\n– {product_name} 팀" + "body": "안녕하세요, {username}님.\n\n데이터 내보내기가 준비되었어요.\n\n다운로드 링크:\n{downloadUrl}\n\n포함된 메시지: {totalMessages, number}개\n파일 크기: {fileSizeMB, number} MB\n\n이 링크는 {expiresAt, date, full} {expiresAt, time, short}에 만료돼요.\n\n{support_email, select, null {이 내보내기를 요청하지 않으셨다면 즉시 비밀번호를 변경하고 이 인스턴스의 관리자에게 문의해 주세요.} other {이 내보내기를 요청하지 않으셨다면 즉시 비밀번호를 변경하고 고객지원팀에 문의해 주세요.}}\n\n– {product_name} 팀" }, "inactivity_warning": { "subject": "장기간 미접속으로 {product_name} 계정이 삭제될 예정이에요", - "body": "안녕하세요, {username}님.\n\n{lastActiveDate, date, full} 이후로 {product_name} 계정에서 활동이 없었어요.\n\n{deletionDate, date, full} {deletionDate, time, short}까지 로그인하지 않으면 장기간 미접속으로 계정이 영구적으로 삭제될 예정이에요.\n\n여기에서 로그인해 주세요:\n{loginUrl}\n\n최근에 {product_name}를 사용하셨다면 즉시 고객지원팀에 문의해 주세요.\n\n– {product_name} 팀" + "body": "안녕하세요, {username}님.\n\n{lastActiveDate, date, full} 이후로 {product_name} 계정에서 활동이 없었어요.\n\n{deletionDate, date, full} {deletionDate, time, short}까지 로그인하지 않으면 장기간 미접속으로 계정이 영구적으로 삭제될 예정이에요.\n\n여기에서 로그인해 주세요:\n{loginUrl}\n\n{support_email, select, null {최근에 {product_name}를 사용하셨다면 즉시 이 인스턴스의 관리자에게 문의해 주세요.} other {최근에 {product_name}를 사용하셨다면 즉시 고객지원팀에 문의해 주세요.}}\n\n– {product_name} 팀" }, "ip_authorization": { "subject": "새 IP 주소 로그인 승인", @@ -93,11 +93,11 @@ const EMAIL_I18N_KO_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "{product_name} 신고 검토가 완료되었어요", - "body": "안녕하세요, {username}님.\n\n접수하신 신고(ID: {reportId})를 안전팀에서 검토했어요.{hasComment, select, yes {\n\n안전팀의 답변:\n{publicComment}} other {}}\n\n모두를 위해 {product_name}를 안전하게 유지하는 데 도움을 주셔서 감사해요. 모든 신고를 진지하게 검토하고 있으며, 커뮤니티에 기여해 주셔서 감사해요.\n\n이 결과에 대해 궁금한 점이나 우려 사항이 있다면 {safety_email}으로 문의해 주세요.\n\n– {product_name} 안전팀" + "body": "안녕하세요, {username}님.\n\n접수하신 신고(ID: {reportId})를 안전팀에서 검토했어요.{hasComment, select, yes {\n\n안전팀의 답변:\n{publicComment}} other {}}\n\n모두를 위해 {product_name}를 안전하게 유지하는 데 도움을 주셔서 감사해요. 모든 신고를 진지하게 검토하고 있으며, 커뮤니티에 기여해 주셔서 감사해요.\n\n{safety_email, select, null {이 결과에 대해 궁금한 점이나 우려 사항이 있다면 이 인스턴스의 관리자에게 문의해 주세요.} other {이 결과에 대해 궁금한 점이나 우려 사항이 있다면 {safety_email}으로 문의해 주세요.}}\n\n– {product_name} 안전팀" }, "scheduled_deletion_notification": { "subject": "{product_name} 계정이 영구적으로 삭제될 예정이에요", - "body": "안녕하세요, {username}님.\n\n{product_name} 계정이 영구적으로 삭제될 예정이에요.\n\n삭제 예정일: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {사유: {reason}}\n}\n\n이는 중대한 조치이며, 계정 데이터는 예정된 날짜에 영구적으로 삭제될 예정이에요.\n\n이 조치가 잘못되었다고 생각되면 이의를 제기할 수 있어요. 이 이메일 주소에서 {appeals_email}으로 이메일을 보내 이의를 제기해 주세요.\n\n– {product_name} 안전팀" + "body": "안녕하세요, {username}님.\n\n{product_name} 계정이 영구적으로 삭제될 예정이에요.\n\n삭제 예정일: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {사유: {reason}}\n}\n\n이는 중대한 조치이며, 계정 데이터는 예정된 날짜에 영구적으로 삭제될 예정이에요.\n\n이 조치가 잘못되었다고 생각되면 이의를 제기할 수 있어요. {appeals_email, select, null {이 인스턴스의 관리자에게 연락해 이의를 제기해 주세요.} other {이 이메일 주소에서 {appeals_email}으로 이메일을 보내 이의를 제기해 주세요.}}\n\n– {product_name} 안전팀" }, "self_deletion_scheduled": { "subject": "{product_name} 계정 삭제가 예정되었어요", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/lt.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/lt.ts index b0db69e5d..3a7aeb452 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/lt.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/lt.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_LT_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Tavo {product_name} paskyros ištrynimas atšauktas", - "body": "Sveiki, {username},\n\nNumatytas tavo {product_name} paskyros ištrynimas atšauktas. Tavo paskyra nebus ištrinta.\n\nJei turi klausimų, rašyk adresu {safety_email}.\n\n– {product_name} komanda" + "body": "Sveiki, {username},\n\nNumatytas tavo {product_name} paskyros ištrynimas atšauktas. Tavo paskyra nebus ištrinta.\n\n{safety_email, select, null {Jei turi klausimų, susisiek su šios instancijos administratoriais.} other {Jei turi klausimų, rašyk adresu {safety_email}.}}\n\n– {product_name} komanda" }, "account_deletion_scheduled_inactivity": { "subject": "Tavo {product_name} paskyra bus ištrinta dėl neaktyvumo", - "body": "Sveiki, {username},\n\nTavo {product_name} paskyra ilgą laiką buvo neaktyvi, todėl ją numatyta visam laikui ištrinti:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nPriežastis: {reason}}}\n\nJei nori išsaugoti paskyrą, iki šios datos parašyk adresu {safety_email} iš šio el. pašto adreso.\n\n– {product_name} komanda" + "body": "Sveiki, {username},\n\nTavo {product_name} paskyra ilgą laiką buvo neaktyvi, todėl ją numatyta visam laikui ištrinti:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nPriežastis: {reason}}}\n\n{safety_email, select, null {Jei nori išsaugoti paskyrą, iki šios datos susisiek su šios instancijos administratoriais.} other {Jei nori išsaugoti paskyrą, iki šios datos parašyk adresu {safety_email} iš šio el. pašto adreso.}}\n\n– {product_name} komanda" }, "account_deletion_scheduled_requested": { "subject": "Tavo {product_name} paskyros ištrynimas numatytas", - "body": "Sveiki, {username},\n\nTavo prašymu {product_name} paskyrą numatyta visam laikui ištrinti:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nPriežastis: {reason}}}\n\nIki tol tavo paskyra užrakinta. Jei to neprašei arba nori išsaugoti paskyrą, iki šios datos parašyk adresu {safety_email} iš šio el. pašto adreso.\n\n– {product_name} komanda" + "body": "Sveiki, {username},\n\nTavo prašymu {product_name} paskyrą numatyta visam laikui ištrinti:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nPriežastis: {reason}}}\n\nIki tol tavo paskyra užrakinta. {safety_email, select, null {Jei to neprašei arba nori išsaugoti paskyrą, iki šios datos susisiek su šios instancijos administratoriais.} other {Jei to neprašei arba nori išsaugoti paskyrą, iki šios datos parašyk adresu {safety_email} iš šio el. pašto adreso.}}\n\n– {product_name} komanda" }, "account_scheduled_deletion": { "subject": "Tavo {product_name} paskyra bus visam laikui ištrinta", - "body": "Sveiki, {username},\n\nTavo {product_name} paskyrą numatyta visam laikui ištrinti dėl mūsų paslaugų teikimo sąlygų arba bendruomenės gairių pažeidimų.\n\nNumatytas ištrynimas: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Priežastis: {reason}}\n}\n\nTai rimta priemonė. Tavo paskyros duomenys numatytą dieną bus visam laikui ištrinti.\n\nPeržiūrėk:\n- Paslaugų teikimo sąlygos: {termsUrl}\n- Bendruomenės gairės: {guidelinesUrl}\n\nApeliacijos procesas:\nJei manai, kad šis sprendimas neteisingas arba nepagrįstas, apeliaciją gali pateikti per 60 dienų. Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email}.\n\nSavo apeliacijoje:\n- Aiškiai paaiškink, kodėl manai, kad sprendimas neteisingas arba nepagrįstas\n- Pateik visus susijusius įrodymus ar kontekstą\n\n{product_name} saugos komandos narys peržiūrės tavo apeliaciją ir gali sustabdyti numatytą ištrynimą, kol bus priimtas galutinis sprendimas.\n\n– {product_name} saugos komanda" + "body": "Sveiki, {username},\n\nTavo {product_name} paskyrą numatyta visam laikui ištrinti dėl mūsų paslaugų teikimo sąlygų arba bendruomenės gairių pažeidimų.\n\nNumatytas ištrynimas: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Priežastis: {reason}}\n}\n\nTai rimta priemonė. Tavo paskyros duomenys numatytą dieną bus visam laikui ištrinti.\n\n{legalLinks, select,\n both {Peržiūrėk:\n- Paslaugų teikimo sąlygos: {termsUrl}\n- Bendruomenės gairės: {guidelinesUrl}\n\n}\n terms {Peržiūrėk:\n- Paslaugų teikimo sąlygos: {termsUrl}\n\n}\n guidelines {Peržiūrėk:\n- Bendruomenės gairės: {guidelinesUrl}\n\n}\n other {}\n}Apeliacijos procesas:\nJei manai, kad šis sprendimas neteisingas arba nepagrįstas, apeliaciją gali pateikti per 60 dienų. {appeals_email, select, null {Susisiek su šios instancijos administratoriais.} other {Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email}.}}\n\nSavo apeliacijoje:\n- Aiškiai paaiškink, kodėl manai, kad sprendimas neteisingas arba nepagrįstas\n- Pateik visus susijusius įrodymus ar kontekstą\n\n{product_name} saugos komandos narys peržiūrės tavo apeliaciją ir gali sustabdyti numatytą ištrynimą, kol bus priimtas galutinis sprendimas.\n\n– {product_name} saugos komanda" }, "account_temp_banned": { "subject": "Tavo {product_name} paskyra laikinai sustabdyta", - "body": "Sveiki, {username},\n\nTavo {product_name} paskyra laikinai sustabdyta dėl mūsų paslaugų teikimo sąlygų arba bendruomenės gairių pažeidimo.\n\nTrukmė: {durationHours, plural,\n one {# valanda} few {# valandos}\n many {# valandos} other {# valandų}\n}\nSustabdyta iki: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Priežastis: {reason}}\n}\n\nŠiuo laikotarpiu negalėsi pasiekti savo paskyros.\n\nPeržiūrėk:\n- Paslaugų teikimo sąlygos: {termsUrl}\n- Bendruomenės gairės: {guidelinesUrl}\n\nJei manai, kad šis sprendimas neteisingas arba nepagrįstas, gali pateikti apeliaciją. Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email} ir aiškiai paaiškink, kodėl manai, kad sprendimas neteisingas. Peržiūrėsime tavo apeliaciją ir pranešime savo sprendimą.\n\n– {product_name} saugos komanda" + "body": "Sveiki, {username},\n\nTavo {product_name} paskyra laikinai sustabdyta dėl mūsų paslaugų teikimo sąlygų arba bendruomenės gairių pažeidimo.\n\nTrukmė: {durationHours, plural,\n one {# valanda} few {# valandos}\n many {# valandos} other {# valandų}\n}\nSustabdyta iki: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Priežastis: {reason}}\n}\n\nŠiuo laikotarpiu negalėsi pasiekti savo paskyros.\n\n{legalLinks, select,\n both {Peržiūrėk:\n- Paslaugų teikimo sąlygos: {termsUrl}\n- Bendruomenės gairės: {guidelinesUrl}\n\n}\n terms {Peržiūrėk:\n- Paslaugų teikimo sąlygos: {termsUrl}\n\n}\n guidelines {Peržiūrėk:\n- Bendruomenės gairės: {guidelinesUrl}\n\n}\n other {}\n}Jei manai, kad šis sprendimas neteisingas arba nepagrįstas, gali pateikti apeliaciją. {appeals_email, select, null {Susisiek su šios instancijos administratoriais ir aiškiai paaiškink, kodėl manai, kad sprendimas neteisingas.} other {Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email} ir aiškiai paaiškink, kodėl manai, kad sprendimas neteisingas.}} Peržiūrėsime tavo apeliaciją ir pranešime savo sprendimą.\n\n– {product_name} saugos komanda" }, "donation_confirmation": { "subject": "Dėkojame už tavo {product_name} paramą", @@ -33,7 +33,7 @@ const EMAIL_I18N_LT_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Priėmėme sprendimą dėl tavo {product_name} pranešimo", - "body": "Sveiki,\n\nMūsų saugos komanda peržiūrėjo tavo pranešimą pagal Skaitmeninių paslaugų aktą (ID: {reportId}) ir priėmė sprendimą.{hasComment, select, yes {\n\nSaugos komandos atsakymas:\n{publicComment}} other {}}\n\nNesidalijame informacija apie veiksmus, kurių imtasi dėl kito asmens paskyros, nes tai yra jo asmens duomenys.\n\nJei nesutinki su šiuo sprendimu, per 60 dienų gali nemokamai pateikti apeliaciją. Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email}, nurodyk savo pranešimo ID ir paaiškink, kodėl manai, kad sprendimas neteisingas. Jei esi ES, ginčą taip pat gali perduoti sertifikuotai neteisminio ginčų sprendimo įstaigai. Visa tai neturi įtakos tavo teisei kreiptis į teismą.\n\n– {product_name} saugos komanda" + "body": "Sveiki,\n\nMūsų saugos komanda peržiūrėjo tavo pranešimą pagal Skaitmeninių paslaugų aktą (ID: {reportId}) ir priėmė sprendimą.{hasComment, select, yes {\n\nSaugos komandos atsakymas:\n{publicComment}} other {}}\n\nNesidalijame informacija apie veiksmus, kurių imtasi dėl kito asmens paskyros, nes tai yra jo asmens duomenys.\n\nJei nesutinki su šiuo sprendimu, per 60 dienų gali nemokamai pateikti apeliaciją. {appeals_email, select, null {Susisiek su šios instancijos administratoriais, nurodyk savo pranešimo ID ir paaiškink, kodėl manai, kad sprendimas neteisingas.} other {Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email}, nurodyk savo pranešimo ID ir paaiškink, kodėl manai, kad sprendimas neteisingas.}} Jei esi ES, ginčą taip pat gali perduoti sertifikuotai neteisminio ginčų sprendimo įstaigai. Visa tai neturi įtakos tavo teisei kreiptis į teismą.\n\n– {product_name} saugos komanda" }, "dsa_report_verification": { "subject": "Patvirtink savo el. paštą DSA pranešimui pateikti", @@ -57,15 +57,15 @@ const EMAIL_I18N_LT_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Privilegijos, gautos už išpirktą dovaną, pašalintos", - "body": "Sveiki, {username},\n\nDovanos kodą, kurį išpirkai, iš pradžių apmokėjo kitas asmuo. Tas mokėjimas vėliau buvo atšauktas (lėšų grąžinimas).\n\nDėl to pašalinome privilegijas, kurios buvo pridėtos prie tavo paskyros, kai išpirkai dovaną.\n\nJei manai, kad tai klaida, susisiek su mūsų palaikymo komanda ir nurodyk visą turimą informaciją apie dovanos kodą ir apie tai, kada jį išpirkai.\n\n– {product_name} komanda" + "body": "Sveiki, {username},\n\nDovanos kodą, kurį išpirkai, iš pradžių apmokėjo kitas asmuo. Tas mokėjimas vėliau buvo atšauktas (lėšų grąžinimas).\n\nDėl to pašalinome privilegijas, kurios buvo pridėtos prie tavo paskyros, kai išpirkai dovaną.\n\n{support_email, select, null {Jei manai, kad tai klaida, susisiek su šios instancijos administratoriais ir nurodyk visą turimą informaciją apie dovanos kodą ir apie tai, kada jį išpirkai.} other {Jei manai, kad tai klaida, susisiek su mūsų palaikymo komanda ir nurodyk visą turimą informaciją apie dovanos kodą ir apie tai, kada jį išpirkai.}}\n\n– {product_name} komanda" }, "harvest_completed": { "subject": "Tavo {product_name} duomenų eksportas paruoštas atsisiųsti", - "body": "Sveiki, {username},\n\nTavo duomenų eksportas paruoštas.\n\nAtsisiuntimo nuoroda:\n{downloadUrl}\n\nĮtrauktos žinutės: {totalMessages, number}\nFailo dydis: {fileSizeMB, number} MB\n\nŠi nuoroda galioja iki {expiresAt, date, full} {expiresAt, time, short}.\n\nJei šio eksporto neprašei, nedelsiant pakeisk slaptažodį ir susisiek su mūsų palaikymo komanda.\n\n– {product_name} komanda" + "body": "Sveiki, {username},\n\nTavo duomenų eksportas paruoštas.\n\nAtsisiuntimo nuoroda:\n{downloadUrl}\n\nĮtrauktos žinutės: {totalMessages, number}\nFailo dydis: {fileSizeMB, number} MB\n\nŠi nuoroda galioja iki {expiresAt, date, full} {expiresAt, time, short}.\n\n{support_email, select, null {Jei šio eksporto neprašei, nedelsiant pakeisk slaptažodį ir susisiek su šios instancijos administratoriais.} other {Jei šio eksporto neprašei, nedelsiant pakeisk slaptažodį ir susisiek su mūsų palaikymo komanda.}}\n\n– {product_name} komanda" }, "inactivity_warning": { "subject": "Tavo {product_name} paskyra bus ištrinta dėl neaktyvumo", - "body": "Sveiki, {username},\n\nNuo {lastActiveDate, date, full} tavo {product_name} paskyroje nematėme jokios veiklos.\n\nJei neprisijungsi iki {deletionDate, date, full} {deletionDate, time, short}, tavo paskyra bus visam laikui ištrinta dėl neaktyvumo.\n\nPrisijunk čia:\n{loginUrl}\n\nJei neseniai naudojaisi {product_name}, nedelsiant susisiek su mūsų palaikymo komanda.\n\n– {product_name} komanda" + "body": "Sveiki, {username},\n\nNuo {lastActiveDate, date, full} tavo {product_name} paskyroje nematėme jokios veiklos.\n\nJei neprisijungsi iki {deletionDate, date, full} {deletionDate, time, short}, tavo paskyra bus visam laikui ištrinta dėl neaktyvumo.\n\nPrisijunk čia:\n{loginUrl}\n\n{support_email, select, null {Jei neseniai naudojaisi {product_name}, nedelsiant susisiek su šios instancijos administratoriais.} other {Jei neseniai naudojaisi {product_name}, nedelsiant susisiek su mūsų palaikymo komanda.}}\n\n– {product_name} komanda" }, "ip_authorization": { "subject": "Patvirtink prisijungimą iš naujo IP adreso", @@ -93,11 +93,11 @@ const EMAIL_I18N_LT_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Tavo {product_name} pranešimas peržiūrėtas", - "body": "Sveiki, {username},\n\nTavo pranešimą (ID: {reportId}) peržiūrėjo mūsų saugos komanda.{hasComment, select, yes {\n\nSaugos komandos atsakymas:\n{publicComment}} other {}}\n\nDėkojame, kad padedi užtikrinti {product_name} saugumą visiems. Visus pranešimus vertiname rimtai ir esame dėkingi už tavo indėlį į bendruomenę.\n\nJei turi klausimų ar abejonių dėl šio sprendimo, rašyk adresu {safety_email}.\n\n– {product_name} saugos komanda" + "body": "Sveiki, {username},\n\nTavo pranešimą (ID: {reportId}) peržiūrėjo mūsų saugos komanda.{hasComment, select, yes {\n\nSaugos komandos atsakymas:\n{publicComment}} other {}}\n\nDėkojame, kad padedi užtikrinti {product_name} saugumą visiems. Visus pranešimus vertiname rimtai ir esame dėkingi už tavo indėlį į bendruomenę.\n\n{safety_email, select, null {Jei turi klausimų ar abejonių dėl šio sprendimo, susisiek su šios instancijos administratoriais.} other {Jei turi klausimų ar abejonių dėl šio sprendimo, rašyk adresu {safety_email}.}}\n\n– {product_name} saugos komanda" }, "scheduled_deletion_notification": { "subject": "Tavo {product_name} paskyra bus visam laikui ištrinta", - "body": "Sveiki, {username},\n\nTavo {product_name} paskyrą numatyta visam laikui ištrinti.\n\nNumatytas ištrynimas: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Priežastis: {reason}}\n}\n\nTai rimta priemonė. Tavo paskyros duomenys numatytą dieną bus visam laikui ištrinti.\n\nJei manai, kad šis sprendimas neteisingas, gali pateikti apeliaciją. Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email}.\n\n– {product_name} saugos komanda" + "body": "Sveiki, {username},\n\nTavo {product_name} paskyrą numatyta visam laikui ištrinti.\n\nNumatytas ištrynimas: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Priežastis: {reason}}\n}\n\nTai rimta priemonė. Tavo paskyros duomenys numatytą dieną bus visam laikui ištrinti.\n\nJei manai, kad šis sprendimas neteisingas, gali pateikti apeliaciją. {appeals_email, select, null {Susisiek su šios instancijos administratoriais.} other {Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email}.}}\n\n– {product_name} saugos komanda" }, "self_deletion_scheduled": { "subject": "Tavo {product_name} paskyros ištrynimas numatytas", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/nl.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/nl.ts index 20641df7f..c1c25f365 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/nl.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/nl.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_NL_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "De verwijdering van je {product_name}-account is geannuleerd", - "body": "Hallo {username},\n\nDe geplande verwijdering van je {product_name}-account is geannuleerd. Je account wordt niet verwijderd.\n\nAls je vragen hebt, neem dan contact op met {safety_email}.\n\n– Het team van {product_name}" + "body": "Hallo {username},\n\nDe geplande verwijdering van je {product_name}-account is geannuleerd. Je account wordt niet verwijderd.\n\n{safety_email, select, null {Als je vragen hebt, neem dan contact op met de beheerders van deze instantie.} other {Als je vragen hebt, neem dan contact op met {safety_email}.}}\n\n– Het team van {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Je {product_name}-account wordt verwijderd wegens inactiviteit", - "body": "Hallo {username},\n\nJe {product_name}-account is al lange tijd inactief en staat daarom gepland voor permanente verwijdering op:\n\n{deletionDate, date, full} om {deletionDate, time, short}{reason, select, null {} other {\n\nReden: {reason}}}\n\nAls je je account wilt behouden, neem dan vóór die datum vanaf dit e-mailadres contact op met {safety_email}.\n\n– Het team van {product_name}" + "body": "Hallo {username},\n\nJe {product_name}-account is al lange tijd inactief en staat daarom gepland voor permanente verwijdering op:\n\n{deletionDate, date, full} om {deletionDate, time, short}{reason, select, null {} other {\n\nReden: {reason}}}\n\n{safety_email, select, null {Als je je account wilt behouden, neem dan vóór die datum contact op met de beheerders van deze instantie.} other {Als je je account wilt behouden, neem dan vóór die datum vanaf dit e-mailadres contact op met {safety_email}.}}\n\n– Het team van {product_name}" }, "account_deletion_scheduled_requested": { "subject": "De verwijdering van je {product_name}-account staat gepland", - "body": "Hallo {username},\n\nZoals je hebt verzocht, staat je {product_name}-account gepland voor permanente verwijdering op:\n\n{deletionDate, date, full} om {deletionDate, time, short}{reason, select, null {} other {\n\nReden: {reason}}}\n\nJe account is tot die tijd vergrendeld. Als je dit niet hebt aangevraagd of je account wilt behouden, neem dan vóór die datum vanaf dit e-mailadres contact op met {safety_email}.\n\n– Het team van {product_name}" + "body": "Hallo {username},\n\nZoals je hebt verzocht, staat je {product_name}-account gepland voor permanente verwijdering op:\n\n{deletionDate, date, full} om {deletionDate, time, short}{reason, select, null {} other {\n\nReden: {reason}}}\n\nJe account is tot die tijd vergrendeld. {safety_email, select, null {Als je dit niet hebt aangevraagd of je account wilt behouden, neem dan vóór die datum contact op met de beheerders van deze instantie.} other {Als je dit niet hebt aangevraagd of je account wilt behouden, neem dan vóór die datum vanaf dit e-mailadres contact op met {safety_email}.}}\n\n– Het team van {product_name}" }, "account_scheduled_deletion": { "subject": "Je {product_name}-account wordt permanent verwijderd", - "body": "Hallo {username},\n\nJe {product_name}-account staat gepland voor permanente verwijdering vanwege schendingen van onze Gebruiksvoorwaarden of Communityrichtlijnen.\n\nGeplande verwijdering: {deletionDate, date, full} om {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reden: {reason}}\n}\n\nDit is een ingrijpende handhavingsmaatregel. Je accountgegevens worden permanent verwijderd op de geplande datum.\n\nBekijk ook:\n- Gebruiksvoorwaarden: {termsUrl}\n- Communityrichtlijnen: {guidelinesUrl}\n\nBezwaarprocedure:\nAls je van mening bent dat deze handhavingsbeslissing onjuist of ongerechtvaardigd was, heb je 60 dagen de tijd om bezwaar te maken. Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres.\n\nVermeld in je bezwaar:\n- Een duidelijke uitleg waarom je van mening bent dat de handhavingsbeslissing onjuist of ongerechtvaardigd was\n- Alle relevante bewijzen of context\n\nEen medewerker van het veiligheidsteam van {product_name} zal je bezwaar beoordelen en kan de geplande verwijdering uitstellen totdat een definitieve beslissing is genomen.\n\n– Het veiligheidsteam van {product_name}" + "body": "Hallo {username},\n\nJe {product_name}-account staat gepland voor permanente verwijdering vanwege schendingen van onze Gebruiksvoorwaarden of Communityrichtlijnen.\n\nGeplande verwijdering: {deletionDate, date, full} om {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reden: {reason}}\n}\n\nDit is een ingrijpende handhavingsmaatregel. Je accountgegevens worden permanent verwijderd op de geplande datum.\n\n{legalLinks, select,\n both {Bekijk ook:\n- Gebruiksvoorwaarden: {termsUrl}\n- Communityrichtlijnen: {guidelinesUrl}\n\n}\n terms {Bekijk ook:\n- Gebruiksvoorwaarden: {termsUrl}\n\n}\n guidelines {Bekijk ook:\n- Communityrichtlijnen: {guidelinesUrl}\n\n}\n other {}\n}Bezwaarprocedure:\nAls je van mening bent dat deze handhavingsbeslissing onjuist of ongerechtvaardigd was, heb je 60 dagen de tijd om bezwaar te maken. {appeals_email, select, null {Neem contact op met de beheerders van deze instantie.} other {Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres.}}\n\nVermeld in je bezwaar:\n- Een duidelijke uitleg waarom je van mening bent dat de handhavingsbeslissing onjuist of ongerechtvaardigd was\n- Alle relevante bewijzen of context\n\nEen medewerker van het veiligheidsteam van {product_name} zal je bezwaar beoordelen en kan de geplande verwijdering uitstellen totdat een definitieve beslissing is genomen.\n\n– Het veiligheidsteam van {product_name}" }, "account_temp_banned": { "subject": "Je {product_name}-account is tijdelijk geschorst", - "body": "Hallo {username},\n\nJe {product_name}-account is tijdelijk geschorst wegens schending van onze Gebruiksvoorwaarden of Communityrichtlijnen.\n\nDuur: {durationHours, plural,\n =1 {1 uur}\n other {# uur}\n}\nGeschorst tot: {bannedUntil, date, full} om {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Reden: {reason}}\n}\n\nGedurende deze periode heb je geen toegang tot je account.\n\nBekijk ook:\n- Gebruiksvoorwaarden: {termsUrl}\n- Communityrichtlijnen: {guidelinesUrl}\n\nAls je van mening bent dat deze handhavingsbeslissing onjuist of ongerechtvaardigd was, kun je bezwaar maken. Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres en leg duidelijk uit waarom je van mening bent dat de beslissing onjuist was. We zullen je bezwaar beoordelen en reageren met onze beslissing.\n\n– Het veiligheidsteam van {product_name}" + "body": "Hallo {username},\n\nJe {product_name}-account is tijdelijk geschorst wegens schending van onze Gebruiksvoorwaarden of Communityrichtlijnen.\n\nDuur: {durationHours, plural,\n =1 {1 uur}\n other {# uur}\n}\nGeschorst tot: {bannedUntil, date, full} om {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Reden: {reason}}\n}\n\nGedurende deze periode heb je geen toegang tot je account.\n\n{legalLinks, select,\n both {Bekijk ook:\n- Gebruiksvoorwaarden: {termsUrl}\n- Communityrichtlijnen: {guidelinesUrl}\n\n}\n terms {Bekijk ook:\n- Gebruiksvoorwaarden: {termsUrl}\n\n}\n guidelines {Bekijk ook:\n- Communityrichtlijnen: {guidelinesUrl}\n\n}\n other {}\n}Als je van mening bent dat deze handhavingsbeslissing onjuist of ongerechtvaardigd was, kun je bezwaar maken. {appeals_email, select, null {Neem contact op met de beheerders van deze instantie en leg duidelijk uit waarom je van mening bent dat de beslissing onjuist was.} other {Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres en leg duidelijk uit waarom je van mening bent dat de beslissing onjuist was.}} We zullen je bezwaar beoordelen en reageren met onze beslissing.\n\n– Het veiligheidsteam van {product_name}" }, "donation_confirmation": { "subject": "Bedankt voor je {product_name}-donatie", @@ -33,7 +33,7 @@ const EMAIL_I18N_NL_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "We hebben een beslissing genomen over je melding op {product_name}", - "body": "Hallo,\n\nOns veiligheidsteam heeft je melding op grond van de Digital Services Act (ID: {reportId}) beoordeeld en een beslissing genomen.{hasComment, select, yes {\n\nReactie van het veiligheidsteam:\n{publicComment}} other {}}\n\nWe delen geen details over maatregelen tegen het account van iemand anders, omdat dat persoonsgegevens van die persoon zijn.\n\nAls je het niet eens bent met deze beslissing, kun je binnen 60 dagen kosteloos bezwaar maken. Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres, vermeld je meldings-ID en leg uit waarom je vindt dat de beslissing onjuist is. Als je in de EU bent, kun je het geschil ook voorleggen aan een gecertificeerd orgaan voor buitengerechtelijke geschillenbeslechting. Dit alles doet niets af aan je recht om naar de rechter te stappen.\n\n– Het veiligheidsteam van {product_name}" + "body": "Hallo,\n\nOns veiligheidsteam heeft je melding op grond van de Digital Services Act (ID: {reportId}) beoordeeld en een beslissing genomen.{hasComment, select, yes {\n\nReactie van het veiligheidsteam:\n{publicComment}} other {}}\n\nWe delen geen details over maatregelen tegen het account van iemand anders, omdat dat persoonsgegevens van die persoon zijn.\n\nAls je het niet eens bent met deze beslissing, kun je binnen 60 dagen kosteloos bezwaar maken. {appeals_email, select, null {Neem contact op met de beheerders van deze instantie, vermeld je meldings-ID en leg uit waarom je vindt dat de beslissing onjuist is.} other {Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres, vermeld je meldings-ID en leg uit waarom je vindt dat de beslissing onjuist is.}} Als je in de EU bent, kun je het geschil ook voorleggen aan een gecertificeerd orgaan voor buitengerechtelijke geschillenbeslechting. Dit alles doet niets af aan je recht om naar de rechter te stappen.\n\n– Het veiligheidsteam van {product_name}" }, "dsa_report_verification": { "subject": "Verifieer je e-mailadres voor een DSA-melding", @@ -57,15 +57,15 @@ const EMAIL_I18N_NL_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "De voordelen van je ingewisselde cadeau zijn verwijderd", - "body": "Hallo {username},\n\nEen cadeaucode die je hebt ingewisseld, is oorspronkelijk door iemand anders betaald. Die betaling is sindsdien teruggedraaid (een terugboeking).\n\nHierdoor hebben we de voordelen verwijderd die aan je account zijn toegevoegd toen je het cadeau inwisselde.\n\nAls je denkt dat dit een fout is, neem dan contact op met ons supportteam en vermeld alle details die je hebt over de cadeaucode en wanneer je deze hebt ingewisseld.\n\n– Het team van {product_name}" + "body": "Hallo {username},\n\nEen cadeaucode die je hebt ingewisseld, is oorspronkelijk door iemand anders betaald. Die betaling is sindsdien teruggedraaid (een terugboeking).\n\nHierdoor hebben we de voordelen verwijderd die aan je account zijn toegevoegd toen je het cadeau inwisselde.\n\n{support_email, select, null {Als je denkt dat dit een fout is, neem dan contact op met de beheerders van deze instantie en vermeld alle details die je hebt over de cadeaucode en wanneer je deze hebt ingewisseld.} other {Als je denkt dat dit een fout is, neem dan contact op met ons supportteam en vermeld alle details die je hebt over de cadeaucode en wanneer je deze hebt ingewisseld.}}\n\n– Het team van {product_name}" }, "harvest_completed": { "subject": "Je {product_name}-data-export is klaar om te downloaden", - "body": "Hallo {username},\n\nJe data-export is klaar.\n\nDownloadlink:\n{downloadUrl}\n\nOpgenomen berichten: {totalMessages, number}\nBestandsgrootte: {fileSizeMB, number} MB\n\nDeze link verloopt op {expiresAt, date, full} om {expiresAt, time, short}.\n\nAls je deze export niet hebt aangevraagd, wijzig dan onmiddellijk je wachtwoord en neem contact op met ons supportteam.\n\n– Het team van {product_name}" + "body": "Hallo {username},\n\nJe data-export is klaar.\n\nDownloadlink:\n{downloadUrl}\n\nOpgenomen berichten: {totalMessages, number}\nBestandsgrootte: {fileSizeMB, number} MB\n\nDeze link verloopt op {expiresAt, date, full} om {expiresAt, time, short}.\n\n{support_email, select, null {Als je deze export niet hebt aangevraagd, wijzig dan onmiddellijk je wachtwoord en neem contact op met de beheerders van deze instantie.} other {Als je deze export niet hebt aangevraagd, wijzig dan onmiddellijk je wachtwoord en neem contact op met ons supportteam.}}\n\n– Het team van {product_name}" }, "inactivity_warning": { "subject": "Je {product_name}-account wordt verwijderd wegens inactiviteit", - "body": "Hallo {username},\n\nWe hebben geen activiteit op je {product_name}-account gezien sinds {lastActiveDate, date, full}.\n\nAls je niet inlogt vóór {deletionDate, date, full} om {deletionDate, time, short}, wordt je account permanent verwijderd wegens inactiviteit.\n\nLog hier in:\n{loginUrl}\n\nAls je {product_name} recentelijk hebt gebruikt, neem dan onmiddellijk contact op met ons supportteam.\n\n– Het team van {product_name}" + "body": "Hallo {username},\n\nWe hebben geen activiteit op je {product_name}-account gezien sinds {lastActiveDate, date, full}.\n\nAls je niet inlogt vóór {deletionDate, date, full} om {deletionDate, time, short}, wordt je account permanent verwijderd wegens inactiviteit.\n\nLog hier in:\n{loginUrl}\n\n{support_email, select, null {Als je {product_name} recentelijk hebt gebruikt, neem dan onmiddellijk contact op met de beheerders van deze instantie.} other {Als je {product_name} recentelijk hebt gebruikt, neem dan onmiddellijk contact op met ons supportteam.}}\n\n– Het team van {product_name}" }, "ip_authorization": { "subject": "Sta inloggen vanaf een nieuw IP-adres toe", @@ -93,11 +93,11 @@ const EMAIL_I18N_NL_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Je melding op {product_name} is beoordeeld", - "body": "Hallo {username},\n\nJe melding (ID: {reportId}) is beoordeeld door ons veiligheidsteam.{hasComment, select, yes {\n\nReactie van het veiligheidsteam:\n{publicComment}} other {}}\n\nBedankt dat je helpt {product_name} veilig te houden voor iedereen. We nemen alle meldingen serieus en waarderen je bijdrage aan de community.\n\nAls je vragen of opmerkingen hebt over deze uitkomst, neem dan contact op met {safety_email}.\n\n– Het veiligheidsteam van {product_name}" + "body": "Hallo {username},\n\nJe melding (ID: {reportId}) is beoordeeld door ons veiligheidsteam.{hasComment, select, yes {\n\nReactie van het veiligheidsteam:\n{publicComment}} other {}}\n\nBedankt dat je helpt {product_name} veilig te houden voor iedereen. We nemen alle meldingen serieus en waarderen je bijdrage aan de community.\n\n{safety_email, select, null {Als je vragen of opmerkingen hebt over deze uitkomst, neem dan contact op met de beheerders van deze instantie.} other {Als je vragen of opmerkingen hebt over deze uitkomst, neem dan contact op met {safety_email}.}}\n\n– Het veiligheidsteam van {product_name}" }, "scheduled_deletion_notification": { "subject": "Je {product_name}-account wordt permanent verwijderd", - "body": "Hallo {username},\n\nJe {product_name}-account staat gepland voor permanente verwijdering.\n\nGeplande verwijdering: {deletionDate, date, full} om {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reden: {reason}}\n}\n\nDit is een ingrijpende handhavingsmaatregel. Je accountgegevens worden permanent verwijderd op de geplande datum.\n\nAls je van mening bent dat deze handhavingsbeslissing onjuist was, kun je bezwaar maken. Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres.\n\n– Het veiligheidsteam van {product_name}" + "body": "Hallo {username},\n\nJe {product_name}-account staat gepland voor permanente verwijdering.\n\nGeplande verwijdering: {deletionDate, date, full} om {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reden: {reason}}\n}\n\nDit is een ingrijpende handhavingsmaatregel. Je accountgegevens worden permanent verwijderd op de geplande datum.\n\nAls je van mening bent dat deze handhavingsbeslissing onjuist was, kun je bezwaar maken. {appeals_email, select, null {Neem contact op met de beheerders van deze instantie.} other {Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres.}}\n\n– Het veiligheidsteam van {product_name}" }, "self_deletion_scheduled": { "subject": "De verwijdering van je {product_name}-account staat gepland", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/no.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/no.ts index b53a2a683..e48ce0306 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/no.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/no.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_NO_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Slettingen av {product_name}-kontoen din er avbrutt", - "body": "Hei {username},\n\nDen planlagte slettingen av {product_name}-kontoen din er avbrutt. Kontoen din blir ikke slettet.\n\nHvis du har spørsmål, kan du kontakte {safety_email}.\n\n– {product_name}-teamet" + "body": "Hei {username},\n\nDen planlagte slettingen av {product_name}-kontoen din er avbrutt. Kontoen din blir ikke slettet.\n\n{safety_email, select, null {Hvis du har spørsmål, kan du kontakte administratorene av denne instansen.} other {Hvis du har spørsmål, kan du kontakte {safety_email}.}}\n\n– {product_name}-teamet" }, "account_deletion_scheduled_inactivity": { "subject": "{product_name}-kontoen din vil bli slettet på grunn av inaktivitet", - "body": "Hei {username},\n\n{product_name}-kontoen din har vært inaktiv lenge, så den er planlagt for permanent sletting:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsak: {reason}}}\n\nHvis du vil beholde kontoen din, kan du kontakte {safety_email} fra denne e-postadressen før denne datoen.\n\n– {product_name}-teamet" + "body": "Hei {username},\n\n{product_name}-kontoen din har vært inaktiv lenge, så den er planlagt for permanent sletting:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsak: {reason}}}\n\n{safety_email, select, null {Hvis du vil beholde kontoen din, kan du kontakte administratorene av denne instansen før denne datoen.} other {Hvis du vil beholde kontoen din, kan du kontakte {safety_email} fra denne e-postadressen før denne datoen.}}\n\n– {product_name}-teamet" }, "account_deletion_scheduled_requested": { "subject": "Slettingen av {product_name}-kontoen din er planlagt", - "body": "Hei {username},\n\nSom du ba om, er {product_name}-kontoen din planlagt for permanent sletting:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsak: {reason}}}\n\nKontoen din er låst frem til da. Hvis du ikke ba om dette, eller hvis du vil beholde kontoen din, kan du kontakte {safety_email} fra denne e-postadressen før denne datoen.\n\n– {product_name}-teamet" + "body": "Hei {username},\n\nSom du ba om, er {product_name}-kontoen din planlagt for permanent sletting:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsak: {reason}}}\n\nKontoen din er låst frem til da. {safety_email, select, null {Hvis du ikke ba om dette, eller hvis du vil beholde kontoen din, kan du kontakte administratorene av denne instansen før denne datoen.} other {Hvis du ikke ba om dette, eller hvis du vil beholde kontoen din, kan du kontakte {safety_email} fra denne e-postadressen før denne datoen.}}\n\n– {product_name}-teamet" }, "account_scheduled_deletion": { "subject": "{product_name}-kontoen din blir permanent slettet", - "body": "Hei {username},\n\nVi har planlagt permanent sletting av {product_name}-kontoen din på grunn av brudd på våre vilkår for bruk eller retningslinjer for fellesskapet.\n\nPlanlagt sletting: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsak: {reason}}\n}\n\nDette er et alvorlig tiltak. Kontodataene dine blir permanent slettet på den planlagte datoen.\n\nLes gjennom:\n- Vilkår for bruk: {termsUrl}\n- Retningslinjer for fellesskapet: {guidelinesUrl}\n\nKlageprosessen:\nHvis du mener avgjørelsen var feil eller uberettiget, har du 60 dager på deg til å sende inn en klage. Send en e-post til {appeals_email} fra denne e-postadressen.\n\nI klagen din:\n- Forklar tydelig hvorfor du mener avgjørelsen var feil eller uberettiget\n- Legg ved relevante bevis eller opplysninger\n\nEt medlem av sikkerhetsteamet hos {product_name} vil vurdere klagen din og kan utsette slettingen til en endelig avgjørelse er tatt.\n\n– Sikkerhetsteamet hos {product_name}" + "body": "Hei {username},\n\nVi har planlagt permanent sletting av {product_name}-kontoen din på grunn av brudd på våre vilkår for bruk eller retningslinjer for fellesskapet.\n\nPlanlagt sletting: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsak: {reason}}\n}\n\nDette er et alvorlig tiltak. Kontodataene dine blir permanent slettet på den planlagte datoen.\n\n{legalLinks, select,\n both {Les gjennom:\n- Vilkår for bruk: {termsUrl}\n- Retningslinjer for fellesskapet: {guidelinesUrl}\n\n}\n terms {Les gjennom:\n- Vilkår for bruk: {termsUrl}\n\n}\n guidelines {Les gjennom:\n- Retningslinjer for fellesskapet: {guidelinesUrl}\n\n}\n other {}\n}Klageprosessen:\nHvis du mener avgjørelsen var feil eller uberettiget, har du 60 dager på deg til å sende inn en klage. {appeals_email, select, null {Kontakt administratorene av denne instansen.} other {Send en e-post til {appeals_email} fra denne e-postadressen.}}\n\nI klagen din:\n- Forklar tydelig hvorfor du mener avgjørelsen var feil eller uberettiget\n- Legg ved relevante bevis eller opplysninger\n\nEt medlem av sikkerhetsteamet hos {product_name} vil vurdere klagen din og kan utsette slettingen til en endelig avgjørelse er tatt.\n\n– Sikkerhetsteamet hos {product_name}" }, "account_temp_banned": { "subject": "{product_name}-kontoen din er midlertidig suspendert", - "body": "Hei {username},\n\n{product_name}-kontoen din er midlertidig suspendert på grunn av brudd på våre vilkår for bruk eller retningslinjer for fellesskapet.\n\nVarighet: {durationHours, plural,\n =1 {1 time}\n other {# timer}\n}\nSuspendert til: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Årsak: {reason}}\n}\n\nDu har ikke tilgang til kontoen din i denne perioden.\n\nLes gjennom:\n- Vilkår for bruk: {termsUrl}\n- Retningslinjer for fellesskapet: {guidelinesUrl}\n\nHvis du mener avgjørelsen var feil eller uberettiget, kan du sende inn en klage. Send en e-post til {appeals_email} fra denne e-postadressen, og forklar tydelig hvorfor du mener avgjørelsen var feil. Vi vil vurdere klagen din og gi deg beskjed om avgjørelsen vår.\n\n– Sikkerhetsteamet hos {product_name}" + "body": "Hei {username},\n\n{product_name}-kontoen din er midlertidig suspendert på grunn av brudd på våre vilkår for bruk eller retningslinjer for fellesskapet.\n\nVarighet: {durationHours, plural,\n =1 {1 time}\n other {# timer}\n}\nSuspendert til: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Årsak: {reason}}\n}\n\nDu har ikke tilgang til kontoen din i denne perioden.\n\n{legalLinks, select,\n both {Les gjennom:\n- Vilkår for bruk: {termsUrl}\n- Retningslinjer for fellesskapet: {guidelinesUrl}\n\n}\n terms {Les gjennom:\n- Vilkår for bruk: {termsUrl}\n\n}\n guidelines {Les gjennom:\n- Retningslinjer for fellesskapet: {guidelinesUrl}\n\n}\n other {}\n}Hvis du mener avgjørelsen var feil eller uberettiget, kan du sende inn en klage. {appeals_email, select, null {Kontakt administratorene av denne instansen, og forklar tydelig hvorfor du mener avgjørelsen var feil.} other {Send en e-post til {appeals_email} fra denne e-postadressen, og forklar tydelig hvorfor du mener avgjørelsen var feil.}} Vi vil vurdere klagen din og gi deg beskjed om avgjørelsen vår.\n\n– Sikkerhetsteamet hos {product_name}" }, "donation_confirmation": { "subject": "Takk for bidraget ditt til {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_NO_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Vi har tatt en avgjørelse om {product_name}-rapporten din", - "body": "Hei,\n\nSikkerhetsteamet vårt har gjennomgått rapporten din i henhold til Digital Services Act (ID: {reportId}) og tatt en avgjørelse.{hasComment, select, yes {\n\nSvar fra sikkerhetsteamet:\n{publicComment}} other {}}\n\nVi deler ikke detaljer om tiltak mot en annen persons konto, fordi det er personopplysningene til den personen.\n\nHvis du er uenig i avgjørelsen, kan du klage gratis innen 60 dager. Send en e-post til {appeals_email} fra denne e-postadressen, oppgi rapport-ID-en din, og forklar hvorfor du mener avgjørelsen er feil. Hvis du befinner deg i EU, kan du også bringe tvisten inn for et sertifisert organ for utenrettslig tvisteløsning. Ingenting av dette påvirker retten din til å gå til domstolene.\n\n– Sikkerhetsteamet hos {product_name}" + "body": "Hei,\n\nSikkerhetsteamet vårt har gjennomgått rapporten din i henhold til Digital Services Act (ID: {reportId}) og tatt en avgjørelse.{hasComment, select, yes {\n\nSvar fra sikkerhetsteamet:\n{publicComment}} other {}}\n\nVi deler ikke detaljer om tiltak mot en annen persons konto, fordi det er personopplysningene til den personen.\n\nHvis du er uenig i avgjørelsen, kan du klage gratis innen 60 dager. {appeals_email, select, null {Kontakt administratorene av denne instansen, oppgi rapport-ID-en din, og forklar hvorfor du mener avgjørelsen er feil.} other {Send en e-post til {appeals_email} fra denne e-postadressen, oppgi rapport-ID-en din, og forklar hvorfor du mener avgjørelsen er feil.}} Hvis du befinner deg i EU, kan du også bringe tvisten inn for et sertifisert organ for utenrettslig tvisteløsning. Ingenting av dette påvirker retten din til å gå til domstolene.\n\n– Sikkerhetsteamet hos {product_name}" }, "dsa_report_verification": { "subject": "Bekreft e-postadressen din for en DSA-rapport", @@ -57,15 +57,15 @@ const EMAIL_I18N_NO_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Fordelene fra gaven du løste inn, er fjernet", - "body": "Hei {username},\n\nDu løste inn en gavekode som opprinnelig var betalt av noen andre. Betalingen har senere blitt tilbakeført.\n\nDerfor har vi fjernet fordelene som ble lagt til kontoen din da du løste inn gaven.\n\nHvis du mener dette er en feil, kan du kontakte kundestøtten vår. Ta med opplysningene du har om gavekoden og når du løste den inn.\n\n– {product_name}-teamet" + "body": "Hei {username},\n\nDu løste inn en gavekode som opprinnelig var betalt av noen andre. Betalingen har senere blitt tilbakeført.\n\nDerfor har vi fjernet fordelene som ble lagt til kontoen din da du løste inn gaven.\n\n{support_email, select, null {Hvis du mener dette er en feil, kan du kontakte administratorene av denne instansen. Ta med opplysningene du har om gavekoden og når du løste den inn.} other {Hvis du mener dette er en feil, kan du kontakte kundestøtten vår. Ta med opplysningene du har om gavekoden og når du løste den inn.}}\n\n– {product_name}-teamet" }, "harvest_completed": { "subject": "{product_name}-dataeksporten din er klar til nedlasting", - "body": "Hei {username},\n\nDataeksporten din er klar.\n\nNedlastingslenke:\n{downloadUrl}\n\nAntall meldinger: {totalMessages, number}\nFilstørrelse: {fileSizeMB, number} MB\n\nDenne lenken utløper {expiresAt, date, full} kl. {expiresAt, time, short}.\n\nHvis du ikke ba om denne eksporten, må du endre passordet ditt umiddelbart og kontakte kundestøtten vår.\n\n– {product_name}-teamet" + "body": "Hei {username},\n\nDataeksporten din er klar.\n\nNedlastingslenke:\n{downloadUrl}\n\nAntall meldinger: {totalMessages, number}\nFilstørrelse: {fileSizeMB, number} MB\n\nDenne lenken utløper {expiresAt, date, full} kl. {expiresAt, time, short}.\n\n{support_email, select, null {Hvis du ikke ba om denne eksporten, må du endre passordet ditt umiddelbart og kontakte administratorene av denne instansen.} other {Hvis du ikke ba om denne eksporten, må du endre passordet ditt umiddelbart og kontakte kundestøtten vår.}}\n\n– {product_name}-teamet" }, "inactivity_warning": { "subject": "{product_name}-kontoen din vil bli slettet på grunn av inaktivitet", - "body": "Hei {username},\n\nVi har ikke sett noen aktivitet på {product_name}-kontoen din siden {lastActiveDate, date, full}.\n\nHvis du ikke logger inn innen {deletionDate, date, full} kl. {deletionDate, time, short}, blir kontoen din permanent slettet på grunn av inaktivitet.\n\nLogg inn her:\n{loginUrl}\n\nHvis du har brukt {product_name} nylig, må du kontakte kundestøtten vår med en gang.\n\n– {product_name}-teamet" + "body": "Hei {username},\n\nVi har ikke sett noen aktivitet på {product_name}-kontoen din siden {lastActiveDate, date, full}.\n\nHvis du ikke logger inn innen {deletionDate, date, full} kl. {deletionDate, time, short}, blir kontoen din permanent slettet på grunn av inaktivitet.\n\nLogg inn her:\n{loginUrl}\n\n{support_email, select, null {Hvis du har brukt {product_name} nylig, må du kontakte administratorene av denne instansen med en gang.} other {Hvis du har brukt {product_name} nylig, må du kontakte kundestøtten vår med en gang.}}\n\n– {product_name}-teamet" }, "ip_authorization": { "subject": "Godkjenn pålogging fra en ny IP-adresse", @@ -93,11 +93,11 @@ const EMAIL_I18N_NO_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "{product_name}-rapporten din er gjennomgått", - "body": "Hei {username},\n\nRapporten din (ID: {reportId}) er gjennomgått av sikkerhetsteamet vårt.{hasComment, select, yes {\n\nSvar fra sikkerhetsteamet:\n{publicComment}} other {}}\n\nTakk for at du bidrar til å holde {product_name} trygt for alle. Vi tar alle rapporter på alvor og setter pris på bidraget ditt til fellesskapet.\n\nHvis du har spørsmål eller er bekymret for utfallet, kan du kontakte {safety_email}.\n\n– Sikkerhetsteamet hos {product_name}" + "body": "Hei {username},\n\nRapporten din (ID: {reportId}) er gjennomgått av sikkerhetsteamet vårt.{hasComment, select, yes {\n\nSvar fra sikkerhetsteamet:\n{publicComment}} other {}}\n\nTakk for at du bidrar til å holde {product_name} trygt for alle. Vi tar alle rapporter på alvor og setter pris på bidraget ditt til fellesskapet.\n\n{safety_email, select, null {Hvis du har spørsmål eller er bekymret for utfallet, kan du kontakte administratorene av denne instansen.} other {Hvis du har spørsmål eller er bekymret for utfallet, kan du kontakte {safety_email}.}}\n\n– Sikkerhetsteamet hos {product_name}" }, "scheduled_deletion_notification": { "subject": "{product_name}-kontoen din blir permanent slettet", - "body": "Hei {username},\n\n{product_name}-kontoen din er planlagt for permanent sletting.\n\nPlanlagt sletting: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsak: {reason}}\n}\n\nDette er et alvorlig tiltak. Kontodataene dine blir permanent slettet på den planlagte datoen.\n\nHvis du mener avgjørelsen var feil, kan du sende inn en klage. Send en e-post til {appeals_email} fra denne e-postadressen.\n\n– Sikkerhetsteamet hos {product_name}" + "body": "Hei {username},\n\n{product_name}-kontoen din er planlagt for permanent sletting.\n\nPlanlagt sletting: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsak: {reason}}\n}\n\nDette er et alvorlig tiltak. Kontodataene dine blir permanent slettet på den planlagte datoen.\n\nHvis du mener avgjørelsen var feil, kan du sende inn en klage. {appeals_email, select, null {Kontakt administratorene av denne instansen.} other {Send en e-post til {appeals_email} fra denne e-postadressen.}}\n\n– Sikkerhetsteamet hos {product_name}" }, "self_deletion_scheduled": { "subject": "Slettingen av {product_name}-kontoen din er planlagt", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/pl.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/pl.ts index 7b9d77453..0f79b1bab 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/pl.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/pl.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_PL_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Usunięcie Twojego konta {product_name} zostało anulowane", - "body": "Witaj {username},\n\nZaplanowane usunięcie Twojego konta {product_name} zostało anulowane. Twoje konto nie zostanie usunięte.\n\nJeśli masz pytania, skontaktuj się z {safety_email}.\n\n– Zespół {product_name}" + "body": "Witaj {username},\n\nZaplanowane usunięcie Twojego konta {product_name} zostało anulowane. Twoje konto nie zostanie usunięte.\n\n{safety_email, select, null {Jeśli masz pytania, skontaktuj się z administratorami tej instancji.} other {Jeśli masz pytania, skontaktuj się z {safety_email}.}}\n\n– Zespół {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Twoje konto {product_name} zostanie usunięte z powodu braku aktywności", - "body": "Witaj {username},\n\nTwoje konto {product_name} od dawna jest nieaktywne, dlatego zostało zaplanowane do trwałego usunięcia. Termin usunięcia:\n\n{deletionDate, date, full} o {deletionDate, time, short}{reason, select, null {} other {\n\nPowód: {reason}}}\n\nJeśli chcesz zachować konto, skontaktuj się z {safety_email} z tego adresu e-mail przed tym terminem.\n\n– Zespół {product_name}" + "body": "Witaj {username},\n\nTwoje konto {product_name} od dawna jest nieaktywne, dlatego zostało zaplanowane do trwałego usunięcia. Termin usunięcia:\n\n{deletionDate, date, full} o {deletionDate, time, short}{reason, select, null {} other {\n\nPowód: {reason}}}\n\n{safety_email, select, null {Jeśli chcesz zachować konto, skontaktuj się z administratorami tej instancji przed tym terminem.} other {Jeśli chcesz zachować konto, skontaktuj się z {safety_email} z tego adresu e-mail przed tym terminem.}}\n\n– Zespół {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Usunięcie Twojego konta {product_name} zostało zaplanowane", - "body": "Witaj {username},\n\nZgodnie z Twoją prośbą zaplanowaliśmy trwałe usunięcie konta {product_name}. Termin usunięcia:\n\n{deletionDate, date, full} o {deletionDate, time, short}{reason, select, null {} other {\n\nPowód: {reason}}}\n\nDo tego czasu Twoje konto jest zablokowane. Jeśli nie prosiłeś o to lub chcesz zachować konto, skontaktuj się z {safety_email} z tego adresu e-mail przed tym terminem.\n\n– Zespół {product_name}" + "body": "Witaj {username},\n\nZgodnie z Twoją prośbą zaplanowaliśmy trwałe usunięcie konta {product_name}. Termin usunięcia:\n\n{deletionDate, date, full} o {deletionDate, time, short}{reason, select, null {} other {\n\nPowód: {reason}}}\n\nDo tego czasu Twoje konto jest zablokowane. {safety_email, select, null {Jeśli nie prosiłeś o to lub chcesz zachować konto, skontaktuj się z administratorami tej instancji przed tym terminem.} other {Jeśli nie prosiłeś o to lub chcesz zachować konto, skontaktuj się z {safety_email} z tego adresu e-mail przed tym terminem.}}\n\n– Zespół {product_name}" }, "account_scheduled_deletion": { "subject": "Twoje konto {product_name} zostanie trwale usunięte", - "body": "Witaj {username},\n\nZaplanowaliśmy trwałe usunięcie Twojego konta {product_name} z powodu naruszenia naszych warunków korzystania z usługi lub zasad społeczności.\n\nZaplanowane usunięcie: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Powód: {reason}}\n}\n\nJest to poważna sankcja. Dane Twojego konta zostaną usunięte na stałe w zaplanowanym terminie.\n\nSprawdź:\n- Warunki korzystania z usługi: {termsUrl}\n- Zasady społeczności: {guidelinesUrl}\n\nProces odwoławczy:\nJeśli uważasz, że ta decyzja była błędna lub nieuzasadniona, masz 60 dni na złożenie odwołania. Wyślij e-mail na adres {appeals_email} z tego adresu e-mail.\n\nW swoim odwołaniu:\n- Wyjaśnij jasno, dlaczego uważasz, że decyzja była błędna lub nieuzasadniona\n- Przedstaw wszelkie istotne dowody lub kontekst\n\nCzłonek zespołu ds. bezpieczeństwa {product_name} rozpatrzy Twoje odwołanie i może wstrzymać usunięcie do czasu podjęcia ostatecznej decyzji.\n\n– Zespół ds. bezpieczeństwa {product_name}" + "body": "Witaj {username},\n\nZaplanowaliśmy trwałe usunięcie Twojego konta {product_name} z powodu naruszenia naszych warunków korzystania z usługi lub zasad społeczności.\n\nZaplanowane usunięcie: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Powód: {reason}}\n}\n\nJest to poważna sankcja. Dane Twojego konta zostaną usunięte na stałe w zaplanowanym terminie.\n\n{legalLinks, select,\n both {Sprawdź:\n- Warunki korzystania z usługi: {termsUrl}\n- Zasady społeczności: {guidelinesUrl}\n\n}\n terms {Sprawdź:\n- Warunki korzystania z usługi: {termsUrl}\n\n}\n guidelines {Sprawdź:\n- Zasady społeczności: {guidelinesUrl}\n\n}\n other {}\n}Proces odwoławczy:\nJeśli uważasz, że ta decyzja była błędna lub nieuzasadniona, masz 60 dni na złożenie odwołania. {appeals_email, select, null {Skontaktuj się z administratorami tej instancji.} other {Wyślij e-mail na adres {appeals_email} z tego adresu e-mail.}}\n\nW swoim odwołaniu:\n- Wyjaśnij jasno, dlaczego uważasz, że decyzja była błędna lub nieuzasadniona\n- Przedstaw wszelkie istotne dowody lub kontekst\n\nCzłonek zespołu ds. bezpieczeństwa {product_name} rozpatrzy Twoje odwołanie i może wstrzymać usunięcie do czasu podjęcia ostatecznej decyzji.\n\n– Zespół ds. bezpieczeństwa {product_name}" }, "account_temp_banned": { "subject": "Twoje konto {product_name} zostało tymczasowo zawieszone", - "body": "Witaj {username},\n\nTwoje konto {product_name} zostało tymczasowo zawieszone za naruszenie naszych warunków korzystania z usługi lub zasad społeczności.\n\nCzas trwania: {durationHours, plural,\n one {1 godzina} few {# godziny}\n many {# godzin} other {# godziny}\n}\nZawieszone do: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Powód: {reason}}\n}\n\nW tym czasie nie będziesz mieć dostępu do swojego konta.\n\nSprawdź:\n- Warunki korzystania z usługi: {termsUrl}\n- Zasady społeczności: {guidelinesUrl}\n\nJeśli uważasz, że ta decyzja była błędna lub nieuzasadniona, możesz złożyć odwołanie. Wyślij e-mail na adres {appeals_email} z tego adresu e-mail i jasno wyjaśnij, dlaczego uważasz, że decyzja była błędna. Rozpatrzymy Twoje odwołanie i poinformujemy Cię o naszej decyzji.\n\n– Zespół ds. bezpieczeństwa {product_name}" + "body": "Witaj {username},\n\nTwoje konto {product_name} zostało tymczasowo zawieszone za naruszenie naszych warunków korzystania z usługi lub zasad społeczności.\n\nCzas trwania: {durationHours, plural,\n one {1 godzina} few {# godziny}\n many {# godzin} other {# godziny}\n}\nZawieszone do: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Powód: {reason}}\n}\n\nW tym czasie nie będziesz mieć dostępu do swojego konta.\n\n{legalLinks, select,\n both {Sprawdź:\n- Warunki korzystania z usługi: {termsUrl}\n- Zasady społeczności: {guidelinesUrl}\n\n}\n terms {Sprawdź:\n- Warunki korzystania z usługi: {termsUrl}\n\n}\n guidelines {Sprawdź:\n- Zasady społeczności: {guidelinesUrl}\n\n}\n other {}\n}Jeśli uważasz, że ta decyzja była błędna lub nieuzasadniona, możesz złożyć odwołanie. {appeals_email, select, null {Skontaktuj się z administratorami tej instancji i jasno wyjaśnij, dlaczego uważasz, że decyzja była błędna.} other {Wyślij e-mail na adres {appeals_email} z tego adresu e-mail i jasno wyjaśnij, dlaczego uważasz, że decyzja była błędna.}} Rozpatrzymy Twoje odwołanie i poinformujemy Cię o naszej decyzji.\n\n– Zespół ds. bezpieczeństwa {product_name}" }, "donation_confirmation": { "subject": "Dziękujemy za darowiznę dla {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_PL_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Podjęliśmy decyzję w sprawie Twojego zgłoszenia w {product_name}", - "body": "Witaj,\n\nNasz zespół ds. bezpieczeństwa rozpatrzył Twoje zgłoszenie w ramach aktu o usługach cyfrowych (ID: {reportId}) i podjął decyzję.{hasComment, select, yes {\n\nOdpowiedź od zespołu ds. bezpieczeństwa:\n{publicComment}} other {}}\n\nNie udostępniamy szczegółów działań podjętych wobec konta innej osoby, ponieważ są to jej dane osobowe.\n\nJeśli nie zgadzasz się z tą decyzją, możesz bezpłatnie złożyć odwołanie w ciągu 60 dni. Wyślij e-mail na adres {appeals_email} z tego adresu e-mail, podaj ID zgłoszenia i wyjaśnij, dlaczego uważasz, że decyzja jest błędna. Jeśli przebywasz w UE, możesz też skierować spór do certyfikowanego organu pozasądowego rozstrzygania sporów. Nic z tego nie wpływa na Twoje prawo do skierowania sprawy do sądu.\n\n– Zespół ds. bezpieczeństwa {product_name}" + "body": "Witaj,\n\nNasz zespół ds. bezpieczeństwa rozpatrzył Twoje zgłoszenie w ramach aktu o usługach cyfrowych (ID: {reportId}) i podjął decyzję.{hasComment, select, yes {\n\nOdpowiedź od zespołu ds. bezpieczeństwa:\n{publicComment}} other {}}\n\nNie udostępniamy szczegółów działań podjętych wobec konta innej osoby, ponieważ są to jej dane osobowe.\n\nJeśli nie zgadzasz się z tą decyzją, możesz bezpłatnie złożyć odwołanie w ciągu 60 dni. {appeals_email, select, null {Skontaktuj się z administratorami tej instancji, podaj ID zgłoszenia i wyjaśnij, dlaczego uważasz, że decyzja jest błędna.} other {Wyślij e-mail na adres {appeals_email} z tego adresu e-mail, podaj ID zgłoszenia i wyjaśnij, dlaczego uważasz, że decyzja jest błędna.}} Jeśli przebywasz w UE, możesz też skierować spór do certyfikowanego organu pozasądowego rozstrzygania sporów. Nic z tego nie wpływa na Twoje prawo do skierowania sprawy do sądu.\n\n– Zespół ds. bezpieczeństwa {product_name}" }, "dsa_report_verification": { "subject": "Zweryfikuj adres e-mail na potrzeby zgłoszenia DSA", @@ -57,15 +57,15 @@ const EMAIL_I18N_PL_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Usunięto bonusy z wykorzystanego prezentu", - "body": "Witaj {username},\n\nKod podarunkowy wykorzystany na Twoim koncie został pierwotnie opłacony przez inną osobę. Płatność ta została następnie cofnięta (chargeback).\n\nZ tego powodu usunęliśmy bonusy, które zostały dodane do Twojego konta po wykorzystaniu prezentu.\n\nJeśli uważasz, że to pomyłka, skontaktuj się z naszym zespołem wsparcia i podaj wszelkie szczegóły dotyczące kodu podarunkowego oraz daty jego wykorzystania.\n\n– Zespół {product_name}" + "body": "Witaj {username},\n\nKod podarunkowy wykorzystany na Twoim koncie został pierwotnie opłacony przez inną osobę. Płatność ta została następnie cofnięta (chargeback).\n\nZ tego powodu usunęliśmy bonusy, które zostały dodane do Twojego konta po wykorzystaniu prezentu.\n\n{support_email, select, null {Jeśli uważasz, że to pomyłka, skontaktuj się z administratorami tej instancji i podaj wszelkie szczegóły dotyczące kodu podarunkowego oraz daty jego wykorzystania.} other {Jeśli uważasz, że to pomyłka, skontaktuj się z naszym zespołem wsparcia i podaj wszelkie szczegóły dotyczące kodu podarunkowego oraz daty jego wykorzystania.}}\n\n– Zespół {product_name}" }, "harvest_completed": { "subject": "Twój eksport danych z {product_name} jest gotowy do pobrania", - "body": "Witaj {username},\n\nTwój eksport danych jest gotowy.\n\nLink do pobrania:\n{downloadUrl}\n\nLiczba uwzględnionych wiadomości: {totalMessages, number}\nRozmiar pliku: {fileSizeMB, number} MB\n\nTen link wygasa {expiresAt, date, full} o {expiresAt, time, short}.\n\nJeśli nie prosiłeś o ten eksport, natychmiast zmień hasło i skontaktuj się z naszym zespołem wsparcia.\n\n– Zespół {product_name}" + "body": "Witaj {username},\n\nTwój eksport danych jest gotowy.\n\nLink do pobrania:\n{downloadUrl}\n\nLiczba uwzględnionych wiadomości: {totalMessages, number}\nRozmiar pliku: {fileSizeMB, number} MB\n\nTen link wygasa {expiresAt, date, full} o {expiresAt, time, short}.\n\n{support_email, select, null {Jeśli nie prosiłeś o ten eksport, natychmiast zmień hasło i skontaktuj się z administratorami tej instancji.} other {Jeśli nie prosiłeś o ten eksport, natychmiast zmień hasło i skontaktuj się z naszym zespołem wsparcia.}}\n\n– Zespół {product_name}" }, "inactivity_warning": { "subject": "Twoje konto {product_name} zostanie usunięte z powodu braku aktywności", - "body": "Witaj {username},\n\nNie odnotowaliśmy żadnej aktywności na Twoim koncie {product_name} od {lastActiveDate, date, full}.\n\nJeśli nie zalogujesz się do {deletionDate, date, full} o {deletionDate, time, short}, Twoje konto zostanie usunięte na stałe z powodu nieaktywności.\n\nZaloguj się tutaj:\n{loginUrl}\n\nJeśli ostatnio korzystałeś z {product_name}, natychmiast skontaktuj się z naszym zespołem wsparcia.\n\n– Zespół {product_name}" + "body": "Witaj {username},\n\nNie odnotowaliśmy żadnej aktywności na Twoim koncie {product_name} od {lastActiveDate, date, full}.\n\nJeśli nie zalogujesz się do {deletionDate, date, full} o {deletionDate, time, short}, Twoje konto zostanie usunięte na stałe z powodu nieaktywności.\n\nZaloguj się tutaj:\n{loginUrl}\n\n{support_email, select, null {Jeśli ostatnio korzystałeś z {product_name}, natychmiast skontaktuj się z administratorami tej instancji.} other {Jeśli ostatnio korzystałeś z {product_name}, natychmiast skontaktuj się z naszym zespołem wsparcia.}}\n\n– Zespół {product_name}" }, "ip_authorization": { "subject": "Autoryzuj logowanie z nowego adresu IP", @@ -93,11 +93,11 @@ const EMAIL_I18N_PL_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Twoje zgłoszenie w {product_name} zostało rozpatrzone", - "body": "Witaj {username},\n\nTwoje zgłoszenie (ID: {reportId}) zostało rozpatrzone przez nasz zespół ds. bezpieczeństwa.{hasComment, select, yes {\n\nOdpowiedź od zespołu ds. bezpieczeństwa:\n{publicComment}} other {}}\n\nDziękujemy za pomoc w utrzymaniu bezpieczeństwa {product_name} dla wszystkich. Traktujemy wszystkie zgłoszenia poważnie i doceniamy Twój wkład w społeczność.\n\nJeśli masz pytania lub wątpliwości dotyczące tej decyzji, skontaktuj się z {safety_email}.\n\n– Zespół ds. bezpieczeństwa {product_name}" + "body": "Witaj {username},\n\nTwoje zgłoszenie (ID: {reportId}) zostało rozpatrzone przez nasz zespół ds. bezpieczeństwa.{hasComment, select, yes {\n\nOdpowiedź od zespołu ds. bezpieczeństwa:\n{publicComment}} other {}}\n\nDziękujemy za pomoc w utrzymaniu bezpieczeństwa {product_name} dla wszystkich. Traktujemy wszystkie zgłoszenia poważnie i doceniamy Twój wkład w społeczność.\n\n{safety_email, select, null {Jeśli masz pytania lub wątpliwości dotyczące tej decyzji, skontaktuj się z administratorami tej instancji.} other {Jeśli masz pytania lub wątpliwości dotyczące tej decyzji, skontaktuj się z {safety_email}.}}\n\n– Zespół ds. bezpieczeństwa {product_name}" }, "scheduled_deletion_notification": { "subject": "Twoje konto {product_name} zostanie trwale usunięte", - "body": "Witaj {username},\n\nZaplanowaliśmy trwałe usunięcie Twojego konta {product_name}.\n\nZaplanowane usunięcie: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Powód: {reason}}\n}\n\nJest to poważna sankcja. Dane Twojego konta zostaną usunięte na stałe w zaplanowanym terminie.\n\nJeśli uważasz, że ta decyzja była błędna, możesz złożyć odwołanie. Wyślij e-mail na adres {appeals_email} z tego adresu e-mail.\n\n– Zespół ds. bezpieczeństwa {product_name}" + "body": "Witaj {username},\n\nZaplanowaliśmy trwałe usunięcie Twojego konta {product_name}.\n\nZaplanowane usunięcie: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Powód: {reason}}\n}\n\nJest to poważna sankcja. Dane Twojego konta zostaną usunięte na stałe w zaplanowanym terminie.\n\nJeśli uważasz, że ta decyzja była błędna, możesz złożyć odwołanie. {appeals_email, select, null {Skontaktuj się z administratorami tej instancji.} other {Wyślij e-mail na adres {appeals_email} z tego adresu e-mail.}}\n\n– Zespół ds. bezpieczeństwa {product_name}" }, "self_deletion_scheduled": { "subject": "Usunięcie Twojego konta {product_name} zostało zaplanowane", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/pt-BR.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/pt-BR.ts index 6e44c664c..9827533e8 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/pt-BR.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/pt-BR.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_PT_BR_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "A exclusão da sua conta do {product_name} foi cancelada", - "body": "Olá, {username},\n\nA exclusão agendada da sua conta do {product_name} foi cancelada. Sua conta não será excluída.\n\nSe tiver alguma dúvida, entre em contato com {safety_email}.\n\n– Equipe do {product_name}" + "body": "Olá, {username},\n\nA exclusão agendada da sua conta do {product_name} foi cancelada. Sua conta não será excluída.\n\n{safety_email, select, null {Se tiver alguma dúvida, entre em contato com os administradores desta instância.} other {Se tiver alguma dúvida, entre em contato com {safety_email}.}}\n\n– Equipe do {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "A sua conta do {product_name} será excluída devido à inatividade", - "body": "Olá, {username},\n\nSua conta do {product_name} está inativa há muito tempo, por isso está agendada para exclusão permanente em:\n\n{deletionDate, date, full} às {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nSe quiser manter sua conta, entre em contato com {safety_email} usando este endereço de e-mail antes dessa data.\n\n– Equipe do {product_name}" + "body": "Olá, {username},\n\nSua conta do {product_name} está inativa há muito tempo, por isso está agendada para exclusão permanente em:\n\n{deletionDate, date, full} às {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\n{safety_email, select, null {Se quiser manter sua conta, entre em contato com os administradores desta instância antes dessa data.} other {Se quiser manter sua conta, entre em contato com {safety_email} usando este endereço de e-mail antes dessa data.}}\n\n– Equipe do {product_name}" }, "account_deletion_scheduled_requested": { "subject": "A exclusão da sua conta do {product_name} está agendada", - "body": "Olá, {username},\n\nConforme solicitado, sua conta do {product_name} está agendada para exclusão permanente em:\n\n{deletionDate, date, full} às {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nSua conta permanecerá bloqueada até lá. Se você não solicitou isso, ou se quiser manter sua conta, entre em contato com {safety_email} usando este endereço de e-mail antes dessa data.\n\n– Equipe do {product_name}" + "body": "Olá, {username},\n\nConforme solicitado, sua conta do {product_name} está agendada para exclusão permanente em:\n\n{deletionDate, date, full} às {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nSua conta permanecerá bloqueada até lá. {safety_email, select, null {Se você não solicitou isso, ou se quiser manter sua conta, entre em contato com os administradores desta instância antes dessa data.} other {Se você não solicitou isso, ou se quiser manter sua conta, entre em contato com {safety_email} usando este endereço de e-mail antes dessa data.}}\n\n– Equipe do {product_name}" }, "account_scheduled_deletion": { "subject": "Sua conta do {product_name} será excluída permanentemente", - "body": "Olá, {username},\n\nA exclusão permanente da sua conta do {product_name} foi agendada devido a violações de nossos Termos de serviço ou Diretrizes da comunidade.\n\nExclusão agendada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta é uma medida séria. Os dados da sua conta serão excluídos permanentemente na data agendada.\n\nPor favor, revise:\n- Termos de serviço: {termsUrl}\n- Diretrizes da comunidade: {guidelinesUrl}\n\nProcesso de recurso:\nSe você acredita que esta decisão foi incorreta ou injustificada, você tem 60 dias para enviar um recurso. Envie um e-mail para {appeals_email} a partir deste endereço de e-mail.\n\nEm seu recurso:\n- Explique claramente por que você acredita que a decisão foi incorreta ou injustificada\n- Forneça quaisquer evidências ou contexto relevantes\n\nUm membro da equipe de segurança do {product_name} revisará seu recurso e poderá pausar a exclusão pendente até que uma decisão final seja tomada.\n\n– equipe de segurança do {product_name}" + "body": "Olá, {username},\n\nA exclusão permanente da sua conta do {product_name} foi agendada devido a violações de nossos Termos de serviço ou Diretrizes da comunidade.\n\nExclusão agendada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta é uma medida séria. Os dados da sua conta serão excluídos permanentemente na data agendada.\n\n{legalLinks, select,\n both {Por favor, revise:\n- Termos de serviço: {termsUrl}\n- Diretrizes da comunidade: {guidelinesUrl}\n\n}\n terms {Por favor, revise:\n- Termos de serviço: {termsUrl}\n\n}\n guidelines {Por favor, revise:\n- Diretrizes da comunidade: {guidelinesUrl}\n\n}\n other {}\n}Processo de recurso:\nSe você acredita que esta decisão foi incorreta ou injustificada, você tem 60 dias para enviar um recurso. {appeals_email, select, null {Entre em contato com os administradores desta instância.} other {Envie um e-mail para {appeals_email} a partir deste endereço de e-mail.}}\n\nEm seu recurso:\n- Explique claramente por que você acredita que a decisão foi incorreta ou injustificada\n- Forneça quaisquer evidências ou contexto relevantes\n\nUm membro da equipe de segurança do {product_name} revisará seu recurso e poderá pausar a exclusão pendente até que uma decisão final seja tomada.\n\n– equipe de segurança do {product_name}" }, "account_temp_banned": { "subject": "Sua conta do {product_name} foi suspensa temporariamente", - "body": "Olá, {username},\n\nSua conta do {product_name} foi suspensa temporariamente por violar nossos Termos de serviço ou Diretrizes da comunidade.\n\nDuração: {durationHours, plural,\n =1 {1 hora} other {# horas}}\nSuspensa até: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {} other {Motivo: {reason}}}\n\nDurante este período, você não poderá acessar sua conta.\n\nPor favor, revise:\n- Termos de serviço: {termsUrl}\n- Diretrizes da comunidade: {guidelinesUrl}\n\nSe você acredita que esta decisão foi incorreta ou injustificada, você pode enviar um recurso. Envie um e-mail para {appeals_email} a partir deste endereço de e-mail e explique claramente por que você acredita que a decisão foi incorreta. Revisaremos seu recurso e responderemos com nossa decisão.\n\n– equipe de segurança do {product_name}" + "body": "Olá, {username},\n\nSua conta do {product_name} foi suspensa temporariamente por violar nossos Termos de serviço ou Diretrizes da comunidade.\n\nDuração: {durationHours, plural,\n =1 {1 hora} other {# horas}}\nSuspensa até: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {} other {Motivo: {reason}}}\n\nDurante este período, você não poderá acessar sua conta.\n\n{legalLinks, select,\n both {Por favor, revise:\n- Termos de serviço: {termsUrl}\n- Diretrizes da comunidade: {guidelinesUrl}\n\n}\n terms {Por favor, revise:\n- Termos de serviço: {termsUrl}\n\n}\n guidelines {Por favor, revise:\n- Diretrizes da comunidade: {guidelinesUrl}\n\n}\n other {}\n}Se você acredita que esta decisão foi incorreta ou injustificada, você pode enviar um recurso. {appeals_email, select, null {Entre em contato com os administradores desta instância e explique claramente por que você acredita que a decisão foi incorreta.} other {Envie um e-mail para {appeals_email} a partir deste endereço de e-mail e explique claramente por que você acredita que a decisão foi incorreta.}} Revisaremos seu recurso e responderemos com nossa decisão.\n\n– equipe de segurança do {product_name}" }, "donation_confirmation": { "subject": "Agradecemos pela sua doação ao {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_PT_BR_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Tomamos uma decisão sobre sua denúncia no {product_name}", - "body": "Olá,\n\nNossa equipe de segurança analisou sua denúncia nos termos da Lei dos Serviços Digitais (ID: {reportId}) e tomou uma decisão.{hasComment, select, yes {\n\nResposta da equipe de segurança:\n{publicComment}} other {}}\n\nNão compartilhamos detalhes de medidas tomadas contra a conta de outra pessoa, pois são dados pessoais dela.\n\nSe você não concordar com esta decisão, pode enviar um recurso gratuitamente em até 60 dias. Envie um e-mail para {appeals_email} a partir deste endereço de e-mail, inclua o ID da sua denúncia e explique por que você acredita que a decisão está incorreta. Se você estiver na UE, também pode encaminhar a disputa a um órgão certificado de resolução extrajudicial de litígios. Nada disso afeta seu direito de recorrer à Justiça.\n\n– equipe de segurança do {product_name}" + "body": "Olá,\n\nNossa equipe de segurança analisou sua denúncia nos termos da Lei dos Serviços Digitais (ID: {reportId}) e tomou uma decisão.{hasComment, select, yes {\n\nResposta da equipe de segurança:\n{publicComment}} other {}}\n\nNão compartilhamos detalhes de medidas tomadas contra a conta de outra pessoa, pois são dados pessoais dela.\n\nSe você não concordar com esta decisão, pode enviar um recurso gratuitamente em até 60 dias. {appeals_email, select, null {Entre em contato com os administradores desta instância, inclua o ID da sua denúncia e explique por que você acredita que a decisão está incorreta.} other {Envie um e-mail para {appeals_email} a partir deste endereço de e-mail, inclua o ID da sua denúncia e explique por que você acredita que a decisão está incorreta.}} Se você estiver na UE, também pode encaminhar a disputa a um órgão certificado de resolução extrajudicial de litígios. Nada disso afeta seu direito de recorrer à Justiça.\n\n– equipe de segurança do {product_name}" }, "dsa_report_verification": { "subject": "Verifique seu e-mail para enviar uma denúncia nos termos do DSA", @@ -57,15 +57,15 @@ const EMAIL_I18N_PT_BR_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Os benefícios do presente que você resgatou foram removidos", - "body": "Olá, {username},\n\nUm código de presente que você resgatou foi originalmente pago por outra pessoa. Esse pagamento foi revertido (um estorno).\n\nPor causa disso, removemos os benefícios que foram adicionados à sua conta quando você resgatou o presente.\n\nSe você acha que isso é um erro, entre em contato com nossa equipe de suporte e inclua quaisquer detalhes que você tenha sobre o código do presente e quando você o resgatou.\n\n– Equipe do {product_name}" + "body": "Olá, {username},\n\nUm código de presente que você resgatou foi originalmente pago por outra pessoa. Esse pagamento foi revertido (um estorno).\n\nPor causa disso, removemos os benefícios que foram adicionados à sua conta quando você resgatou o presente.\n\n{support_email, select, null {Se você acha que isso é um erro, entre em contato com os administradores desta instância e inclua quaisquer detalhes que você tenha sobre o código do presente e quando você o resgatou.} other {Se você acha que isso é um erro, entre em contato com nossa equipe de suporte e inclua quaisquer detalhes que você tenha sobre o código do presente e quando você o resgatou.}}\n\n– Equipe do {product_name}" }, "harvest_completed": { "subject": "Sua exportação de dados do {product_name} está pronta para download", - "body": "Olá, {username},\n\nSua exportação de dados está pronta.\n\nLink para download:\n{downloadUrl}\n\nMensagens incluídas: {totalMessages, number}\nTamanho do arquivo: {fileSizeMB, number} MB\n\nEste link expira em {expiresAt, date, full} às {expiresAt, time, short}.\n\nSe você não solicitou esta exportação, por favor, altere sua senha imediatamente e entre em contato com nossa equipe de suporte.\n\n– Equipe do {product_name}" + "body": "Olá, {username},\n\nSua exportação de dados está pronta.\n\nLink para download:\n{downloadUrl}\n\nMensagens incluídas: {totalMessages, number}\nTamanho do arquivo: {fileSizeMB, number} MB\n\nEste link expira em {expiresAt, date, full} às {expiresAt, time, short}.\n\n{support_email, select, null {Se você não solicitou esta exportação, por favor, altere sua senha imediatamente e entre em contato com os administradores desta instância.} other {Se você não solicitou esta exportação, por favor, altere sua senha imediatamente e entre em contato com nossa equipe de suporte.}}\n\n– Equipe do {product_name}" }, "inactivity_warning": { "subject": "A sua conta do {product_name} será excluída devido à inatividade", - "body": "Olá, {username},\n\nNão vimos nenhuma atividade em sua conta do {product_name} desde {lastActiveDate, date, full}.\n\nSe você não entrar até {deletionDate, date, full} às {deletionDate, time, short}, sua conta será excluída permanentemente devido à inatividade.\n\nEntre aqui:\n{loginUrl}\n\nSe você usou o {product_name} recentemente, entre em contato com nossa equipe de suporte imediatamente.\n\n– Equipe do {product_name}" + "body": "Olá, {username},\n\nNão vimos nenhuma atividade em sua conta do {product_name} desde {lastActiveDate, date, full}.\n\nSe você não entrar até {deletionDate, date, full} às {deletionDate, time, short}, sua conta será excluída permanentemente devido à inatividade.\n\nEntre aqui:\n{loginUrl}\n\n{support_email, select, null {Se você usou o {product_name} recentemente, entre em contato com os administradores desta instância imediatamente.} other {Se você usou o {product_name} recentemente, entre em contato com nossa equipe de suporte imediatamente.}}\n\n– Equipe do {product_name}" }, "ip_authorization": { "subject": "Autorizar login de um novo endereço IP", @@ -93,11 +93,11 @@ const EMAIL_I18N_PT_BR_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Sua denúncia no {product_name} foi analisada", - "body": "Olá, {username},\n\nSua denúncia (ID: {reportId}) foi analisada por nossa equipe de segurança.{hasComment, select, yes {\n\nResposta da equipe de segurança:\n{publicComment}} other {}}\n\nAgradecemos por ajudar a manter o {product_name} seguro para todos. Levamos todas as denúncias a sério e agradecemos sua contribuição para a comunidade.\n\nSe você tiver alguma dúvida ou preocupação sobre este resultado, entre em contato com {safety_email}.\n\n– equipe de segurança do {product_name}" + "body": "Olá, {username},\n\nSua denúncia (ID: {reportId}) foi analisada por nossa equipe de segurança.{hasComment, select, yes {\n\nResposta da equipe de segurança:\n{publicComment}} other {}}\n\nAgradecemos por ajudar a manter o {product_name} seguro para todos. Levamos todas as denúncias a sério e agradecemos sua contribuição para a comunidade.\n\n{safety_email, select, null {Se você tiver alguma dúvida ou preocupação sobre este resultado, entre em contato com os administradores desta instância.} other {Se você tiver alguma dúvida ou preocupação sobre este resultado, entre em contato com {safety_email}.}}\n\n– equipe de segurança do {product_name}" }, "scheduled_deletion_notification": { "subject": "Sua conta do {product_name} será excluída permanentemente", - "body": "Olá, {username},\n\nA exclusão permanente da sua conta do {product_name} foi agendada.\n\nExclusão agendada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta é uma medida séria. Os dados da sua conta serão excluídos permanentemente na data agendada.\n\nSe você acredita que esta decisão foi incorreta, você pode enviar um recurso. Envie um e-mail para {appeals_email} a partir deste endereço de e-mail.\n\n– equipe de segurança do {product_name}" + "body": "Olá, {username},\n\nA exclusão permanente da sua conta do {product_name} foi agendada.\n\nExclusão agendada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta é uma medida séria. Os dados da sua conta serão excluídos permanentemente na data agendada.\n\nSe você acredita que esta decisão foi incorreta, você pode enviar um recurso. {appeals_email, select, null {Entre em contato com os administradores desta instância.} other {Envie um e-mail para {appeals_email} a partir deste endereço de e-mail.}}\n\n– equipe de segurança do {product_name}" }, "self_deletion_scheduled": { "subject": "A exclusão da sua conta do {product_name} está agendada", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/ro.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/ro.ts index f99023964..89f32dc36 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/ro.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/ro.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_RO_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Ștergerea contului {product_name} a fost anulată", - "body": "Salut {username},\n\nȘtergerea programată a contului tău {product_name} a fost anulată. Contul tău nu va fi șters.\n\nDacă ai întrebări, te rugăm să scrii la {safety_email}.\n\n– Echipa {product_name}" + "body": "Salut {username},\n\nȘtergerea programată a contului tău {product_name} a fost anulată. Contul tău nu va fi șters.\n\n{safety_email, select, null {Dacă ai întrebări, te rugăm să contactezi administratorii acestei instanțe.} other {Dacă ai întrebări, te rugăm să scrii la {safety_email}.}}\n\n– Echipa {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Contul tău {product_name} va fi șters din cauza inactivității", - "body": "Salut {username},\n\nContul tău {product_name} a fost inactiv o perioadă lungă, așa că este programat pentru ștergere permanentă la:\n\n{deletionDate, date, full} la ora {deletionDate, time, short}{reason, select, null {} other {\n\nMotiv: {reason}}}\n\nDacă vrei să îți păstrezi contul, scrie la {safety_email} de pe această adresă de e-mail înainte de această dată.\n\n– Echipa {product_name}" + "body": "Salut {username},\n\nContul tău {product_name} a fost inactiv o perioadă lungă, așa că este programat pentru ștergere permanentă la:\n\n{deletionDate, date, full} la ora {deletionDate, time, short}{reason, select, null {} other {\n\nMotiv: {reason}}}\n\n{safety_email, select, null {Dacă vrei să îți păstrezi contul, contactează administratorii acestei instanțe înainte de această dată.} other {Dacă vrei să îți păstrezi contul, scrie la {safety_email} de pe această adresă de e-mail înainte de această dată.}}\n\n– Echipa {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Ștergerea contului {product_name} a fost programată", - "body": "Salut {username},\n\nConform solicitării tale, contul tău {product_name} este programat pentru ștergere permanentă la:\n\n{deletionDate, date, full} la ora {deletionDate, time, short}{reason, select, null {} other {\n\nMotiv: {reason}}}\n\nPână atunci, contul tău este blocat. Dacă nu ai solicitat acest lucru sau vrei să îți păstrezi contul, scrie la {safety_email} de pe această adresă de e-mail înainte de această dată.\n\n– Echipa {product_name}" + "body": "Salut {username},\n\nConform solicitării tale, contul tău {product_name} este programat pentru ștergere permanentă la:\n\n{deletionDate, date, full} la ora {deletionDate, time, short}{reason, select, null {} other {\n\nMotiv: {reason}}}\n\nPână atunci, contul tău este blocat. {safety_email, select, null {Dacă nu ai solicitat acest lucru sau vrei să îți păstrezi contul, contactează administratorii acestei instanțe înainte de această dată.} other {Dacă nu ai solicitat acest lucru sau vrei să îți păstrezi contul, scrie la {safety_email} de pe această adresă de e-mail înainte de această dată.}}\n\n– Echipa {product_name}" }, "account_scheduled_deletion": { "subject": "Contul tău {product_name} va fi șters permanent", - "body": "Salut {username},\n\nContul tău {product_name} a fost programat pentru ștergere permanentă din cauza încălcării Termenilor și condițiilor sau a regulilor comunității.\n\nȘtergere programată: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motiv: {reason}}\n}\n\nAceasta este o măsură disciplinară serioasă. Datele contului tău vor fi șterse permanent la data programată.\n\nTe rugăm să consulți:\n- Termeni și condiții: {termsUrl}\n- Regulile comunității: {guidelinesUrl}\n\nProcesul de contestare:\nDacă crezi că această decizie a fost incorectă sau nejustificată, ai la dispoziție 60 de zile pentru a depune o contestație. Trimite un e-mail la {appeals_email} de la această adresă.\n\nÎn contestația ta:\n- Explică clar de ce crezi că decizia a fost incorectă sau nejustificată\n- Adaugă orice dovadă sau context relevant\n\nUn membru al echipei de siguranță {product_name} va analiza contestația ta și poate suspenda ștergerea programată până la luarea unei decizii finale.\n\n– Echipa de siguranță {product_name}" + "body": "Salut {username},\n\nContul tău {product_name} a fost programat pentru ștergere permanentă din cauza încălcării Termenilor și condițiilor sau a regulilor comunității.\n\nȘtergere programată: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motiv: {reason}}\n}\n\nAceasta este o măsură disciplinară serioasă. Datele contului tău vor fi șterse permanent la data programată.\n\n{legalLinks, select,\n both {Te rugăm să consulți:\n- Termeni și condiții: {termsUrl}\n- Regulile comunității: {guidelinesUrl}\n\n}\n terms {Te rugăm să consulți:\n- Termeni și condiții: {termsUrl}\n\n}\n guidelines {Te rugăm să consulți:\n- Regulile comunității: {guidelinesUrl}\n\n}\n other {}\n}Procesul de contestare:\nDacă crezi că această decizie a fost incorectă sau nejustificată, ai la dispoziție 60 de zile pentru a depune o contestație. {appeals_email, select, null {Contactează administratorii acestei instanțe.} other {Trimite un e-mail la {appeals_email} de la această adresă.}}\n\nÎn contestația ta:\n- Explică clar de ce crezi că decizia a fost incorectă sau nejustificată\n- Adaugă orice dovadă sau context relevant\n\nUn membru al echipei de siguranță {product_name} va analiza contestația ta și poate suspenda ștergerea programată până la luarea unei decizii finale.\n\n– Echipa de siguranță {product_name}" }, "account_temp_banned": { "subject": "Contul tău {product_name} a fost suspendat temporar", - "body": "Salut {username},\n\nContul tău {product_name} a fost suspendat temporar pentru încălcarea Termenilor și condițiilor sau a regulilor comunității.\n\nDurată: {durationHours, plural,\n one {1 oră}\n few {# ore}\n other {# de ore}\n}\nSuspendat până la: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motiv: {reason}}\n}\n\nÎn acest timp, nu vei putea accesa contul.\n\nTe rugăm să consulți:\n- Termeni și condiții: {termsUrl}\n- Regulile comunității: {guidelinesUrl}\n\nDacă crezi că această decizie a fost incorectă sau nejustificată, poți depune o contestație. Trimite un e-mail la {appeals_email} de la această adresă și explică clar de ce crezi că decizia a fost incorectă. Vom analiza contestația ta și îți vom comunica decizia noastră.\n\n– Echipa de siguranță {product_name}" + "body": "Salut {username},\n\nContul tău {product_name} a fost suspendat temporar pentru încălcarea Termenilor și condițiilor sau a regulilor comunității.\n\nDurată: {durationHours, plural,\n one {1 oră}\n few {# ore}\n other {# de ore}\n}\nSuspendat până la: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motiv: {reason}}\n}\n\nÎn acest timp, nu vei putea accesa contul.\n\n{legalLinks, select,\n both {Te rugăm să consulți:\n- Termeni și condiții: {termsUrl}\n- Regulile comunității: {guidelinesUrl}\n\n}\n terms {Te rugăm să consulți:\n- Termeni și condiții: {termsUrl}\n\n}\n guidelines {Te rugăm să consulți:\n- Regulile comunității: {guidelinesUrl}\n\n}\n other {}\n}Dacă crezi că această decizie a fost incorectă sau nejustificată, poți depune o contestație. {appeals_email, select, null {Contactează administratorii acestei instanțe și explică clar de ce crezi că decizia a fost incorectă.} other {Trimite un e-mail la {appeals_email} de la această adresă și explică clar de ce crezi că decizia a fost incorectă.}} Vom analiza contestația ta și îți vom comunica decizia noastră.\n\n– Echipa de siguranță {product_name}" }, "donation_confirmation": { "subject": "Îți mulțumim pentru donația către {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_RO_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Am luat o decizie cu privire la raportul tău de pe {product_name}", - "body": "Salut,\n\nEchipa noastră de siguranță a analizat raportul tău conform Digital Services Act (ID: {reportId}) și a luat o decizie.{hasComment, select, yes {\n\nRăspuns de la echipa de siguranță:\n{publicComment}} other {}}\n\nNu oferim detalii despre măsurile luate împotriva contului altei persoane, deoarece acestea sunt datele sale personale.\n\nDacă nu ești de acord cu această decizie, poți depune gratuit o contestație în termen de 60 de zile. Trimite un e-mail la {appeals_email} de la această adresă, include ID-ul raportului tău și explică de ce crezi că decizia este incorectă. Dacă te afli în UE, poți, de asemenea, să înaintezi litigiul unui organism certificat de soluționare extrajudiciară a litigiilor. Nimic din toate acestea nu îți afectează dreptul de a te adresa instanței.\n\n– Echipa de siguranță {product_name}" + "body": "Salut,\n\nEchipa noastră de siguranță a analizat raportul tău conform Digital Services Act (ID: {reportId}) și a luat o decizie.{hasComment, select, yes {\n\nRăspuns de la echipa de siguranță:\n{publicComment}} other {}}\n\nNu oferim detalii despre măsurile luate împotriva contului altei persoane, deoarece acestea sunt datele sale personale.\n\nDacă nu ești de acord cu această decizie, poți depune gratuit o contestație în termen de 60 de zile. {appeals_email, select, null {Contactează administratorii acestei instanțe, include ID-ul raportului tău și explică de ce crezi că decizia este incorectă.} other {Trimite un e-mail la {appeals_email} de la această adresă, include ID-ul raportului tău și explică de ce crezi că decizia este incorectă.}} Dacă te afli în UE, poți, de asemenea, să înaintezi litigiul unui organism certificat de soluționare extrajudiciară a litigiilor. Nimic din toate acestea nu îți afectează dreptul de a te adresa instanței.\n\n– Echipa de siguranță {product_name}" }, "dsa_report_verification": { "subject": "Verifică-ți e-mailul pentru un raport DSA", @@ -57,15 +57,15 @@ const EMAIL_I18N_RO_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Beneficiile din cadoul pe care l-ai valorificat au fost eliminate", - "body": "Salut {username},\n\nUn cod cadou pe care l-ai valorificat a fost plătit inițial de altcineva. De atunci, plata respectivă a fost retrasă (o anulare a plății).\n\nDin această cauză, am eliminat beneficiile care au fost adăugate contului tău atunci când ai valorificat cadoul.\n\nDacă crezi că este o greșeală, te rugăm să contactezi asistența și să incluzi orice detalii ai despre codul cadou și despre momentul în care l-ai valorificat.\n\n– Echipa {product_name}" + "body": "Salut {username},\n\nUn cod cadou pe care l-ai valorificat a fost plătit inițial de altcineva. De atunci, plata respectivă a fost retrasă (o anulare a plății).\n\nDin această cauză, am eliminat beneficiile care au fost adăugate contului tău atunci când ai valorificat cadoul.\n\n{support_email, select, null {Dacă crezi că este o greșeală, te rugăm să contactezi administratorii acestei instanțe și să incluzi orice detalii ai despre codul cadou și despre momentul în care l-ai valorificat.} other {Dacă crezi că este o greșeală, te rugăm să contactezi asistența și să incluzi orice detalii ai despre codul cadou și despre momentul în care l-ai valorificat.}}\n\n– Echipa {product_name}" }, "harvest_completed": { "subject": "Exportul datelor din {product_name} este gata pentru descărcare", - "body": "Salut {username},\n\nExportul datelor tale este gata.\n\nLink de descărcare:\n{downloadUrl}\n\nMesaje incluse: {totalMessages, number}\nDimensiune fișier: {fileSizeMB, number} MB\n\nAcest link expiră la data de {expiresAt, date, full} la ora {expiresAt, time, short}.\n\nDacă nu ai solicitat acest export, te rugăm să-ți schimbi parola imediat și să contactezi asistența.\n\n– Echipa {product_name}" + "body": "Salut {username},\n\nExportul datelor tale este gata.\n\nLink de descărcare:\n{downloadUrl}\n\nMesaje incluse: {totalMessages, number}\nDimensiune fișier: {fileSizeMB, number} MB\n\nAcest link expiră la data de {expiresAt, date, full} la ora {expiresAt, time, short}.\n\n{support_email, select, null {Dacă nu ai solicitat acest export, te rugăm să-ți schimbi parola imediat și să contactezi administratorii acestei instanțe.} other {Dacă nu ai solicitat acest export, te rugăm să-ți schimbi parola imediat și să contactezi asistența.}}\n\n– Echipa {product_name}" }, "inactivity_warning": { "subject": "Contul tău {product_name} va fi șters din cauza inactivității", - "body": "Salut {username},\n\nNu am înregistrat nicio activitate pe contul tău {product_name} de la data de {lastActiveDate, date, full}.\n\nDacă nu te conectezi până la data de {deletionDate, date, full} la ora {deletionDate, time, short}, contul tău va fi șters permanent din cauza inactivității.\n\nConectează-te aici:\n{loginUrl}\n\nDacă ai folosit {product_name} recent, te rugăm să contactezi imediat asistența.\n\n– Echipa {product_name}" + "body": "Salut {username},\n\nNu am înregistrat nicio activitate pe contul tău {product_name} de la data de {lastActiveDate, date, full}.\n\nDacă nu te conectezi până la data de {deletionDate, date, full} la ora {deletionDate, time, short}, contul tău va fi șters permanent din cauza inactivității.\n\nConectează-te aici:\n{loginUrl}\n\n{support_email, select, null {Dacă ai folosit {product_name} recent, te rugăm să contactezi imediat administratorii acestei instanțe.} other {Dacă ai folosit {product_name} recent, te rugăm să contactezi imediat asistența.}}\n\n– Echipa {product_name}" }, "ip_authorization": { "subject": "Autorizează conectarea de la o nouă adresă IP", @@ -93,11 +93,11 @@ const EMAIL_I18N_RO_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Raportul tău de pe {product_name} a fost analizat", - "body": "Salut {username},\n\nRaportul tău (ID: {reportId}) a fost analizat de echipa noastră de siguranță.{hasComment, select, yes {\n\nRăspuns de la echipa de siguranță:\n{publicComment}} other {}}\n\nÎți mulțumim că ne ajuți să păstrăm {product_name} în siguranță pentru toată lumea. Luăm în serios toate rapoartele și apreciem contribuția ta la comunitate.\n\nDacă ai întrebări sau nelămuriri cu privire la acest rezultat, te rugăm să scrii la {safety_email}.\n\n– Echipa de siguranță {product_name}" + "body": "Salut {username},\n\nRaportul tău (ID: {reportId}) a fost analizat de echipa noastră de siguranță.{hasComment, select, yes {\n\nRăspuns de la echipa de siguranță:\n{publicComment}} other {}}\n\nÎți mulțumim că ne ajuți să păstrăm {product_name} în siguranță pentru toată lumea. Luăm în serios toate rapoartele și apreciem contribuția ta la comunitate.\n\n{safety_email, select, null {Dacă ai întrebări sau nelămuriri cu privire la acest rezultat, te rugăm să contactezi administratorii acestei instanțe.} other {Dacă ai întrebări sau nelămuriri cu privire la acest rezultat, te rugăm să scrii la {safety_email}.}}\n\n– Echipa de siguranță {product_name}" }, "scheduled_deletion_notification": { "subject": "Contul tău {product_name} va fi șters permanent", - "body": "Salut {username},\n\nContul tău {product_name} a fost programat pentru ștergere permanentă.\n\nȘtergere programată: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motiv: {reason}}\n}\n\nAceasta este o măsură disciplinară serioasă. Datele contului tău vor fi șterse permanent la data programată.\n\nDacă crezi că această decizie a fost incorectă, poți depune o contestație. Trimite un e-mail la {appeals_email} de la această adresă.\n\n– Echipa de siguranță {product_name}" + "body": "Salut {username},\n\nContul tău {product_name} a fost programat pentru ștergere permanentă.\n\nȘtergere programată: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motiv: {reason}}\n}\n\nAceasta este o măsură disciplinară serioasă. Datele contului tău vor fi șterse permanent la data programată.\n\nDacă crezi că această decizie a fost incorectă, poți depune o contestație. {appeals_email, select, null {Contactează administratorii acestei instanțe.} other {Trimite un e-mail la {appeals_email} de la această adresă.}}\n\n– Echipa de siguranță {product_name}" }, "self_deletion_scheduled": { "subject": "Ștergerea contului {product_name} a fost programată", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/ru.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/ru.ts index 369320603..b7c82ad4d 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/ru.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/ru.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_RU_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Удаление твоего аккаунта {product_name} отменено", - "body": "Привет, {username},\n\nЗапланированное удаление твоего аккаунта {product_name} отменено. Твой аккаунт не будет удалён.\n\nЕсли у тебя есть вопросы, напиши на {safety_email}.\n\n– Команда {product_name}" + "body": "Привет, {username},\n\nЗапланированное удаление твоего аккаунта {product_name} отменено. Твой аккаунт не будет удалён.\n\n{safety_email, select, null {Если у тебя есть вопросы, свяжись с администраторами этого экземпляра.} other {Если у тебя есть вопросы, напиши на {safety_email}.}}\n\n– Команда {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Твой аккаунт {product_name} будет удалён из-за неактивности", - "body": "Привет, {username},\n\nТвой аккаунт {product_name} долгое время был неактивен, поэтому его безвозвратное удаление запланировано на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nЕсли хочешь сохранить аккаунт, напиши на {safety_email} с этого адреса электронной почты до этой даты.\n\n– Команда {product_name}" + "body": "Привет, {username},\n\nТвой аккаунт {product_name} долгое время был неактивен, поэтому его безвозвратное удаление запланировано на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\n{safety_email, select, null {Если хочешь сохранить аккаунт, свяжись с администраторами этого экземпляра до этой даты.} other {Если хочешь сохранить аккаунт, напиши на {safety_email} с этого адреса электронной почты до этой даты.}}\n\n– Команда {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Запланировано удаление твоего аккаунта {product_name}", - "body": "Привет, {username},\n\nПо твоему запросу безвозвратное удаление аккаунта {product_name} запланировано на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nДо этого момента твой аккаунт заблокирован. Если ты не запрашивал удаление или хочешь сохранить аккаунт, напиши на {safety_email} с этого адреса электронной почты до этой даты.\n\n– Команда {product_name}" + "body": "Привет, {username},\n\nПо твоему запросу безвозвратное удаление аккаунта {product_name} запланировано на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nДо этого момента твой аккаунт заблокирован. {safety_email, select, null {Если ты не запрашивал удаление или хочешь сохранить аккаунт, свяжись с администраторами этого экземпляра до этой даты.} other {Если ты не запрашивал удаление или хочешь сохранить аккаунт, напиши на {safety_email} с этого адреса электронной почты до этой даты.}}\n\n– Команда {product_name}" }, "account_scheduled_deletion": { "subject": "Твой аккаунт {product_name} будет безвозвратно удалён", - "body": "Привет, {username},\n\nМы запланировали безвозвратное удаление твоего аккаунта {product_name} из-за нарушения наших Условий использования или Правил сообщества.\n\nЗапланированное удаление: {deletionDate, date, full} в {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЭто серьёзная мера. Данные твоего аккаунта будут безвозвратно удалены в запланированную дату.\n\nПожалуйста, ознакомься:\n- Условия использования: {termsUrl}\n- Правила сообщества: {guidelinesUrl}\n\nПроцесс апелляции:\nЕсли ты считаешь, что это решение было неверным или необоснованным, у тебя есть 60 дней, чтобы подать апелляцию. Отправь письмо на {appeals_email} с этого адреса электронной почты.\n\nВ своей апелляции:\n- Чётко объясни, почему ты считаешь, что решение было неверным или необоснованным\n- Предоставь любые соответствующие доказательства или контекст\n\nСотрудник команды безопасности {product_name} рассмотрит твою апелляцию и может приостановить запланированное удаление до принятия окончательного решения.\n\n– Команда безопасности {product_name}" + "body": "Привет, {username},\n\nМы запланировали безвозвратное удаление твоего аккаунта {product_name} из-за нарушения наших Условий использования или Правил сообщества.\n\nЗапланированное удаление: {deletionDate, date, full} в {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЭто серьёзная мера. Данные твоего аккаунта будут безвозвратно удалены в запланированную дату.\n\n{legalLinks, select,\n both {Пожалуйста, ознакомься:\n- Условия использования: {termsUrl}\n- Правила сообщества: {guidelinesUrl}\n\n}\n terms {Пожалуйста, ознакомься:\n- Условия использования: {termsUrl}\n\n}\n guidelines {Пожалуйста, ознакомься:\n- Правила сообщества: {guidelinesUrl}\n\n}\n other {}\n}Процесс апелляции:\nЕсли ты считаешь, что это решение было неверным или необоснованным, у тебя есть 60 дней, чтобы подать апелляцию. {appeals_email, select, null {Свяжись с администраторами этого экземпляра.} other {Отправь письмо на {appeals_email} с этого адреса электронной почты.}}\n\nВ своей апелляции:\n- Чётко объясни, почему ты считаешь, что решение было неверным или необоснованным\n- Предоставь любые соответствующие доказательства или контекст\n\nСотрудник команды безопасности {product_name} рассмотрит твою апелляцию и может приостановить запланированное удаление до принятия окончательного решения.\n\n– Команда безопасности {product_name}" }, "account_temp_banned": { "subject": "Твой аккаунт {product_name} временно заблокирован", - "body": "Привет, {username},\n\nТвой аккаунт {product_name} временно заблокирован за нарушение наших Условий использования или Правил сообщества.\n\nДлительность: {durationHours, plural,\n one {# час}\n few {# часа}\n many {# часов}\n other {# часа}\n}\nЗаблокирован до: {bannedUntil, date, full} в {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nВ течение этого времени ты не сможешь получить доступ к своему аккаунту.\n\nПожалуйста, ознакомься:\n- Условия использования: {termsUrl}\n- Правила сообщества: {guidelinesUrl}\n\nЕсли ты считаешь, что это решение было неверным или необоснованным, ты можешь подать апелляцию. Отправь письмо на {appeals_email} с этого адреса электронной почты и чётко объясни, почему ты считаешь решение неверным. Мы рассмотрим твою апелляцию и сообщим о нашем решении.\n\n– Команда безопасности {product_name}" + "body": "Привет, {username},\n\nТвой аккаунт {product_name} временно заблокирован за нарушение наших Условий использования или Правил сообщества.\n\nДлительность: {durationHours, plural,\n one {# час}\n few {# часа}\n many {# часов}\n other {# часа}\n}\nЗаблокирован до: {bannedUntil, date, full} в {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nВ течение этого времени ты не сможешь получить доступ к своему аккаунту.\n\n{legalLinks, select,\n both {Пожалуйста, ознакомься:\n- Условия использования: {termsUrl}\n- Правила сообщества: {guidelinesUrl}\n\n}\n terms {Пожалуйста, ознакомься:\n- Условия использования: {termsUrl}\n\n}\n guidelines {Пожалуйста, ознакомься:\n- Правила сообщества: {guidelinesUrl}\n\n}\n other {}\n}Если ты считаешь, что это решение было неверным или необоснованным, ты можешь подать апелляцию. {appeals_email, select, null {Свяжись с администраторами этого экземпляра и чётко объясни, почему ты считаешь решение неверным.} other {Отправь письмо на {appeals_email} с этого адреса электронной почты и чётко объясни, почему ты считаешь решение неверным.}} Мы рассмотрим твою апелляцию и сообщим о нашем решении.\n\n– Команда безопасности {product_name}" }, "donation_confirmation": { "subject": "Спасибо за твоё пожертвование для {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_RU_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Мы приняли решение по твоей жалобе в {product_name}", - "body": "Привет,\n\nНаша команда безопасности рассмотрела твою жалобу по Закону о цифровых услугах (ID: {reportId}) и приняла решение.{hasComment, select, yes {\n\nОтвет команды безопасности:\n{publicComment}} other {}}\n\nМы не раскрываем подробности мер, принятых в отношении аккаунта другого человека, так как это его персональные данные.\n\nЕсли ты не согласен с этим решением, ты можешь бесплатно подать апелляцию в течение 60 дней. Отправь письмо на {appeals_email} с этого адреса электронной почты, укажи ID жалобы и объясни, почему считаешь решение неверным. Если ты находишься в ЕС, ты также можешь передать спор в сертифицированный орган по внесудебному урегулированию споров. Всё это не влияет на твоё право обратиться в суд.\n\n– Команда безопасности {product_name}" + "body": "Привет,\n\nНаша команда безопасности рассмотрела твою жалобу по Закону о цифровых услугах (ID: {reportId}) и приняла решение.{hasComment, select, yes {\n\nОтвет команды безопасности:\n{publicComment}} other {}}\n\nМы не раскрываем подробности мер, принятых в отношении аккаунта другого человека, так как это его персональные данные.\n\nЕсли ты не согласен с этим решением, ты можешь бесплатно подать апелляцию в течение 60 дней. {appeals_email, select, null {Свяжись с администраторами этого экземпляра, укажи ID жалобы и объясни, почему считаешь решение неверным.} other {Отправь письмо на {appeals_email} с этого адреса электронной почты, укажи ID жалобы и объясни, почему считаешь решение неверным.}} Если ты находишься в ЕС, ты также можешь передать спор в сертифицированный орган по внесудебному урегулированию споров. Всё это не влияет на твоё право обратиться в суд.\n\n– Команда безопасности {product_name}" }, "dsa_report_verification": { "subject": "Подтверди свой адрес электронной почты для жалобы по DSA", @@ -57,15 +57,15 @@ const EMAIL_I18N_RU_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Привилегии за активированный подарок были удалены", - "body": "Привет, {username},\n\nПодарочный код, который ты активировал, изначально был оплачен другим человеком. Этот платёж был впоследствии отменён (возвратный платёж).\n\nИз-за этого мы удалили привилегии, которые были добавлены в твой аккаунт при активации подарка.\n\nЕсли ты считаешь, что это ошибка, пожалуйста, свяжись с нашей службой поддержки и укажи все имеющиеся детали о подарочном коде и дате его активации.\n\n– Команда {product_name}" + "body": "Привет, {username},\n\nПодарочный код, который ты активировал, изначально был оплачен другим человеком. Этот платёж был впоследствии отменён (возвратный платёж).\n\nИз-за этого мы удалили привилегии, которые были добавлены в твой аккаунт при активации подарка.\n\n{support_email, select, null {Если ты считаешь, что это ошибка, пожалуйста, свяжись с администраторами этого экземпляра и укажи все имеющиеся детали о подарочном коде и дате его активации.} other {Если ты считаешь, что это ошибка, пожалуйста, свяжись с нашей службой поддержки и укажи все имеющиеся детали о подарочном коде и дате его активации.}}\n\n– Команда {product_name}" }, "harvest_completed": { "subject": "Твой экспорт данных {product_name} готов к скачиванию", - "body": "Привет, {username},\n\nТвой экспорт данных готов.\n\nСсылка для скачивания:\n{downloadUrl}\n\nВключено сообщений: {totalMessages, number}\nРазмер файла: {fileSizeMB, number} МБ\n\nСрок действия ссылки истекает {expiresAt, date, full} в {expiresAt, time, short}.\n\nЕсли ты не запрашивал этот экспорт, пожалуйста, немедленно смени пароль и свяжись с нашей службой поддержки.\n\n– Команда {product_name}" + "body": "Привет, {username},\n\nТвой экспорт данных готов.\n\nСсылка для скачивания:\n{downloadUrl}\n\nВключено сообщений: {totalMessages, number}\nРазмер файла: {fileSizeMB, number} МБ\n\nСрок действия ссылки истекает {expiresAt, date, full} в {expiresAt, time, short}.\n\n{support_email, select, null {Если ты не запрашивал этот экспорт, пожалуйста, немедленно смени пароль и свяжись с администраторами этого экземпляра.} other {Если ты не запрашивал этот экспорт, пожалуйста, немедленно смени пароль и свяжись с нашей службой поддержки.}}\n\n– Команда {product_name}" }, "inactivity_warning": { "subject": "Твой аккаунт {product_name} будет удалён из-за неактивности", - "body": "Привет, {username},\n\nМы не замечали активности в твоём аккаунте {product_name} с {lastActiveDate, date, full}.\n\nЕсли ты не войдёшь в аккаунт до {deletionDate, date, full} в {deletionDate, time, short}, твой аккаунт будет безвозвратно удалён из-за неактивности.\n\nВойти можно здесь:\n{loginUrl}\n\nЕсли ты недавно пользовался {product_name}, пожалуйста, немедленно свяжись с нашей службой поддержки.\n\n– Команда {product_name}" + "body": "Привет, {username},\n\nМы не замечали активности в твоём аккаунте {product_name} с {lastActiveDate, date, full}.\n\nЕсли ты не войдёшь в аккаунт до {deletionDate, date, full} в {deletionDate, time, short}, твой аккаунт будет безвозвратно удалён из-за неактивности.\n\nВойти можно здесь:\n{loginUrl}\n\n{support_email, select, null {Если ты недавно пользовался {product_name}, пожалуйста, немедленно свяжись с администраторами этого экземпляра.} other {Если ты недавно пользовался {product_name}, пожалуйста, немедленно свяжись с нашей службой поддержки.}}\n\n– Команда {product_name}" }, "ip_authorization": { "subject": "Подтверди вход с нового IP-адреса", @@ -93,11 +93,11 @@ const EMAIL_I18N_RU_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Твоя жалоба в {product_name} рассмотрена", - "body": "Привет, {username},\n\nТвоя жалоба (ID: {reportId}) была рассмотрена нашей командой безопасности.{hasComment, select, yes {\n\nОтвет команды безопасности:\n{publicComment}} other {}}\n\nСпасибо за помощь в обеспечении безопасности {product_name} для всех. Мы серьёзно относимся ко всем жалобам и ценим твой вклад в сообщество.\n\nЕсли у тебя есть вопросы или сомнения по поводу этого результата, пожалуйста, напиши на {safety_email}.\n\n– Команда безопасности {product_name}" + "body": "Привет, {username},\n\nТвоя жалоба (ID: {reportId}) была рассмотрена нашей командой безопасности.{hasComment, select, yes {\n\nОтвет команды безопасности:\n{publicComment}} other {}}\n\nСпасибо за помощь в обеспечении безопасности {product_name} для всех. Мы серьёзно относимся ко всем жалобам и ценим твой вклад в сообщество.\n\n{safety_email, select, null {Если у тебя есть вопросы или сомнения по поводу этого результата, пожалуйста, свяжись с администраторами этого экземпляра.} other {Если у тебя есть вопросы или сомнения по поводу этого результата, пожалуйста, напиши на {safety_email}.}}\n\n– Команда безопасности {product_name}" }, "scheduled_deletion_notification": { "subject": "Твой аккаунт {product_name} будет безвозвратно удалён", - "body": "Привет, {username},\n\nМы запланировали безвозвратное удаление твоего аккаунта {product_name}.\n\nЗапланированное удаление: {deletionDate, date, full} в {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЭто серьёзная мера. Данные твоего аккаунта будут безвозвратно удалены в запланированную дату.\n\nЕсли ты считаешь, что это решение было неверным, ты можешь подать апелляцию. Отправь письмо на {appeals_email} с этого адреса электронной почты.\n\n– Команда безопасности {product_name}" + "body": "Привет, {username},\n\nМы запланировали безвозвратное удаление твоего аккаунта {product_name}.\n\nЗапланированное удаление: {deletionDate, date, full} в {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЭто серьёзная мера. Данные твоего аккаунта будут безвозвратно удалены в запланированную дату.\n\nЕсли ты считаешь, что это решение было неверным, ты можешь подать апелляцию. {appeals_email, select, null {Свяжись с администраторами этого экземпляра.} other {Отправь письмо на {appeals_email} с этого адреса электронной почты.}}\n\n– Команда безопасности {product_name}" }, "self_deletion_scheduled": { "subject": "Запланировано удаление твоего аккаунта {product_name}", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/sv-SE.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/sv-SE.ts index 2a673ce27..aff04dd32 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/sv-SE.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/sv-SE.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_SV_SE_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Raderingen av ditt {product_name}-konto har avbrutits", - "body": "Hej {username},\n\nDen schemalagda raderingen av ditt {product_name}-konto har avbrutits. Ditt konto kommer inte att raderas.\n\nOm du har några frågor, kontakta {safety_email}.\n\n– {product_name}-teamet" + "body": "Hej {username},\n\nDen schemalagda raderingen av ditt {product_name}-konto har avbrutits. Ditt konto kommer inte att raderas.\n\n{safety_email, select, null {Om du har några frågor, kontakta administratörerna för den här instansen.} other {Om du har några frågor, kontakta {safety_email}.}}\n\n– {product_name}-teamet" }, "account_deletion_scheduled_inactivity": { "subject": "Ditt {product_name}-konto kommer att raderas på grund av inaktivitet", - "body": "Hej {username},\n\nDitt {product_name}-konto har varit inaktivt länge, så permanent radering av kontot är planerad till följande tidpunkt:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nAnledning: {reason}}}\n\nOm du vill behålla ditt konto, kontakta {safety_email} från den här e-postadressen före det datumet.\n\n– {product_name}-teamet" + "body": "Hej {username},\n\nDitt {product_name}-konto har varit inaktivt länge, så permanent radering av kontot är planerad till följande tidpunkt:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nAnledning: {reason}}}\n\n{safety_email, select, null {Om du vill behålla ditt konto, kontakta administratörerna för den här instansen före det datumet.} other {Om du vill behålla ditt konto, kontakta {safety_email} från den här e-postadressen före det datumet.}}\n\n– {product_name}-teamet" }, "account_deletion_scheduled_requested": { "subject": "Raderingen av ditt {product_name}-konto är schemalagd", - "body": "Hej {username},\n\nSom du har begärt är permanent radering av ditt {product_name}-konto planerad till följande tidpunkt:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nAnledning: {reason}}}\n\nDitt konto är låst fram till dess. Om du inte begärde detta, eller om du vill behålla ditt konto, kontakta {safety_email} från den här e-postadressen före det datumet.\n\n– {product_name}-teamet" + "body": "Hej {username},\n\nSom du har begärt är permanent radering av ditt {product_name}-konto planerad till följande tidpunkt:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nAnledning: {reason}}}\n\nDitt konto är låst fram till dess. {safety_email, select, null {Om du inte begärde detta, eller om du vill behålla ditt konto, kontakta administratörerna för den här instansen före det datumet.} other {Om du inte begärde detta, eller om du vill behålla ditt konto, kontakta {safety_email} från den här e-postadressen före det datumet.}}\n\n– {product_name}-teamet" }, "account_scheduled_deletion": { "subject": "Ditt {product_name}-konto kommer att raderas permanent", - "body": "Hej {username},\n\nDitt {product_name}-konto har schemalagts för permanent radering på grund av brott mot våra användarvillkor eller communityriktlinjer.\n\nSchemalagd radering: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Anledning: {reason}}\n}\n\nDetta är en allvarlig åtgärd. Dina kontodata kommer att raderas permanent på det schemalagda datumet.\n\nGranska:\n- Användarvillkor: {termsUrl}\n- Communityriktlinjer: {guidelinesUrl}\n\nÖverklagandeprocess:\nOm du anser att detta beslut var felaktigt eller obefogat har du 60 dagar på dig att överklaga. Mejla {appeals_email} från den här e-postadressen.\n\nI ditt överklagande:\n- Förklara tydligt varför du anser att beslutet var felaktigt eller obefogat\n- Bifoga relevanta bevis eller bakgrundsinformation\n\nEn medarbetare i säkerhetsteamet på {product_name} kommer att granska ditt överklagande och kan pausa den planerade raderingen tills ett slutgiltigt beslut har fattats.\n\n– Säkerhetsteamet på {product_name}" + "body": "Hej {username},\n\nDitt {product_name}-konto har schemalagts för permanent radering på grund av brott mot våra användarvillkor eller communityriktlinjer.\n\nSchemalagd radering: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Anledning: {reason}}\n}\n\nDetta är en allvarlig åtgärd. Dina kontodata kommer att raderas permanent på det schemalagda datumet.\n\n{legalLinks, select,\n both {Granska:\n- Användarvillkor: {termsUrl}\n- Communityriktlinjer: {guidelinesUrl}\n\n}\n terms {Granska:\n- Användarvillkor: {termsUrl}\n\n}\n guidelines {Granska:\n- Communityriktlinjer: {guidelinesUrl}\n\n}\n other {}\n}Överklagandeprocess:\nOm du anser att detta beslut var felaktigt eller obefogat har du 60 dagar på dig att överklaga. {appeals_email, select, null {Kontakta administratörerna för den här instansen.} other {Mejla {appeals_email} från den här e-postadressen.}}\n\nI ditt överklagande:\n- Förklara tydligt varför du anser att beslutet var felaktigt eller obefogat\n- Bifoga relevanta bevis eller bakgrundsinformation\n\nEn medarbetare i säkerhetsteamet på {product_name} kommer att granska ditt överklagande och kan pausa den planerade raderingen tills ett slutgiltigt beslut har fattats.\n\n– Säkerhetsteamet på {product_name}" }, "account_temp_banned": { "subject": "Ditt {product_name}-konto har tillfälligt stängts av", - "body": "Hej {username},\n\nDitt {product_name}-konto har tillfälligt stängts av på grund av brott mot våra användarvillkor eller communityriktlinjer.\n\nVaraktighet: {durationHours, plural,\n =1 {1 timme}\n other {# timmar}\n}\nAvstängningen upphör: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Anledning: {reason}}\n}\n\nUnder denna tid kommer du inte att kunna komma åt ditt konto.\n\nGranska:\n- Användarvillkor: {termsUrl}\n- Communityriktlinjer: {guidelinesUrl}\n\nOm du anser att detta beslut var felaktigt eller obefogat kan du överklaga. Kontakta vårt supportteam på {appeals_email} från den här e-postadressen och förklara tydligt varför du anser att beslutet var felaktigt. Vi kommer att granska ditt överklagande och svara med vårt beslut.\n\n– Säkerhetsteamet på {product_name}" + "body": "Hej {username},\n\nDitt {product_name}-konto har tillfälligt stängts av på grund av brott mot våra användarvillkor eller communityriktlinjer.\n\nVaraktighet: {durationHours, plural,\n =1 {1 timme}\n other {# timmar}\n}\nAvstängningen upphör: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Anledning: {reason}}\n}\n\nUnder denna tid kommer du inte att kunna komma åt ditt konto.\n\n{legalLinks, select,\n both {Granska:\n- Användarvillkor: {termsUrl}\n- Communityriktlinjer: {guidelinesUrl}\n\n}\n terms {Granska:\n- Användarvillkor: {termsUrl}\n\n}\n guidelines {Granska:\n- Communityriktlinjer: {guidelinesUrl}\n\n}\n other {}\n}Om du anser att detta beslut var felaktigt eller obefogat kan du överklaga. {appeals_email, select, null {Kontakta administratörerna för den här instansen och förklara tydligt varför du anser att beslutet var felaktigt.} other {Kontakta vårt supportteam på {appeals_email} från den här e-postadressen och förklara tydligt varför du anser att beslutet var felaktigt.}} Vi kommer att granska ditt överklagande och svara med vårt beslut.\n\n– Säkerhetsteamet på {product_name}" }, "donation_confirmation": { "subject": "Tack för din donation till {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_SV_SE_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Vi har fattat ett beslut om din anmälan på {product_name}", - "body": "Hej,\n\nVårt säkerhetsteam har granskat din anmälan enligt förordningen om digitala tjänster (ID: {reportId}) och fattat ett beslut.{hasComment, select, yes {\n\nSvar från säkerhetsteamet:\n{publicComment}} other {}}\n\nVi delar inte uppgifter om åtgärder mot någon annans konto, eftersom det är den personens personuppgifter.\n\nOm du inte håller med om beslutet kan du överklaga kostnadsfritt inom 60 dagar. Mejla {appeals_email} från den här e-postadressen, ange ditt anmälnings-ID och förklara varför du anser att beslutet är felaktigt. Om du befinner dig i EU kan du också hänskjuta tvisten till ett certifierat organ för tvistlösning utanför domstol. Inget av detta påverkar din rätt att vända dig till domstol.\n\n– Säkerhetsteamet på {product_name}" + "body": "Hej,\n\nVårt säkerhetsteam har granskat din anmälan enligt förordningen om digitala tjänster (ID: {reportId}) och fattat ett beslut.{hasComment, select, yes {\n\nSvar från säkerhetsteamet:\n{publicComment}} other {}}\n\nVi delar inte uppgifter om åtgärder mot någon annans konto, eftersom det är den personens personuppgifter.\n\nOm du inte håller med om beslutet kan du överklaga kostnadsfritt inom 60 dagar. {appeals_email, select, null {Kontakta administratörerna för den här instansen, ange ditt anmälnings-ID och förklara varför du anser att beslutet är felaktigt.} other {Mejla {appeals_email} från den här e-postadressen, ange ditt anmälnings-ID och förklara varför du anser att beslutet är felaktigt.}} Om du befinner dig i EU kan du också hänskjuta tvisten till ett certifierat organ för tvistlösning utanför domstol. Inget av detta påverkar din rätt att vända dig till domstol.\n\n– Säkerhetsteamet på {product_name}" }, "dsa_report_verification": { "subject": "Verifiera din e-postadress för en DSA-anmälan", @@ -57,15 +57,15 @@ const EMAIL_I18N_SV_SE_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Förmånerna från din inlösta present har tagits bort", - "body": "Hej {username},\n\nEn presentkod du löste in betalades ursprungligen av någon annan. Den betalningen har sedan dess återförts genom en kortreklamation (chargeback).\n\nPå grund av detta har vi tagit bort de förmåner som lades till ditt konto när du löste in presenten.\n\nOm du tror att detta är ett misstag, kontakta vårt supportteam och ta med den information du har om presentkoden och när du löste in den.\n\n– {product_name}-teamet" + "body": "Hej {username},\n\nEn presentkod du löste in betalades ursprungligen av någon annan. Den betalningen har sedan dess återförts genom en kortreklamation (chargeback).\n\nPå grund av detta har vi tagit bort de förmåner som lades till ditt konto när du löste in presenten.\n\n{support_email, select, null {Om du tror att detta är ett misstag, kontakta administratörerna för den här instansen och ta med den information du har om presentkoden och när du löste in den.} other {Om du tror att detta är ett misstag, kontakta vårt supportteam och ta med den information du har om presentkoden och när du löste in den.}}\n\n– {product_name}-teamet" }, "harvest_completed": { "subject": "Din dataexport från {product_name} är klar att ladda ner", - "body": "Hej {username},\n\nDin dataexport är klar.\n\nNedladdningslänk:\n{downloadUrl}\n\nAntal meddelanden: {totalMessages, number}\nFilstorlek: {fileSizeMB, number} MB\n\nDen här länken upphör att gälla {expiresAt, date, full} kl. {expiresAt, time, short}.\n\nOm du inte begärde denna export, ändra ditt lösenord omedelbart och kontakta vårt supportteam.\n\n– {product_name}-teamet" + "body": "Hej {username},\n\nDin dataexport är klar.\n\nNedladdningslänk:\n{downloadUrl}\n\nAntal meddelanden: {totalMessages, number}\nFilstorlek: {fileSizeMB, number} MB\n\nDen här länken upphör att gälla {expiresAt, date, full} kl. {expiresAt, time, short}.\n\n{support_email, select, null {Om du inte begärde denna export, ändra ditt lösenord omedelbart och kontakta administratörerna för den här instansen.} other {Om du inte begärde denna export, ändra ditt lösenord omedelbart och kontakta vårt supportteam.}}\n\n– {product_name}-teamet" }, "inactivity_warning": { "subject": "Ditt {product_name}-konto kommer att raderas på grund av inaktivitet", - "body": "Hej {username},\n\nVi har inte sett någon aktivitet på ditt {product_name}-konto sedan {lastActiveDate, date, full}.\n\nOm du inte loggar in senast {deletionDate, date, full} kl. {deletionDate, time, short} kommer ditt konto att raderas permanent på grund av inaktivitet.\n\nLogga in här:\n{loginUrl}\n\nKontakta vårt supportteam omedelbart om du har använt {product_name} nyligen.\n\n– {product_name}-teamet" + "body": "Hej {username},\n\nVi har inte sett någon aktivitet på ditt {product_name}-konto sedan {lastActiveDate, date, full}.\n\nOm du inte loggar in senast {deletionDate, date, full} kl. {deletionDate, time, short} kommer ditt konto att raderas permanent på grund av inaktivitet.\n\nLogga in här:\n{loginUrl}\n\n{support_email, select, null {Kontakta administratörerna för den här instansen omedelbart om du har använt {product_name} nyligen.} other {Kontakta vårt supportteam omedelbart om du har använt {product_name} nyligen.}}\n\n– {product_name}-teamet" }, "ip_authorization": { "subject": "Godkänn inloggning från en ny IP-adress", @@ -93,11 +93,11 @@ const EMAIL_I18N_SV_SE_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Din anmälan på {product_name} har granskats", - "body": "Hej {username},\n\nDin anmälan (ID: {reportId}) har granskats av vårt säkerhetsteam.{hasComment, select, yes {\n\nSvar från säkerhetsteamet:\n{publicComment}} other {}}\n\nTack för att du hjälper till att göra {product_name} tryggt för alla. Vi tar alla anmälningar på allvar och uppskattar ditt bidrag till communityn.\n\nOm du har några frågor eller funderingar kring detta resultat, kontakta oss på {safety_email}.\n\n– Säkerhetsteamet på {product_name}" + "body": "Hej {username},\n\nDin anmälan (ID: {reportId}) har granskats av vårt säkerhetsteam.{hasComment, select, yes {\n\nSvar från säkerhetsteamet:\n{publicComment}} other {}}\n\nTack för att du hjälper till att göra {product_name} tryggt för alla. Vi tar alla anmälningar på allvar och uppskattar ditt bidrag till communityn.\n\n{safety_email, select, null {Om du har några frågor eller funderingar kring detta resultat, kontakta administratörerna för den här instansen.} other {Om du har några frågor eller funderingar kring detta resultat, kontakta oss på {safety_email}.}}\n\n– Säkerhetsteamet på {product_name}" }, "scheduled_deletion_notification": { "subject": "Ditt {product_name}-konto kommer att raderas permanent", - "body": "Hej {username},\n\nDitt {product_name}-konto har schemalagts för permanent radering.\n\nSchemalagd radering: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Anledning: {reason}}\n}\n\nDetta är en allvarlig åtgärd. Dina kontodata kommer att raderas permanent på det schemalagda datumet.\n\nOm du anser att detta beslut var felaktigt kan du överklaga. Mejla {appeals_email} från den här e-postadressen.\n\n– Säkerhetsteamet på {product_name}" + "body": "Hej {username},\n\nDitt {product_name}-konto har schemalagts för permanent radering.\n\nSchemalagd radering: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Anledning: {reason}}\n}\n\nDetta är en allvarlig åtgärd. Dina kontodata kommer att raderas permanent på det schemalagda datumet.\n\nOm du anser att detta beslut var felaktigt kan du överklaga. {appeals_email, select, null {Kontakta administratörerna för den här instansen.} other {Mejla {appeals_email} från den här e-postadressen.}}\n\n– Säkerhetsteamet på {product_name}" }, "self_deletion_scheduled": { "subject": "Raderingen av ditt {product_name}-konto är schemalagd", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/th.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/th.ts index 0727e2f11..5d2555373 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/th.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/th.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_TH_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "การลบบัญชี {product_name} ของคุณถูกยกเลิกแล้ว", - "body": "สวัสดี {username},\n\nการลบบัญชี {product_name} ของคุณที่กำหนดไว้ถูกยกเลิกแล้ว บัญชีของคุณจะไม่ถูกลบ\n\nหากคุณมีคำถามใด ๆ โปรดติดต่อ {safety_email}\n\n– ทีม {product_name}" + "body": "สวัสดี {username},\n\nการลบบัญชี {product_name} ของคุณที่กำหนดไว้ถูกยกเลิกแล้ว บัญชีของคุณจะไม่ถูกลบ\n\n{safety_email, select, null {หากคุณมีคำถามใด ๆ โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้} other {หากคุณมีคำถามใด ๆ โปรดติดต่อ {safety_email}}}\n\n– ทีม {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "บัญชี {product_name} ของคุณจะถูกลบเนื่องจากไม่มีการใช้งาน", - "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณไม่มีการใช้งานมาเป็นเวลานาน จึงถูกกำหนดให้ลบอย่างถาวรในวันที่:\n\n{deletionDate, date, full} เวลา {deletionDate, time, short}{reason, select, null {} other {\n\nเหตุผล: {reason}}}\n\nหากคุณต้องการเก็บบัญชีไว้ โปรดติดต่อ {safety_email} จากที่อยู่อีเมลนี้ก่อนวันดังกล่าว\n\n– ทีม {product_name}" + "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณไม่มีการใช้งานมาเป็นเวลานาน จึงถูกกำหนดให้ลบอย่างถาวรในวันที่:\n\n{deletionDate, date, full} เวลา {deletionDate, time, short}{reason, select, null {} other {\n\nเหตุผล: {reason}}}\n\n{safety_email, select, null {หากคุณต้องการเก็บบัญชีไว้ โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้ก่อนวันดังกล่าว} other {หากคุณต้องการเก็บบัญชีไว้ โปรดติดต่อ {safety_email} จากที่อยู่อีเมลนี้ก่อนวันดังกล่าว}}\n\n– ทีม {product_name}" }, "account_deletion_scheduled_requested": { "subject": "บัญชี {product_name} ของคุณถูกกำหนดให้ลบแล้ว", - "body": "สวัสดี {username},\n\nตามที่คุณร้องขอ บัญชี {product_name} ของคุณถูกกำหนดให้ลบอย่างถาวรในวันที่:\n\n{deletionDate, date, full} เวลา {deletionDate, time, short}{reason, select, null {} other {\n\nเหตุผล: {reason}}}\n\nบัญชีของคุณจะถูกล็อกจนถึงวันนั้น หากคุณไม่ได้ร้องขอ หรือต้องการเก็บบัญชีไว้ โปรดติดต่อ {safety_email} จากที่อยู่อีเมลนี้ก่อนวันดังกล่าว\n\n– ทีม {product_name}" + "body": "สวัสดี {username},\n\nตามที่คุณร้องขอ บัญชี {product_name} ของคุณถูกกำหนดให้ลบอย่างถาวรในวันที่:\n\n{deletionDate, date, full} เวลา {deletionDate, time, short}{reason, select, null {} other {\n\nเหตุผล: {reason}}}\n\nบัญชีของคุณจะถูกล็อกจนถึงวันนั้น {safety_email, select, null {หากคุณไม่ได้ร้องขอ หรือต้องการเก็บบัญชีไว้ โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้ก่อนวันดังกล่าว} other {หากคุณไม่ได้ร้องขอ หรือต้องการเก็บบัญชีไว้ โปรดติดต่อ {safety_email} จากที่อยู่อีเมลนี้ก่อนวันดังกล่าว}}\n\n– ทีม {product_name}" }, "account_scheduled_deletion": { "subject": "บัญชี {product_name} ของคุณจะถูกลบอย่างถาวร", - "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณถูกกำหนดให้ลบอย่างถาวรเนื่องจากละเมิดข้อกำหนดในการให้บริการหรือแนวทางปฏิบัติของคอมมูนิตี้ของเรา\n\nกำหนดการลบ: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}}\n}\n\nนี่เป็นการดำเนินการบังคับใช้ที่ร้ายแรง ข้อมูลบัญชีของคุณจะถูกลบอย่างถาวรตามวันที่กำหนด\n\nโปรดตรวจสอบ:\n- ข้อกำหนดในการให้บริการ: {termsUrl}\n- แนวทางปฏิบัติของคอมมูนิตี้: {guidelinesUrl}\n\nกระบวนการอุทธรณ์:\nหากคุณเชื่อว่าการตัดสินใจนี้ไม่ถูกต้องหรือไม่ยุติธรรม คุณมีเวลา 60 วันในการยื่นอุทธรณ์ ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้\n\nในการอุทธรณ์ของคุณ:\n- อธิบายให้ชัดเจนว่าทำไมคุณถึงเชื่อว่าการตัดสินใจนั้นไม่ถูกต้องหรือไม่ยุติธรรม\n- แนบหลักฐานหรือบริบทที่เกี่ยวข้อง\n\nสมาชิกของทีมความปลอดภัย {product_name} จะตรวจสอบคำอุทธรณ์ของคุณและอาจระงับการลบที่รอดำเนินการไว้จนกว่าจะมีการตัดสินใจขั้นสุดท้าย\n\n– ทีมความปลอดภัย {product_name}" + "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณถูกกำหนดให้ลบอย่างถาวรเนื่องจากละเมิดข้อกำหนดในการให้บริการหรือแนวทางปฏิบัติของคอมมูนิตี้ของเรา\n\nกำหนดการลบ: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}}\n}\n\nนี่เป็นการดำเนินการบังคับใช้ที่ร้ายแรง ข้อมูลบัญชีของคุณจะถูกลบอย่างถาวรตามวันที่กำหนด\n\n{legalLinks, select,\n both {โปรดตรวจสอบ:\n- ข้อกำหนดในการให้บริการ: {termsUrl}\n- แนวทางปฏิบัติของคอมมูนิตี้: {guidelinesUrl}\n\n}\n terms {โปรดตรวจสอบ:\n- ข้อกำหนดในการให้บริการ: {termsUrl}\n\n}\n guidelines {โปรดตรวจสอบ:\n- แนวทางปฏิบัติของคอมมูนิตี้: {guidelinesUrl}\n\n}\n other {}\n}กระบวนการอุทธรณ์:\nหากคุณเชื่อว่าการตัดสินใจนี้ไม่ถูกต้องหรือไม่ยุติธรรม คุณมีเวลา 60 วันในการยื่นอุทธรณ์ {appeals_email, select, null {ติดต่อผู้ดูแลระบบของอินสแตนซ์นี้} other {ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้}}\n\nในการอุทธรณ์ของคุณ:\n- อธิบายให้ชัดเจนว่าทำไมคุณถึงเชื่อว่าการตัดสินใจนั้นไม่ถูกต้องหรือไม่ยุติธรรม\n- แนบหลักฐานหรือบริบทที่เกี่ยวข้อง\n\nสมาชิกของทีมความปลอดภัย {product_name} จะตรวจสอบคำอุทธรณ์ของคุณและอาจระงับการลบที่รอดำเนินการไว้จนกว่าจะมีการตัดสินใจขั้นสุดท้าย\n\n– ทีมความปลอดภัย {product_name}" }, "account_temp_banned": { "subject": "บัญชี {product_name} ของคุณถูกระงับชั่วคราว", - "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณถูกระงับชั่วคราวเนื่องจากละเมิดข้อกำหนดในการให้บริการหรือแนวทางปฏิบัติของคอมมูนิตี้ของเรา\n\nระยะเวลา: {durationHours, plural,\n =1 {1 ชั่วโมง}\n other {# ชั่วโมง}\n}\nระงับจนถึง: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}}\n}\n\nในช่วงเวลานี้ คุณจะไม่สามารถเข้าถึงบัญชีของคุณได้\n\nโปรดตรวจสอบ:\n- ข้อกำหนดในการให้บริการ: {termsUrl}\n- แนวทางปฏิบัติของคอมมูนิตี้: {guidelinesUrl}\n\nหากคุณเชื่อว่าการตัดสินใจนี้ไม่ถูกต้องหรือไม่ยุติธรรม คุณสามารถยื่นอุทธรณ์ได้ ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้และอธิบายให้ชัดเจนว่าทำไมคุณถึงเชื่อว่าการตัดสินใจนั้นไม่ถูกต้อง เราจะตรวจสอบคำอุทธรณ์ของคุณและตอบกลับด้วยการตัดสินใจของเรา\n\n– ทีมความปลอดภัย {product_name}" + "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณถูกระงับชั่วคราวเนื่องจากละเมิดข้อกำหนดในการให้บริการหรือแนวทางปฏิบัติของคอมมูนิตี้ของเรา\n\nระยะเวลา: {durationHours, plural,\n =1 {1 ชั่วโมง}\n other {# ชั่วโมง}\n}\nระงับจนถึง: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}}\n}\n\nในช่วงเวลานี้ คุณจะไม่สามารถเข้าถึงบัญชีของคุณได้\n\n{legalLinks, select,\n both {โปรดตรวจสอบ:\n- ข้อกำหนดในการให้บริการ: {termsUrl}\n- แนวทางปฏิบัติของคอมมูนิตี้: {guidelinesUrl}\n\n}\n terms {โปรดตรวจสอบ:\n- ข้อกำหนดในการให้บริการ: {termsUrl}\n\n}\n guidelines {โปรดตรวจสอบ:\n- แนวทางปฏิบัติของคอมมูนิตี้: {guidelinesUrl}\n\n}\n other {}\n}หากคุณเชื่อว่าการตัดสินใจนี้ไม่ถูกต้องหรือไม่ยุติธรรม คุณสามารถยื่นอุทธรณ์ได้ {appeals_email, select, null {ติดต่อผู้ดูแลระบบของอินสแตนซ์นี้และอธิบายให้ชัดเจนว่าทำไมคุณถึงเชื่อว่าการตัดสินใจนั้นไม่ถูกต้อง} other {ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้และอธิบายให้ชัดเจนว่าทำไมคุณถึงเชื่อว่าการตัดสินใจนั้นไม่ถูกต้อง}} เราจะตรวจสอบคำอุทธรณ์ของคุณและตอบกลับด้วยการตัดสินใจของเรา\n\n– ทีมความปลอดภัย {product_name}" }, "donation_confirmation": { "subject": "ขอบคุณสำหรับการบริจาคให้ {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_TH_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "เราได้ตัดสินใจเกี่ยวกับรายงานของคุณใน {product_name} แล้ว", - "body": "สวัสดี,\n\nทีมความปลอดภัยของเราได้ตรวจสอบรายงาน Digital Services Act ของคุณ (ID: {reportId}) และตัดสินใจแล้ว{hasComment, select, yes {\n\nการตอบกลับจากทีมความปลอดภัย:\n{publicComment}} other {}}\n\nเราไม่เปิดเผยรายละเอียดการดำเนินการกับบัญชีของบุคคลอื่น เนื่องจากเป็นข้อมูลส่วนบุคคลของบุคคลนั้น\n\nหากคุณไม่เห็นด้วยกับการตัดสินใจนี้ คุณสามารถยื่นอุทธรณ์ได้โดยไม่มีค่าใช้จ่ายภายใน 60 วัน ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้ ระบุ ID รายงานของคุณ และอธิบายว่าทำไมคุณถึงคิดว่าการตัดสินใจนั้นไม่ถูกต้อง หากคุณอยู่ในสหภาพยุโรป คุณยังสามารถส่งข้อพิพาทไปยังหน่วยงานระงับข้อพิพาทนอกศาลที่ได้รับการรับรองได้ ทั้งหมดนี้ไม่กระทบต่อสิทธิ์ของคุณในการฟ้องร้องต่อศาล\n\n– ทีมความปลอดภัย {product_name}" + "body": "สวัสดี,\n\nทีมความปลอดภัยของเราได้ตรวจสอบรายงานตามกฎหมายบริการดิจิทัล (Digital Services Act) ของคุณ (ID: {reportId}) และตัดสินใจแล้ว{hasComment, select, yes {\n\nการตอบกลับจากทีมความปลอดภัย:\n{publicComment}} other {}}\n\nเราไม่เปิดเผยรายละเอียดการดำเนินการกับบัญชีของบุคคลอื่น เนื่องจากเป็นข้อมูลส่วนบุคคลของบุคคลนั้น\n\nหากคุณไม่เห็นด้วยกับการตัดสินใจนี้ คุณสามารถยื่นอุทธรณ์ได้โดยไม่มีค่าใช้จ่ายภายใน 60 วัน {appeals_email, select, null {ติดต่อผู้ดูแลระบบของอินสแตนซ์นี้ ระบุ ID รายงานของคุณ และอธิบายว่าทำไมคุณถึงคิดว่าการตัดสินใจนั้นไม่ถูกต้อง} other {ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้ ระบุ ID รายงานของคุณ และอธิบายว่าทำไมคุณถึงคิดว่าการตัดสินใจนั้นไม่ถูกต้อง}} หากคุณอยู่ในสหภาพยุโรป คุณยังสามารถส่งข้อพิพาทไปยังหน่วยงานระงับข้อพิพาทนอกศาลที่ได้รับการรับรองได้ ทั้งหมดนี้ไม่กระทบต่อสิทธิ์ของคุณในการฟ้องร้องต่อศาล\n\n– ทีมความปลอดภัย {product_name}" }, "dsa_report_verification": { "subject": "ยืนยันอีเมลสำหรับการรายงาน DSA", @@ -57,15 +57,15 @@ const EMAIL_I18N_TH_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "สิทธิประโยชน์จากของขวัญที่คุณแลกรับถูกนำออกแล้ว", - "body": "สวัสดี {username},\n\nรหัสของขวัญที่คุณแลกรับนั้นเดิมทีชำระโดยผู้อื่น การชำระเงินดังกล่าวถูกยกเลิกในภายหลัง (การเรียกเก็บเงินคืน)\n\nด้วยเหตุนี้ เราจึงลบสิทธิประโยชน์ที่เพิ่มเข้าบัญชีของคุณตอนที่คุณแลกรับของขวัญ\n\nหากคุณคิดว่านี่เป็นข้อผิดพลาด โปรดติดต่อทีมสนับสนุนของเราและระบุรายละเอียดใด ๆ ที่คุณมีเกี่ยวกับรหัสของขวัญและเวลาที่คุณแลกรับ\n\n– ทีม {product_name}" + "body": "สวัสดี {username},\n\nรหัสของขวัญที่คุณแลกรับนั้นเดิมทีชำระโดยผู้อื่น การชำระเงินดังกล่าวถูกยกเลิกในภายหลัง (การเรียกเก็บเงินคืน)\n\nด้วยเหตุนี้ เราจึงลบสิทธิประโยชน์ที่เพิ่มเข้าบัญชีของคุณตอนที่คุณแลกรับของขวัญ\n\n{support_email, select, null {หากคุณคิดว่านี่เป็นข้อผิดพลาด โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้และระบุรายละเอียดใด ๆ ที่คุณมีเกี่ยวกับรหัสของขวัญและเวลาที่คุณแลกรับ} other {หากคุณคิดว่านี่เป็นข้อผิดพลาด โปรดติดต่อทีมสนับสนุนของเราและระบุรายละเอียดใด ๆ ที่คุณมีเกี่ยวกับรหัสของขวัญและเวลาที่คุณแลกรับ}}\n\n– ทีม {product_name}" }, "harvest_completed": { "subject": "ข้อมูลที่ส่งออกจาก {product_name} พร้อมให้ดาวน์โหลดแล้ว", - "body": "สวัสดี {username},\n\nข้อมูลที่ส่งออกของคุณพร้อมแล้ว\n\nลิงก์ดาวน์โหลด:\n{downloadUrl}\n\nจำนวนข้อความ: {totalMessages, number}\nขนาดไฟล์: {fileSizeMB, number} MB\n\nลิงก์นี้จะหมดอายุในวันที่ {expiresAt, date, full} เวลา {expiresAt, time, short}\n\nหากคุณไม่ได้ร้องขอการส่งออกนี้ โปรดเปลี่ยนรหัสผ่านทันทีและติดต่อทีมสนับสนุนของเรา\n\n– ทีม {product_name}" + "body": "สวัสดี {username},\n\nข้อมูลที่ส่งออกของคุณพร้อมแล้ว\n\nลิงก์ดาวน์โหลด:\n{downloadUrl}\n\nจำนวนข้อความ: {totalMessages, number}\nขนาดไฟล์: {fileSizeMB, number} MB\n\nลิงก์นี้จะหมดอายุในวันที่ {expiresAt, date, full} เวลา {expiresAt, time, short}\n\n{support_email, select, null {หากคุณไม่ได้ร้องขอการส่งออกนี้ โปรดเปลี่ยนรหัสผ่านทันทีและติดต่อผู้ดูแลระบบของอินสแตนซ์นี้} other {หากคุณไม่ได้ร้องขอการส่งออกนี้ โปรดเปลี่ยนรหัสผ่านทันทีและติดต่อทีมสนับสนุนของเรา}}\n\n– ทีม {product_name}" }, "inactivity_warning": { "subject": "บัญชี {product_name} ของคุณจะถูกลบเนื่องจากไม่มีการใช้งาน", - "body": "สวัสดี {username},\n\nเราไม่พบกิจกรรมในบัญชี {product_name} ของคุณตั้งแต่ {lastActiveDate, date, full}\n\nหากคุณไม่เข้าสู่ระบบภายในวันที่ {deletionDate, date, full} เวลา {deletionDate, time, short} บัญชีของคุณจะถูกลบอย่างถาวรเนื่องจากไม่มีการใช้งาน\n\nเข้าสู่ระบบที่นี่:\n{loginUrl}\n\nหากคุณใช้ {product_name} เมื่อเร็ว ๆ นี้ โปรดติดต่อทีมสนับสนุนของเราทันที\n\n– ทีม {product_name}" + "body": "สวัสดี {username},\n\nเราไม่พบกิจกรรมในบัญชี {product_name} ของคุณตั้งแต่ {lastActiveDate, date, full}\n\nหากคุณไม่เข้าสู่ระบบภายในวันที่ {deletionDate, date, full} เวลา {deletionDate, time, short} บัญชีของคุณจะถูกลบอย่างถาวรเนื่องจากไม่มีการใช้งาน\n\nเข้าสู่ระบบที่นี่:\n{loginUrl}\n\n{support_email, select, null {หากคุณใช้ {product_name} เมื่อเร็ว ๆ นี้ โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้ทันที} other {หากคุณใช้ {product_name} เมื่อเร็ว ๆ นี้ โปรดติดต่อทีมสนับสนุนของเราทันที}}\n\n– ทีม {product_name}" }, "ip_authorization": { "subject": "อนุญาตการเข้าสู่ระบบจากที่อยู่ IP ใหม่", @@ -93,11 +93,11 @@ const EMAIL_I18N_TH_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "รายงานของคุณใน {product_name} ได้รับการตรวจสอบแล้ว", - "body": "สวัสดี {username},\n\nทีมความปลอดภัยของเราได้ตรวจสอบรายงานของคุณ (ID: {reportId}) แล้ว{hasComment, select, yes {\n\nการตอบกลับจากทีมความปลอดภัย:\n{publicComment}} other {}}\n\nขอบคุณที่ช่วยให้ {product_name} ปลอดภัยสำหรับทุกคน เราให้ความสำคัญกับรายงานทั้งหมดและขอขอบคุณสำหรับการมีส่วนร่วมของคุณในคอมมูนิตี้\n\nหากคุณมีคำถามหรือข้อกังวลใด ๆ เกี่ยวกับผลลัพธ์นี้ โปรดติดต่อ {safety_email}\n\n– ทีมความปลอดภัย {product_name}" + "body": "สวัสดี {username},\n\nทีมความปลอดภัยของเราได้ตรวจสอบรายงานของคุณ (ID: {reportId}) แล้ว{hasComment, select, yes {\n\nการตอบกลับจากทีมความปลอดภัย:\n{publicComment}} other {}}\n\nขอบคุณที่ช่วยให้ {product_name} ปลอดภัยสำหรับทุกคน เราให้ความสำคัญกับรายงานทั้งหมดและขอขอบคุณสำหรับการมีส่วนร่วมของคุณในคอมมูนิตี้\n\n{safety_email, select, null {หากคุณมีคำถามหรือข้อกังวลใด ๆ เกี่ยวกับผลลัพธ์นี้ โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้} other {หากคุณมีคำถามหรือข้อกังวลใด ๆ เกี่ยวกับผลลัพธ์นี้ โปรดติดต่อ {safety_email}}}\n\n– ทีมความปลอดภัย {product_name}" }, "scheduled_deletion_notification": { "subject": "บัญชี {product_name} ของคุณจะถูกลบอย่างถาวร", - "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณถูกกำหนดให้ลบอย่างถาวร\n\nกำหนดการลบ: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}}\n}\n\nนี่เป็นการดำเนินการบังคับใช้ที่ร้ายแรง ข้อมูลบัญชีของคุณจะถูกลบอย่างถาวรตามวันที่กำหนด\n\nหากคุณเชื่อว่าการตัดสินใจนี้ไม่ถูกต้อง คุณสามารถยื่นอุทธรณ์ได้ ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้\n\n– ทีมความปลอดภัย {product_name}" + "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณถูกกำหนดให้ลบอย่างถาวร\n\nกำหนดการลบ: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}}\n}\n\nนี่เป็นการดำเนินการบังคับใช้ที่ร้ายแรง ข้อมูลบัญชีของคุณจะถูกลบอย่างถาวรตามวันที่กำหนด\n\nหากคุณเชื่อว่าการตัดสินใจนี้ไม่ถูกต้อง คุณสามารถยื่นอุทธรณ์ได้ {appeals_email, select, null {ติดต่อผู้ดูแลระบบของอินสแตนซ์นี้} other {ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้}}\n\n– ทีมความปลอดภัย {product_name}" }, "self_deletion_scheduled": { "subject": "บัญชี {product_name} ของคุณถูกกำหนดให้ลบแล้ว", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/tr.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/tr.ts index 520f7b924..953140152 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/tr.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/tr.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_TR_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "{product_name} hesabının silinmesi iptal edildi", - "body": "Merhaba {username},\n\n{product_name} hesabının planlanan silinme işlemi iptal edildi. Hesabın silinmeyecek.\n\nSoruların varsa {safety_email} adresine ulaş.\n\n– {product_name} Ekibi" + "body": "Merhaba {username},\n\n{product_name} hesabının planlanan silinme işlemi iptal edildi. Hesabın silinmeyecek.\n\n{safety_email, select, null {Soruların varsa bu kurulumun yöneticileriyle iletişime geç.} other {Soruların varsa {safety_email} adresine ulaş.}}\n\n– {product_name} Ekibi" }, "account_deletion_scheduled_inactivity": { "subject": "{product_name} hesabın hareketsizlik nedeniyle silinecek", - "body": "Merhaba {username},\n\n{product_name} hesabın uzun süredir hareketsiz olduğu için şu tarihte kalıcı olarak silinmek üzere planlandı:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nSebep: {reason}}}\n\nHesabını korumak istiyorsan bu tarihten önce bu e-posta adresinden {safety_email} adresine ulaş.\n\n– {product_name} Ekibi" + "body": "Merhaba {username},\n\n{product_name} hesabın uzun süredir hareketsiz olduğu için şu tarihte kalıcı olarak silinmek üzere planlandı:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nSebep: {reason}}}\n\n{safety_email, select, null {Hesabını korumak istiyorsan bu tarihten önce bu kurulumun yöneticileriyle iletişime geç.} other {Hesabını korumak istiyorsan bu tarihten önce bu e-posta adresinden {safety_email} adresine ulaş.}}\n\n– {product_name} Ekibi" }, "account_deletion_scheduled_requested": { "subject": "{product_name} hesabının silinmesi planlandı", - "body": "Merhaba {username},\n\nTalebin doğrultusunda {product_name} hesabın şu tarihte kalıcı olarak silinmek üzere planlandı:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nSebep: {reason}}}\n\nHesabın o zamana kadar kilitli. Bunu sen talep etmediysen ya da hesabını korumak istiyorsan bu tarihten önce bu e-posta adresinden {safety_email} adresine ulaş.\n\n– {product_name} Ekibi" + "body": "Merhaba {username},\n\nTalebin doğrultusunda {product_name} hesabın şu tarihte kalıcı olarak silinmek üzere planlandı:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nSebep: {reason}}}\n\nHesabın o zamana kadar kilitli. {safety_email, select, null {Bunu sen talep etmediysen ya da hesabını korumak istiyorsan bu tarihten önce bu kurulumun yöneticileriyle iletişime geç.} other {Bunu sen talep etmediysen ya da hesabını korumak istiyorsan bu tarihten önce bu e-posta adresinden {safety_email} adresine ulaş.}}\n\n– {product_name} Ekibi" }, "account_scheduled_deletion": { "subject": "{product_name} hesabın kalıcı olarak silinecek", - "body": "Merhaba {username},\n\nHizmet Şartlarımızı veya Topluluk Kurallarımızı ihlal ettiğin için {product_name} hesabın kalıcı olarak silinmek üzere planlandı.\n\nPlanlanan silme tarihi: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Sebep: {reason}}\n}\n\nBu, ciddi bir yaptırım işlemidir. Hesap verilerin planlanan tarihte kalıcı olarak silinecektir.\n\nLütfen şunları incele:\n- Hizmet Şartları: {termsUrl}\n- Topluluk Kuralları: {guidelinesUrl}\n\nİtiraz süreci:\nBu yaptırım kararının yanlış veya haksız olduğuna inanıyorsan, itiraz göndermek için 60 günün var. Bu e-posta adresinden {appeals_email} adresine e-posta gönder.\n\nİtirazında:\n- Yaptırım kararının neden yanlış veya haksız olduğunu düşündüğünü açıkça anlat\n- İlgili kanıtı veya bağlamı paylaş\n\n{product_name} Güvenlik Ekibinden bir üye itirazını inceleyecek ve nihai karar verilene kadar bekleyen silme işlemini duraklatabilir.\n\n– {product_name} Güvenlik Ekibi" + "body": "Merhaba {username},\n\nHizmet Şartlarımızı veya Topluluk Kurallarımızı ihlal ettiğin için {product_name} hesabın kalıcı olarak silinmek üzere planlandı.\n\nPlanlanan silme tarihi: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Sebep: {reason}}\n}\n\nBu, ciddi bir yaptırım işlemidir. Hesap verilerin planlanan tarihte kalıcı olarak silinecektir.\n\n{legalLinks, select,\n both {Lütfen şunları incele:\n- Hizmet Şartları: {termsUrl}\n- Topluluk Kuralları: {guidelinesUrl}\n\n}\n terms {Lütfen şunları incele:\n- Hizmet Şartları: {termsUrl}\n\n}\n guidelines {Lütfen şunları incele:\n- Topluluk Kuralları: {guidelinesUrl}\n\n}\n other {}\n}İtiraz süreci:\nBu yaptırım kararının yanlış veya haksız olduğuna inanıyorsan, itiraz göndermek için 60 günün var. {appeals_email, select, null {Bu kurulumun yöneticileriyle iletişime geç.} other {Bu e-posta adresinden {appeals_email} adresine e-posta gönder.}}\n\nİtirazında:\n- Yaptırım kararının neden yanlış veya haksız olduğunu düşündüğünü açıkça anlat\n- İlgili kanıtı veya bağlamı paylaş\n\n{product_name} Güvenlik Ekibinden bir üye itirazını inceleyecek ve nihai karar verilene kadar bekleyen silme işlemini duraklatabilir.\n\n– {product_name} Güvenlik Ekibi" }, "account_temp_banned": { "subject": "{product_name} hesabın geçici olarak askıya alındı", - "body": "Merhaba {username},\n\nHizmet Şartlarımızı veya Topluluk Kurallarımızı ihlal ettiğin için {product_name} hesabını geçici olarak askıya aldık.\n\nSüre: {durationHours, plural,\n =1 {1 saat}\n other {# saat}\n}\nŞu tarihe kadar askıda: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Sebep: {reason}}\n}\n\nBu süre boyunca hesabına erişemeyeceksin.\n\nLütfen şunları incele:\n- Hizmet Şartları: {termsUrl}\n- Topluluk Kuralları: {guidelinesUrl}\n\nBu yaptırım kararının yanlış veya haksız olduğuna inanıyorsan, itiraz gönderebilirsin. Bu e-posta adresinden {appeals_email} adresine e-posta gönder ve kararın neden yanlış olduğunu düşündüğünü açıkça anlat. İtirazını inceleyip kararımızı sana bildireceğiz.\n\n– {product_name} Güvenlik Ekibi" + "body": "Merhaba {username},\n\nHizmet Şartlarımızı veya Topluluk Kurallarımızı ihlal ettiğin için {product_name} hesabını geçici olarak askıya aldık.\n\nSüre: {durationHours, plural,\n =1 {1 saat}\n other {# saat}\n}\nŞu tarihe kadar askıda: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Sebep: {reason}}\n}\n\nBu süre boyunca hesabına erişemeyeceksin.\n\n{legalLinks, select,\n both {Lütfen şunları incele:\n- Hizmet Şartları: {termsUrl}\n- Topluluk Kuralları: {guidelinesUrl}\n\n}\n terms {Lütfen şunları incele:\n- Hizmet Şartları: {termsUrl}\n\n}\n guidelines {Lütfen şunları incele:\n- Topluluk Kuralları: {guidelinesUrl}\n\n}\n other {}\n}Bu yaptırım kararının yanlış veya haksız olduğuna inanıyorsan, itiraz gönderebilirsin. {appeals_email, select, null {Bu kurulumun yöneticileriyle iletişime geç ve kararın neden yanlış olduğunu düşündüğünü açıkça anlat.} other {Bu e-posta adresinden {appeals_email} adresine e-posta gönder ve kararın neden yanlış olduğunu düşündüğünü açıkça anlat.}} İtirazını inceleyip kararımızı sana bildireceğiz.\n\n– {product_name} Güvenlik Ekibi" }, "donation_confirmation": { "subject": "{product_name}'a yaptığın bağış için teşekkürler", @@ -33,7 +33,7 @@ const EMAIL_I18N_TR_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "{product_name} raporun hakkında karar verdik", - "body": "Merhaba,\n\nGüvenlik Ekibimiz Dijital Hizmetler Yasası raporunu (Kimlik: {reportId}) inceledi ve bir karar verdi.{hasComment, select, yes {\n\nGüvenlik Ekibinin yanıtı:\n{publicComment}} other {}}\n\nBaşka bir kişinin hesabına uygulanan işlemlerin ayrıntılarını paylaşmıyoruz çünkü bunlar o kişinin kişisel verileridir.\n\nBu karara katılmıyorsan 60 gün içinde ücretsiz olarak itiraz edebilirsin. Bu e-posta adresinden {appeals_email} adresine e-posta gönder, rapor kimliğini ekle ve kararın neden yanlış olduğunu düşündüğünü açıkla. AB'deysen anlaşmazlığı sertifikalı bir mahkeme dışı uyuşmazlık çözüm kuruluşuna da götürebilirsin. Bunların hiçbiri mahkemeye başvurma hakkını etkilemez.\n\n– {product_name} Güvenlik Ekibi" + "body": "Merhaba,\n\nGüvenlik Ekibimiz Dijital Hizmetler Yasası raporunu (Kimlik: {reportId}) inceledi ve bir karar verdi.{hasComment, select, yes {\n\nGüvenlik Ekibinin yanıtı:\n{publicComment}} other {}}\n\nBaşka bir kişinin hesabına uygulanan işlemlerin ayrıntılarını paylaşmıyoruz çünkü bunlar o kişinin kişisel verileridir.\n\nBu karara katılmıyorsan 60 gün içinde ücretsiz olarak itiraz edebilirsin. {appeals_email, select, null {Bu kurulumun yöneticileriyle iletişime geç, rapor kimliğini ekle ve kararın neden yanlış olduğunu düşündüğünü açıkla.} other {Bu e-posta adresinden {appeals_email} adresine e-posta gönder, rapor kimliğini ekle ve kararın neden yanlış olduğunu düşündüğünü açıkla.}} AB'deysen anlaşmazlığı sertifikalı bir mahkeme dışı uyuşmazlık çözüm kuruluşuna da götürebilirsin. Bunların hiçbiri mahkemeye başvurma hakkını etkilemez.\n\n– {product_name} Güvenlik Ekibi" }, "dsa_report_verification": { "subject": "DSA raporu için e-postanı doğrula", @@ -57,15 +57,15 @@ const EMAIL_I18N_TR_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Kullandığın hediyenin avantajları kaldırıldı", - "body": "Merhaba {username},\n\nKullandığın bir hediye kodunun ödemesi başlangıçta başka biri tarafından yapılmıştı. Bu ödeme daha sonra geri alındı (ters ibraz).\n\nBu nedenle, hediyeyi kullandığında hesabına eklenen avantajlar kaldırıldı.\n\nBunun bir hata olduğunu düşünüyorsan, lütfen destek ekibimizle iletişime geç ve hediye koduyla ilgili sahip olduğun tüm detayları ve ne zaman kullandığını belirt.\n\n– {product_name} Ekibi" + "body": "Merhaba {username},\n\nKullandığın bir hediye kodunun ödemesi başlangıçta başka biri tarafından yapılmıştı. Bu ödeme daha sonra geri alındı (ters ibraz).\n\nBu nedenle, hediyeyi kullandığında hesabına eklenen avantajlar kaldırıldı.\n\n{support_email, select, null {Bunun bir hata olduğunu düşünüyorsan, lütfen bu kurulumun yöneticileriyle iletişime geç ve hediye koduyla ilgili sahip olduğun tüm detayları ve ne zaman kullandığını belirt.} other {Bunun bir hata olduğunu düşünüyorsan, lütfen destek ekibimizle iletişime geç ve hediye koduyla ilgili sahip olduğun tüm detayları ve ne zaman kullandığını belirt.}}\n\n– {product_name} Ekibi" }, "harvest_completed": { "subject": "{product_name} veri dışa aktarımın indirilmeye hazır", - "body": "Merhaba {username},\n\nVeri dışa aktarımın hazır.\n\nİndirme bağlantısı:\n{downloadUrl}\n\nDahil edilen mesajlar: {totalMessages, number}\nDosya boyutu: {fileSizeMB, number} MB\n\nBu bağlantı {expiresAt, date, full} {expiresAt, time, short} tarihinde sona erecektir.\n\nBu dışa aktarımı sen talep etmediysen, lütfen hemen şifreni değiştir ve destek ekibimizle iletişime geç.\n\n– {product_name} Ekibi" + "body": "Merhaba {username},\n\nVeri dışa aktarımın hazır.\n\nİndirme bağlantısı:\n{downloadUrl}\n\nDahil edilen mesajlar: {totalMessages, number}\nDosya boyutu: {fileSizeMB, number} MB\n\nBu bağlantı {expiresAt, date, full} {expiresAt, time, short} tarihinde sona erecektir.\n\n{support_email, select, null {Bu dışa aktarımı sen talep etmediysen, lütfen hemen şifreni değiştir ve bu kurulumun yöneticileriyle iletişime geç.} other {Bu dışa aktarımı sen talep etmediysen, lütfen hemen şifreni değiştir ve destek ekibimizle iletişime geç.}}\n\n– {product_name} Ekibi" }, "inactivity_warning": { "subject": "{product_name} hesabın hareketsizlik nedeniyle silinecek", - "body": "Merhaba {username},\n\n{lastActiveDate, date, full} tarihinden beri {product_name} hesabında herhangi bir etkinlik görmedik.\n\n{deletionDate, date, full} {deletionDate, time, short} tarihine kadar giriş yapmazsan, hesabın hareketsizlik nedeniyle kalıcı olarak silinecektir.\n\nBuradan giriş yap:\n{loginUrl}\n\n{product_name}'ı yakın zamanda kullandıysan, lütfen hemen destek ekibimizle iletişime geç.\n\n– {product_name} Ekibi" + "body": "Merhaba {username},\n\n{lastActiveDate, date, full} tarihinden beri {product_name} hesabında herhangi bir etkinlik görmedik.\n\n{deletionDate, date, full} {deletionDate, time, short} tarihine kadar giriş yapmazsan, hesabın hareketsizlik nedeniyle kalıcı olarak silinecektir.\n\nBuradan giriş yap:\n{loginUrl}\n\n{support_email, select, null {{product_name}'ı yakın zamanda kullandıysan, lütfen hemen bu kurulumun yöneticileriyle iletişime geç.} other {{product_name}'ı yakın zamanda kullandıysan, lütfen hemen destek ekibimizle iletişime geç.}}\n\n– {product_name} Ekibi" }, "ip_authorization": { "subject": "Yeni bir IP adresinden girişi yetkilendir", @@ -93,11 +93,11 @@ const EMAIL_I18N_TR_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "{product_name} raporun incelendi", - "body": "Merhaba {username},\n\nRaporun (Kimlik: {reportId}) Güvenlik Ekibimiz tarafından incelendi.{hasComment, select, yes {\n\nGüvenlik Ekibinin yanıtı:\n{publicComment}} other {}}\n\n{product_name}'ı herkes için güvenli tutmaya yardımcı olduğun için teşekkür ederiz. Tüm raporları ciddiye alıyoruz ve topluluğa katkını takdir ediyoruz.\n\nBu sonuç hakkında herhangi bir sorun veya endişen varsa, lütfen {safety_email} adresine ulaş.\n\n– {product_name} Güvenlik Ekibi" + "body": "Merhaba {username},\n\nRaporun (Kimlik: {reportId}) Güvenlik Ekibimiz tarafından incelendi.{hasComment, select, yes {\n\nGüvenlik Ekibinin yanıtı:\n{publicComment}} other {}}\n\n{product_name}'ı herkes için güvenli tutmaya yardımcı olduğun için teşekkür ederiz. Tüm raporları ciddiye alıyoruz ve topluluğa katkını takdir ediyoruz.\n\n{safety_email, select, null {Bu sonuç hakkında herhangi bir sorun veya endişen varsa, lütfen bu kurulumun yöneticileriyle iletişime geç.} other {Bu sonuç hakkında herhangi bir sorun veya endişen varsa, lütfen {safety_email} adresine ulaş.}}\n\n– {product_name} Güvenlik Ekibi" }, "scheduled_deletion_notification": { "subject": "{product_name} hesabın kalıcı olarak silinecek", - "body": "Merhaba {username},\n\n{product_name} hesabın kalıcı olarak silinmek üzere planlandı.\n\nPlanlanan silme tarihi: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Sebep: {reason}}\n}\n\nBu, ciddi bir yaptırım işlemidir. Hesap verilerin planlanan tarihte kalıcı olarak silinecektir.\n\nBu yaptırım kararının yanlış olduğuna inanıyorsan, itiraz gönderebilirsin. Bu e-posta adresinden {appeals_email} adresine e-posta gönder.\n\n– {product_name} Güvenlik Ekibi" + "body": "Merhaba {username},\n\n{product_name} hesabın kalıcı olarak silinmek üzere planlandı.\n\nPlanlanan silme tarihi: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Sebep: {reason}}\n}\n\nBu, ciddi bir yaptırım işlemidir. Hesap verilerin planlanan tarihte kalıcı olarak silinecektir.\n\nBu yaptırım kararının yanlış olduğuna inanıyorsan, itiraz gönderebilirsin. {appeals_email, select, null {Bu kurulumun yöneticileriyle iletişime geç.} other {Bu e-posta adresinden {appeals_email} adresine e-posta gönder.}}\n\n– {product_name} Güvenlik Ekibi" }, "self_deletion_scheduled": { "subject": "{product_name} hesabının silinmesi planlandı", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/uk.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/uk.ts index 6cf899557..eaf8d5c43 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/uk.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/uk.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_UK_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Видалення твого акаунта {product_name} скасовано", - "body": "Привіт, {username},\n\nЗаплановане видалення твого акаунта {product_name} скасовано. Твій акаунт не буде видалено.\n\nЯкщо у тебе є запитання, напиши на {safety_email}.\n\n– Команда {product_name}" + "body": "Привіт, {username},\n\nЗаплановане видалення твого акаунта {product_name} скасовано. Твій акаунт не буде видалено.\n\n{safety_email, select, null {Якщо у тебе є запитання, звернися до адміністраторів цього екземпляра.} other {Якщо у тебе є запитання, напиши на {safety_email}.}}\n\n– Команда {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Твій акаунт {product_name} буде видалено через неактивність", - "body": "Привіт, {username},\n\nТвій акаунт {product_name} тривалий час був неактивним, тому його остаточне видалення заплановано на:\n\n{deletionDate, date, full} о {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nЯкщо хочеш зберегти акаунт, напиши на {safety_email} з цієї електронної адреси до цієї дати.\n\n– Команда {product_name}" + "body": "Привіт, {username},\n\nТвій акаунт {product_name} тривалий час був неактивним, тому його остаточне видалення заплановано на:\n\n{deletionDate, date, full} о {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\n{safety_email, select, null {Якщо хочеш зберегти акаунт, звернися до адміністраторів цього екземпляра до цієї дати.} other {Якщо хочеш зберегти акаунт, напиши на {safety_email} з цієї електронної адреси до цієї дати.}}\n\n– Команда {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Видалення акаунта {product_name} заплановано", - "body": "Привіт, {username},\n\nНа твій запит остаточне видалення акаунта {product_name} заплановано на:\n\n{deletionDate, date, full} о {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nДо того часу твій акаунт заблоковано. Якщо цей запит не від тебе або ти хочеш зберегти акаунт, напиши на {safety_email} з цієї електронної адреси до цієї дати.\n\n– Команда {product_name}" + "body": "Привіт, {username},\n\nНа твій запит остаточне видалення акаунта {product_name} заплановано на:\n\n{deletionDate, date, full} о {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nДо того часу твій акаунт заблоковано. {safety_email, select, null {Якщо цей запит не від тебе або ти хочеш зберегти акаунт, звернися до адміністраторів цього екземпляра до цієї дати.} other {Якщо цей запит не від тебе або ти хочеш зберегти акаунт, напиши на {safety_email} з цієї електронної адреси до цієї дати.}}\n\n– Команда {product_name}" }, "account_scheduled_deletion": { "subject": "Твій акаунт {product_name} буде остаточно видалено", - "body": "Привіт, {username},\n\nМи запланували остаточне видалення твого акаунта {product_name} через порушення наших Умов використання або Правил спільноти.\n\nВидалення заплановано на: {deletionDate, date, full} о {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЦе серйозне рішення. Дані твого акаунта буде остаточно видалено у заплановану дату.\n\nБудь ласка, переглянь:\n- Умови використання: {termsUrl}\n- Правила спільноти: {guidelinesUrl}\n\nПроцес апеляції:\nЯкщо ти вважаєш, що це рішення було неправильним або необґрунтованим, у тебе є 60 днів, щоб подати апеляцію. Надішли електронний лист на {appeals_email} з цієї електронної адреси.\n\nУ твоїй апеляції:\n- Чітко поясни, чому ти вважаєш, що рішення було неправильним або необґрунтованим\n- Надай будь-які відповідні докази або контекст\n\nКоманда безпеки {product_name} розгляне твою апеляцію та може призупинити видалення до ухвалення остаточного рішення.\n\n– Команда безпеки {product_name}" + "body": "Привіт, {username},\n\nМи запланували остаточне видалення твого акаунта {product_name} через порушення наших Умов використання або Правил спільноти.\n\nВидалення заплановано на: {deletionDate, date, full} о {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЦе серйозне рішення. Дані твого акаунта буде остаточно видалено у заплановану дату.\n\n{legalLinks, select,\n both {Будь ласка, переглянь:\n- Умови використання: {termsUrl}\n- Правила спільноти: {guidelinesUrl}\n\n}\n terms {Будь ласка, переглянь:\n- Умови використання: {termsUrl}\n\n}\n guidelines {Будь ласка, переглянь:\n- Правила спільноти: {guidelinesUrl}\n\n}\n other {}\n}Процес апеляції:\nЯкщо ти вважаєш, що це рішення було неправильним або необґрунтованим, у тебе є 60 днів, щоб подати апеляцію. {appeals_email, select, null {Звернися до адміністраторів цього екземпляра.} other {Надішли електронний лист на {appeals_email} з цієї електронної адреси.}}\n\nУ твоїй апеляції:\n- Чітко поясни, чому ти вважаєш, що рішення було неправильним або необґрунтованим\n- Надай будь-які відповідні докази або контекст\n\nКоманда безпеки {product_name} розгляне твою апеляцію та може призупинити видалення до ухвалення остаточного рішення.\n\n– Команда безпеки {product_name}" }, "account_temp_banned": { "subject": "Твій акаунт {product_name} тимчасово призупинено", - "body": "Привіт, {username},\n\nТвій акаунт {product_name} тимчасово призупинено за порушення наших Умов використання або Правил спільноти.\n\nТривалість: {durationHours, plural,\n one {# година}\n few {# години}\n many {# годин}\n other {# години}\n}\nПризупинено до: {bannedUntil, date, full} о {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nПротягом цього часу ти не зможеш отримати доступ до свого акаунта.\n\nБудь ласка, переглянь:\n- Умови використання: {termsUrl}\n- Правила спільноти: {guidelinesUrl}\n\nЯкщо ти вважаєш, що це рішення було неправильним або необґрунтованим, ти можеш подати апеляцію. Надішли електронний лист на {appeals_email} з цієї електронної адреси та чітко поясни, чому ти вважаєш рішення неправильним. Ми розглянемо твою апеляцію та повідомимо про своє рішення.\n\n– Команда безпеки {product_name}" + "body": "Привіт, {username},\n\nТвій акаунт {product_name} тимчасово призупинено за порушення наших Умов використання або Правил спільноти.\n\nТривалість: {durationHours, plural,\n one {# година}\n few {# години}\n many {# годин}\n other {# години}\n}\nПризупинено до: {bannedUntil, date, full} о {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nПротягом цього часу ти не зможеш отримати доступ до свого акаунта.\n\n{legalLinks, select,\n both {Будь ласка, переглянь:\n- Умови використання: {termsUrl}\n- Правила спільноти: {guidelinesUrl}\n\n}\n terms {Будь ласка, переглянь:\n- Умови використання: {termsUrl}\n\n}\n guidelines {Будь ласка, переглянь:\n- Правила спільноти: {guidelinesUrl}\n\n}\n other {}\n}Якщо ти вважаєш, що це рішення було неправильним або необґрунтованим, ти можеш подати апеляцію. {appeals_email, select, null {Звернися до адміністраторів цього екземпляра та чітко поясни, чому ти вважаєш рішення неправильним.} other {Надішли електронний лист на {appeals_email} з цієї електронної адреси та чітко поясни, чому ти вважаєш рішення неправильним.}} Ми розглянемо твою апеляцію та повідомимо про своє рішення.\n\n– Команда безпеки {product_name}" }, "donation_confirmation": { "subject": "Дякуємо за твою пожертву для {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_UK_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Ми ухвалили рішення щодо твого звіту в {product_name}", - "body": "Привіт,\n\nНаша команда безпеки розглянула твій звіт за Законом про цифрові послуги (ID: {reportId}) та ухвалила рішення.{hasComment, select, yes {\n\nВідповідь команди безпеки:\n{publicComment}} other {}}\n\nМи не розголошуємо подробиць заходів, ужитих щодо акаунта іншої людини, оскільки це її персональні дані.\n\nЯкщо ти не погоджуєшся з цим рішенням, ти можеш безкоштовно подати апеляцію протягом 60 днів. Надішли електронний лист на {appeals_email} з цієї електронної адреси, вкажи ID свого звіту та поясни, чому вважаєш рішення неправильним. Якщо ти перебуваєш у ЄС, ти також можеш передати спір до сертифікованого органу позасудового врегулювання спорів. Усе це не впливає на твоє право звернутися до суду.\n\n– Команда безпеки {product_name}" + "body": "Привіт,\n\nНаша команда безпеки розглянула твій звіт за Законом про цифрові послуги (ID: {reportId}) та ухвалила рішення.{hasComment, select, yes {\n\nВідповідь команди безпеки:\n{publicComment}} other {}}\n\nМи не розголошуємо подробиць заходів, ужитих щодо акаунта іншої людини, оскільки це її персональні дані.\n\nЯкщо ти не погоджуєшся з цим рішенням, ти можеш безкоштовно подати апеляцію протягом 60 днів. {appeals_email, select, null {Звернися до адміністраторів цього екземпляра, вкажи ID свого звіту та поясни, чому вважаєш рішення неправильним.} other {Надішли електронний лист на {appeals_email} з цієї електронної адреси, вкажи ID свого звіту та поясни, чому вважаєш рішення неправильним.}} Якщо ти перебуваєш у ЄС, ти також можеш передати спір до сертифікованого органу позасудового врегулювання спорів. Усе це не впливає на твоє право звернутися до суду.\n\n– Команда безпеки {product_name}" }, "dsa_report_verification": { "subject": "Підтвердь свою електронну адресу для звіту DSA", @@ -57,15 +57,15 @@ const EMAIL_I18N_UK_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Видалено переваги активованого подарунка", - "body": "Привіт, {username},\n\nПодарунковий код, активований на твоєму акаунті, спочатку оплатила інша людина. Цей платіж згодом скасовано (повернення коштів).\n\nЧерез це видалено переваги, які були додані до твого акаунта під час активації подарунка.\n\nЯкщо ти вважаєш, що це помилка, будь ласка, зв'яжися з нашою службою підтримки та надай будь-які деталі про подарунковий код та час його активації.\n\n– Команда {product_name}" + "body": "Привіт, {username},\n\nПодарунковий код, активований на твоєму акаунті, спочатку оплатила інша людина. Цей платіж згодом скасовано (повернення коштів).\n\nЧерез це видалено переваги, які були додані до твого акаунта під час активації подарунка.\n\n{support_email, select, null {Якщо ти вважаєш, що це помилка, будь ласка, зв'яжися з адміністраторами цього екземпляра та надай будь-які деталі про подарунковий код та час його активації.} other {Якщо ти вважаєш, що це помилка, будь ласка, зв'яжися з нашою службою підтримки та надай будь-які деталі про подарунковий код та час його активації.}}\n\n– Команда {product_name}" }, "harvest_completed": { "subject": "Твій експорт даних {product_name} готовий до завантаження", - "body": "Привіт, {username},\n\nТвій експорт даних готовий.\n\nПосилання для завантаження:\n{downloadUrl}\n\nВключено повідомлень: {totalMessages, number}\nРозмір файлу: {fileSizeMB, number} МБ\n\nЦе посилання діє до {expiresAt, date, full} о {expiresAt, time, short}.\n\nЯкщо цей запит не від тебе, будь ласка, негайно зміни пароль та зв'яжися з нашою службою підтримки.\n\n– Команда {product_name}" + "body": "Привіт, {username},\n\nТвій експорт даних готовий.\n\nПосилання для завантаження:\n{downloadUrl}\n\nВключено повідомлень: {totalMessages, number}\nРозмір файлу: {fileSizeMB, number} МБ\n\nЦе посилання діє до {expiresAt, date, full} о {expiresAt, time, short}.\n\n{support_email, select, null {Якщо цей запит не від тебе, будь ласка, негайно зміни пароль та зв'яжися з адміністраторами цього екземпляра.} other {Якщо цей запит не від тебе, будь ласка, негайно зміни пароль та зв'яжися з нашою службою підтримки.}}\n\n– Команда {product_name}" }, "inactivity_warning": { "subject": "Твій акаунт {product_name} буде видалено через неактивність", - "body": "Привіт, {username},\n\nМи не бачили жодної активності на твоєму акаунті {product_name} з {lastActiveDate, date, full}.\n\nЯкщо ти не увійдеш до {deletionDate, date, full} о {deletionDate, time, short}, твій акаунт буде остаточно видалено через неактивність.\n\nУвійди тут:\n{loginUrl}\n\nЯкщо останнім часом ти користуєшся {product_name}, будь ласка, негайно зв'яжися з нашою службою підтримки.\n\n– Команда {product_name}" + "body": "Привіт, {username},\n\nМи не бачили жодної активності на твоєму акаунті {product_name} з {lastActiveDate, date, full}.\n\nЯкщо ти не увійдеш до {deletionDate, date, full} о {deletionDate, time, short}, твій акаунт буде остаточно видалено через неактивність.\n\nУвійди тут:\n{loginUrl}\n\n{support_email, select, null {Якщо останнім часом ти користуєшся {product_name}, будь ласка, негайно зв'яжися з адміністраторами цього екземпляра.} other {Якщо останнім часом ти користуєшся {product_name}, будь ласка, негайно зв'яжися з нашою службою підтримки.}}\n\n– Команда {product_name}" }, "ip_authorization": { "subject": "Дозволь вхід з нової IP-адреси", @@ -93,11 +93,11 @@ const EMAIL_I18N_UK_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Твій звіт у {product_name} розглянуто", - "body": "Привіт, {username},\n\nНаша команда безпеки розглянула твій звіт (ID: {reportId}).{hasComment, select, yes {\n\nВідповідь команди безпеки:\n{publicComment}} other {}}\n\nДякуємо, що допомагаєш зберігати {product_name} безпечним для всіх. Ми серйозно ставимося до кожного звіту та цінуємо твій внесок у спільноту.\n\nЯкщо у тебе є запитання чи зауваження щодо цього рішення, напиши на {safety_email}.\n\n– Команда безпеки {product_name}" + "body": "Привіт, {username},\n\nНаша команда безпеки розглянула твій звіт (ID: {reportId}).{hasComment, select, yes {\n\nВідповідь команди безпеки:\n{publicComment}} other {}}\n\nДякуємо, що допомагаєш зберігати {product_name} безпечним для всіх. Ми серйозно ставимося до кожного звіту та цінуємо твій внесок у спільноту.\n\n{safety_email, select, null {Якщо у тебе є запитання чи зауваження щодо цього рішення, звернися до адміністраторів цього екземпляра.} other {Якщо у тебе є запитання чи зауваження щодо цього рішення, напиши на {safety_email}.}}\n\n– Команда безпеки {product_name}" }, "scheduled_deletion_notification": { "subject": "Твій акаунт {product_name} буде остаточно видалено", - "body": "Привіт, {username},\n\nМи запланували остаточне видалення твого акаунта {product_name}.\n\nВидалення заплановано на: {deletionDate, date, full} о {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЦе серйозне рішення. Дані твого акаунта буде остаточно видалено у заплановану дату.\n\nЯкщо ти вважаєш, що це рішення було неправильним, ти можеш подати апеляцію. Надішли електронний лист на {appeals_email} з цієї електронної адреси.\n\n– Команда безпеки {product_name}" + "body": "Привіт, {username},\n\nМи запланували остаточне видалення твого акаунта {product_name}.\n\nВидалення заплановано на: {deletionDate, date, full} о {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЦе серйозне рішення. Дані твого акаунта буде остаточно видалено у заплановану дату.\n\nЯкщо ти вважаєш, що це рішення було неправильним, ти можеш подати апеляцію. {appeals_email, select, null {Звернися до адміністраторів цього екземпляра.} other {Надішли електронний лист на {appeals_email} з цієї електронної адреси.}}\n\n– Команда безпеки {product_name}" }, "self_deletion_scheduled": { "subject": "Видалення акаунта {product_name} заплановано", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/vi.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/vi.ts index b684acba1..64db32034 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/vi.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/vi.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_VI_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "Lịch xóa tài khoản {product_name} của bạn đã được hủy", - "body": "Xin chào {username},\n\nLịch xóa tài khoản {product_name} của bạn đã được hủy. Tài khoản của bạn sẽ không bị xóa.\n\nNếu bạn có bất kỳ câu hỏi nào, vui lòng liên hệ {safety_email}.\n\n– Đội ngũ {product_name}" + "body": "Xin chào {username},\n\nLịch xóa tài khoản {product_name} của bạn đã được hủy. Tài khoản của bạn sẽ không bị xóa.\n\n{safety_email, select, null {Nếu bạn có bất kỳ câu hỏi nào, vui lòng liên hệ quản trị viên của máy chủ này.} other {Nếu bạn có bất kỳ câu hỏi nào, vui lòng liên hệ {safety_email}.}}\n\n– Đội ngũ {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Tài khoản {product_name} của bạn sẽ bị xóa do không hoạt động", - "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã không hoạt động trong thời gian dài, vì vậy tài khoản được lên lịch xóa vĩnh viễn vào:\n\n{deletionDate, date, full} lúc {deletionDate, time, short}{reason, select, null {} other {\n\nLý do: {reason}}}\n\nNếu bạn muốn giữ tài khoản, hãy liên hệ {safety_email} từ địa chỉ email này trước ngày đó.\n\n– Đội ngũ {product_name}" + "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã không hoạt động trong thời gian dài, vì vậy tài khoản được lên lịch xóa vĩnh viễn vào:\n\n{deletionDate, date, full} lúc {deletionDate, time, short}{reason, select, null {} other {\n\nLý do: {reason}}}\n\n{safety_email, select, null {Nếu bạn muốn giữ tài khoản, hãy liên hệ quản trị viên của máy chủ này trước ngày đó.} other {Nếu bạn muốn giữ tài khoản, hãy liên hệ {safety_email} từ địa chỉ email này trước ngày đó.}}\n\n– Đội ngũ {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Tài khoản {product_name} của bạn đã được lên lịch xóa", - "body": "Xin chào {username},\n\nTheo yêu cầu của bạn, tài khoản {product_name} của bạn được lên lịch xóa vĩnh viễn vào:\n\n{deletionDate, date, full} lúc {deletionDate, time, short}{reason, select, null {} other {\n\nLý do: {reason}}}\n\nTài khoản của bạn sẽ bị khóa cho đến lúc đó. Nếu bạn không yêu cầu điều này, hoặc bạn muốn giữ tài khoản, hãy liên hệ {safety_email} từ địa chỉ email này trước ngày đó.\n\n– Đội ngũ {product_name}" + "body": "Xin chào {username},\n\nTheo yêu cầu của bạn, tài khoản {product_name} của bạn được lên lịch xóa vĩnh viễn vào:\n\n{deletionDate, date, full} lúc {deletionDate, time, short}{reason, select, null {} other {\n\nLý do: {reason}}}\n\nTài khoản của bạn sẽ bị khóa cho đến lúc đó. {safety_email, select, null {Nếu bạn không yêu cầu điều này, hoặc bạn muốn giữ tài khoản, hãy liên hệ quản trị viên của máy chủ này trước ngày đó.} other {Nếu bạn không yêu cầu điều này, hoặc bạn muốn giữ tài khoản, hãy liên hệ {safety_email} từ địa chỉ email này trước ngày đó.}}\n\n– Đội ngũ {product_name}" }, "account_scheduled_deletion": { "subject": "Tài khoản {product_name} của bạn sẽ bị xóa vĩnh viễn", - "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã được lên lịch xóa vĩnh viễn do vi phạm Điều khoản dịch vụ hoặc Nguyên tắc cộng đồng của chúng tôi.\n\nThời gian xóa theo lịch: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Lý do: {reason}}\n}\n\nĐây là một biện pháp xử lý nghiêm trọng. Dữ liệu tài khoản của bạn sẽ bị xóa vĩnh viễn vào ngày đã lên lịch.\n\nVui lòng xem lại:\n- Điều khoản dịch vụ: {termsUrl}\n- Nguyên tắc cộng đồng: {guidelinesUrl}\n\nQuy trình khiếu nại:\nNếu bạn cho rằng quyết định này không chính xác hoặc không hợp lý, bạn có 60 ngày để gửi khiếu nại. Gửi email đến {appeals_email} từ địa chỉ email này.\n\nTrong khiếu nại của bạn:\n- Giải thích rõ ràng lý do bạn cho rằng quyết định này không chính xác hoặc không hợp lý\n- Cung cấp bằng chứng hoặc thông tin liên quan nếu có\n\nMột thành viên của Đội ngũ An toàn {product_name} sẽ xem xét khiếu nại của bạn và có thể tạm dừng việc xóa đang chờ xử lý cho đến khi có quyết định cuối cùng.\n\n– Đội ngũ An toàn {product_name}" + "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã được lên lịch xóa vĩnh viễn do vi phạm Điều khoản dịch vụ hoặc Nguyên tắc cộng đồng của chúng tôi.\n\nThời gian xóa theo lịch: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Lý do: {reason}}\n}\n\nĐây là một biện pháp xử lý nghiêm trọng. Dữ liệu tài khoản của bạn sẽ bị xóa vĩnh viễn vào ngày đã lên lịch.\n\n{legalLinks, select,\n both {Vui lòng xem lại:\n- Điều khoản dịch vụ: {termsUrl}\n- Nguyên tắc cộng đồng: {guidelinesUrl}\n\n}\n terms {Vui lòng xem lại:\n- Điều khoản dịch vụ: {termsUrl}\n\n}\n guidelines {Vui lòng xem lại:\n- Nguyên tắc cộng đồng: {guidelinesUrl}\n\n}\n other {}\n}Quy trình khiếu nại:\nNếu bạn cho rằng quyết định này không chính xác hoặc không hợp lý, bạn có 60 ngày để gửi khiếu nại. {appeals_email, select, null {Liên hệ quản trị viên của máy chủ này.} other {Gửi email đến {appeals_email} từ địa chỉ email này.}}\n\nTrong khiếu nại của bạn:\n- Giải thích rõ ràng lý do bạn cho rằng quyết định này không chính xác hoặc không hợp lý\n- Cung cấp bằng chứng hoặc thông tin liên quan nếu có\n\nMột thành viên của Đội ngũ An toàn {product_name} sẽ xem xét khiếu nại của bạn và có thể tạm dừng việc xóa đang chờ xử lý cho đến khi có quyết định cuối cùng.\n\n– Đội ngũ An toàn {product_name}" }, "account_temp_banned": { "subject": "Tài khoản {product_name} của bạn đã bị đình chỉ tạm thời", - "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã bị đình chỉ tạm thời do vi phạm Điều khoản dịch vụ hoặc Nguyên tắc cộng đồng của chúng tôi.\n\nThời gian: {durationHours, plural,\n =1 {1 giờ}\n other {# giờ}\n}\nBị đình chỉ cho đến: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Lý do: {reason}}\n}\n\nTrong thời gian này, bạn sẽ không thể truy cập tài khoản của mình.\n\nVui lòng xem lại:\n- Điều khoản dịch vụ: {termsUrl}\n- Nguyên tắc cộng đồng: {guidelinesUrl}\n\nNếu bạn cho rằng quyết định này không chính xác hoặc không hợp lý, bạn có thể gửi khiếu nại. Gửi email đến {appeals_email} từ địa chỉ email này và giải thích rõ ràng lý do bạn cho rằng quyết định đó không chính xác. Chúng tôi sẽ xem xét khiếu nại của bạn và thông báo quyết định của chúng tôi cho bạn.\n\n– Đội ngũ An toàn {product_name}" + "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã bị đình chỉ tạm thời do vi phạm Điều khoản dịch vụ hoặc Nguyên tắc cộng đồng của chúng tôi.\n\nThời gian: {durationHours, plural,\n =1 {1 giờ}\n other {# giờ}\n}\nBị đình chỉ cho đến: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Lý do: {reason}}\n}\n\nTrong thời gian này, bạn sẽ không thể truy cập tài khoản của mình.\n\n{legalLinks, select,\n both {Vui lòng xem lại:\n- Điều khoản dịch vụ: {termsUrl}\n- Nguyên tắc cộng đồng: {guidelinesUrl}\n\n}\n terms {Vui lòng xem lại:\n- Điều khoản dịch vụ: {termsUrl}\n\n}\n guidelines {Vui lòng xem lại:\n- Nguyên tắc cộng đồng: {guidelinesUrl}\n\n}\n other {}\n}Nếu bạn cho rằng quyết định này không chính xác hoặc không hợp lý, bạn có thể gửi khiếu nại. {appeals_email, select, null {Liên hệ quản trị viên của máy chủ này và giải thích rõ ràng lý do bạn cho rằng quyết định đó không chính xác.} other {Gửi email đến {appeals_email} từ địa chỉ email này và giải thích rõ ràng lý do bạn cho rằng quyết định đó không chính xác.}} Chúng tôi sẽ xem xét khiếu nại của bạn và thông báo quyết định của chúng tôi cho bạn.\n\n– Đội ngũ An toàn {product_name}" }, "donation_confirmation": { "subject": "Cảm ơn bạn đã ủng hộ {product_name}", @@ -33,7 +33,7 @@ const EMAIL_I18N_VI_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "Chúng tôi đã có quyết định về báo cáo của bạn trên {product_name}", - "body": "Xin chào,\n\nĐội ngũ An toàn của chúng tôi đã xem xét báo cáo theo Đạo luật Dịch vụ kỹ thuật số của bạn (ID: {reportId}) và đã đưa ra quyết định.{hasComment, select, yes {\n\nPhản hồi từ Đội ngũ An toàn:\n{publicComment}} other {}}\n\nChúng tôi không chia sẻ chi tiết về biện pháp áp dụng với tài khoản của người khác, vì đó là dữ liệu cá nhân của họ.\n\nNếu không đồng ý với quyết định này, bạn có thể gửi khiếu nại miễn phí trong vòng 60 ngày. Gửi email đến {appeals_email} từ địa chỉ email này, ghi rõ ID báo cáo của bạn và giải thích lý do bạn cho rằng quyết định đó không chính xác. Nếu bạn ở EU, bạn cũng có thể đưa tranh chấp đến một cơ quan giải quyết tranh chấp ngoài tòa án đã được chứng nhận. Những điều này không ảnh hưởng đến quyền khởi kiện ra tòa của bạn.\n\n– Đội ngũ An toàn {product_name}" + "body": "Xin chào,\n\nĐội ngũ An toàn của chúng tôi đã xem xét báo cáo theo Đạo luật Dịch vụ kỹ thuật số của bạn (ID: {reportId}) và đã đưa ra quyết định.{hasComment, select, yes {\n\nPhản hồi từ Đội ngũ An toàn:\n{publicComment}} other {}}\n\nChúng tôi không chia sẻ chi tiết về biện pháp áp dụng với tài khoản của người khác, vì đó là dữ liệu cá nhân của họ.\n\nNếu không đồng ý với quyết định này, bạn có thể gửi khiếu nại miễn phí trong vòng 60 ngày. {appeals_email, select, null {Liên hệ quản trị viên của máy chủ này, ghi rõ ID báo cáo của bạn và giải thích lý do bạn cho rằng quyết định đó không chính xác.} other {Gửi email đến {appeals_email} từ địa chỉ email này, ghi rõ ID báo cáo của bạn và giải thích lý do bạn cho rằng quyết định đó không chính xác.}} Nếu bạn ở EU, bạn cũng có thể đưa tranh chấp đến một cơ quan giải quyết tranh chấp ngoài tòa án đã được chứng nhận. Những điều này không ảnh hưởng đến quyền khởi kiện ra tòa của bạn.\n\n– Đội ngũ An toàn {product_name}" }, "dsa_report_verification": { "subject": "Xác minh email của bạn cho báo cáo DSA", @@ -57,15 +57,15 @@ const EMAIL_I18N_VI_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "Các đặc quyền từ quà tặng đã đổi của bạn đã bị gỡ bỏ", - "body": "Xin chào {username},\n\nMã quà tặng bạn đã đổi vốn do người khác thanh toán. Khoản thanh toán đó sau đó đã bị đảo ngược (chargeback).\n\nVì lý do này, chúng tôi đã gỡ bỏ các đặc quyền đã được thêm vào tài khoản của bạn khi bạn đổi quà tặng.\n\nNếu bạn cho rằng đây là nhầm lẫn, vui lòng liên hệ đội ngũ hỗ trợ của chúng tôi và cung cấp bất kỳ chi tiết nào bạn có về mã quà tặng và thời điểm bạn đổi mã đó.\n\n– Đội ngũ {product_name}" + "body": "Xin chào {username},\n\nMã quà tặng bạn đã đổi vốn do người khác thanh toán. Khoản thanh toán đó sau đó đã bị đảo ngược (chargeback).\n\nVì lý do này, chúng tôi đã gỡ bỏ các đặc quyền đã được thêm vào tài khoản của bạn khi bạn đổi quà tặng.\n\n{support_email, select, null {Nếu bạn cho rằng đây là nhầm lẫn, vui lòng liên hệ quản trị viên của máy chủ này và cung cấp bất kỳ chi tiết nào bạn có về mã quà tặng và thời điểm bạn đổi mã đó.} other {Nếu bạn cho rằng đây là nhầm lẫn, vui lòng liên hệ đội ngũ hỗ trợ của chúng tôi và cung cấp bất kỳ chi tiết nào bạn có về mã quà tặng và thời điểm bạn đổi mã đó.}}\n\n– Đội ngũ {product_name}" }, "harvest_completed": { "subject": "Bản xuất dữ liệu {product_name} của bạn đã sẵn sàng để tải xuống", - "body": "Xin chào {username},\n\nBản xuất dữ liệu của bạn đã sẵn sàng.\n\nLiên kết tải xuống:\n{downloadUrl}\n\nSố tin nhắn bao gồm: {totalMessages, number}\nKích thước tệp: {fileSizeMB, number} MB\n\nLiên kết này hết hạn vào {expiresAt, date, full} lúc {expiresAt, time, short}.\n\nNếu bạn không yêu cầu xuất dữ liệu này, vui lòng thay đổi mật khẩu ngay lập tức và liên hệ đội ngũ hỗ trợ của chúng tôi.\n\n– Đội ngũ {product_name}" + "body": "Xin chào {username},\n\nBản xuất dữ liệu của bạn đã sẵn sàng.\n\nLiên kết tải xuống:\n{downloadUrl}\n\nSố tin nhắn bao gồm: {totalMessages, number}\nKích thước tệp: {fileSizeMB, number} MB\n\nLiên kết này hết hạn vào {expiresAt, date, full} lúc {expiresAt, time, short}.\n\n{support_email, select, null {Nếu bạn không yêu cầu xuất dữ liệu này, vui lòng thay đổi mật khẩu ngay lập tức và liên hệ quản trị viên của máy chủ này.} other {Nếu bạn không yêu cầu xuất dữ liệu này, vui lòng thay đổi mật khẩu ngay lập tức và liên hệ đội ngũ hỗ trợ của chúng tôi.}}\n\n– Đội ngũ {product_name}" }, "inactivity_warning": { "subject": "Tài khoản {product_name} của bạn sẽ bị xóa do không hoạt động", - "body": "Xin chào {username},\n\nChúng tôi chưa thấy bất kỳ hoạt động nào trên tài khoản {product_name} của bạn kể từ {lastActiveDate, date, full}.\n\nNếu bạn không đăng nhập trước {deletionDate, date, full} lúc {deletionDate, time, short}, tài khoản của bạn sẽ bị xóa vĩnh viễn do không hoạt động.\n\nĐăng nhập tại đây:\n{loginUrl}\n\nNếu bạn đã sử dụng {product_name} gần đây, vui lòng liên hệ đội ngũ hỗ trợ của chúng tôi ngay lập tức.\n\n– Đội ngũ {product_name}" + "body": "Xin chào {username},\n\nChúng tôi chưa thấy bất kỳ hoạt động nào trên tài khoản {product_name} của bạn kể từ {lastActiveDate, date, full}.\n\nNếu bạn không đăng nhập trước {deletionDate, date, full} lúc {deletionDate, time, short}, tài khoản của bạn sẽ bị xóa vĩnh viễn do không hoạt động.\n\nĐăng nhập tại đây:\n{loginUrl}\n\n{support_email, select, null {Nếu bạn đã sử dụng {product_name} gần đây, vui lòng liên hệ quản trị viên của máy chủ này ngay lập tức.} other {Nếu bạn đã sử dụng {product_name} gần đây, vui lòng liên hệ đội ngũ hỗ trợ của chúng tôi ngay lập tức.}}\n\n– Đội ngũ {product_name}" }, "ip_authorization": { "subject": "Cho phép đăng nhập từ địa chỉ IP mới", @@ -93,11 +93,11 @@ const EMAIL_I18N_VI_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "Báo cáo {product_name} của bạn đã được xem xét", - "body": "Xin chào {username},\n\nBáo cáo của bạn (ID: {reportId}) đã được Đội ngũ An toàn của chúng tôi xem xét.{hasComment, select, yes {\n\nPhản hồi từ Đội ngũ An toàn:\n{publicComment}} other {}}\n\nCảm ơn bạn đã giúp giữ cho {product_name} an toàn cho mọi người. Chúng tôi xem xét nghiêm túc mọi báo cáo và đánh giá cao đóng góp của bạn cho cộng đồng.\n\nNếu bạn có bất kỳ câu hỏi hoặc lo ngại nào về kết quả này, vui lòng liên hệ {safety_email}.\n\n– Đội ngũ An toàn {product_name}" + "body": "Xin chào {username},\n\nBáo cáo của bạn (ID: {reportId}) đã được Đội ngũ An toàn của chúng tôi xem xét.{hasComment, select, yes {\n\nPhản hồi từ Đội ngũ An toàn:\n{publicComment}} other {}}\n\nCảm ơn bạn đã giúp giữ cho {product_name} an toàn cho mọi người. Chúng tôi xem xét nghiêm túc mọi báo cáo và đánh giá cao đóng góp của bạn cho cộng đồng.\n\n{safety_email, select, null {Nếu bạn có bất kỳ câu hỏi hoặc lo ngại nào về kết quả này, vui lòng liên hệ quản trị viên của máy chủ này.} other {Nếu bạn có bất kỳ câu hỏi hoặc lo ngại nào về kết quả này, vui lòng liên hệ {safety_email}.}}\n\n– Đội ngũ An toàn {product_name}" }, "scheduled_deletion_notification": { "subject": "Tài khoản {product_name} của bạn sẽ bị xóa vĩnh viễn", - "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã được lên lịch xóa vĩnh viễn.\n\nThời gian xóa theo lịch: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Lý do: {reason}}\n}\n\nĐây là một biện pháp xử lý nghiêm trọng. Dữ liệu tài khoản của bạn sẽ bị xóa vĩnh viễn vào ngày đã lên lịch.\n\nNếu bạn cho rằng quyết định này không chính xác, bạn có thể gửi khiếu nại. Gửi email đến {appeals_email} từ địa chỉ email này.\n\n– Đội ngũ An toàn {product_name}" + "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã được lên lịch xóa vĩnh viễn.\n\nThời gian xóa theo lịch: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Lý do: {reason}}\n}\n\nĐây là một biện pháp xử lý nghiêm trọng. Dữ liệu tài khoản của bạn sẽ bị xóa vĩnh viễn vào ngày đã lên lịch.\n\nNếu bạn cho rằng quyết định này không chính xác, bạn có thể gửi khiếu nại. {appeals_email, select, null {Liên hệ quản trị viên của máy chủ này.} other {Gửi email đến {appeals_email} từ địa chỉ email này.}}\n\n– Đội ngũ An toàn {product_name}" }, "self_deletion_scheduled": { "subject": "Tài khoản {product_name} của bạn đã được lên lịch xóa", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/zh-CN.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/zh-CN.ts index d6e208747..91d254156 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/zh-CN.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/zh-CN.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_ZH_CN_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "你的 {product_name} 账号已取消删除", - "body": "你好 {username},\n\n你的 {product_name} 账号的计划删除已取消。你的账号不会被删除。\n\n如有任何疑问,请联系 {safety_email}。\n\n– {product_name} 团队" + "body": "你好 {username},\n\n你的 {product_name} 账号的计划删除已取消。你的账号不会被删除。\n\n{safety_email, select, null {如有任何疑问,请联系此实例的管理员。} other {如有任何疑问,请联系 {safety_email}。}}\n\n– {product_name} 团队" }, "account_deletion_scheduled_inactivity": { "subject": "你的 {product_name} 账号将因长期未活动而被删除", - "body": "你好 {username},\n\n你的 {product_name} 账号已长期未活动,因此将于以下时间永久删除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n如果你想保留账号,请在该日期前使用此邮箱地址联系 {safety_email}。\n\n– {product_name} 团队" + "body": "你好 {username},\n\n你的 {product_name} 账号已长期未活动,因此将于以下时间永久删除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n{safety_email, select, null {如果你想保留账号,请在该日期前联系此实例的管理员。} other {如果你想保留账号,请在该日期前使用此邮箱地址联系 {safety_email}。}}\n\n– {product_name} 团队" }, "account_deletion_scheduled_requested": { "subject": "你的 {product_name} 账号已安排删除", - "body": "你好 {username},\n\n根据你的请求,你的 {product_name} 账号将于以下时间永久删除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n在此之前,你的账号将被锁定。如果你未请求此操作,或者想保留账号,请在该日期前使用此邮箱地址联系 {safety_email}。\n\n– {product_name} 团队" + "body": "你好 {username},\n\n根据你的请求,你的 {product_name} 账号将于以下时间永久删除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n在此之前,你的账号将被锁定。{safety_email, select, null {如果你未请求此操作,或者想保留账号,请在该日期前联系此实例的管理员。} other {如果你未请求此操作,或者想保留账号,请在该日期前使用此邮箱地址联系 {safety_email}。}}\n\n– {product_name} 团队" }, "account_scheduled_deletion": { "subject": "你的 {product_name} 账号将被永久删除", - "body": "你好 {username},\n\n由于违反了我们的《服务条款》或《社区准则》,你的 {product_name} 账号已被安排永久删除。\n\n计划删除时间:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n这是一项严重的处罚措施。你的账号数据将在预定日期被永久删除。\n\n请查阅:\n- 服务条款:{termsUrl}\n- 社区准则:{guidelinesUrl}\n\n申诉流程:\n如果你认为此处罚决定不正确或不合理,你有 60 天时间提交申诉。请使用此邮箱地址发送邮件至 {appeals_email}。\n\n在你的申诉中:\n- 清楚说明你认为处罚决定不正确或不合理的原因\n- 提供任何相关证据或背景信息\n\n{product_name} 安全团队成员将审核你的申诉,并可能在做出最终决定前暂停此次删除。\n\n– {product_name} 安全团队" + "body": "你好 {username},\n\n由于违反了我们的《服务条款》或《社区准则》,你的 {product_name} 账号已被安排永久删除。\n\n计划删除时间:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n这是一项严重的处罚措施。你的账号数据将在预定日期被永久删除。\n\n{legalLinks, select,\n both {请查阅:\n- 服务条款:{termsUrl}\n- 社区准则:{guidelinesUrl}\n\n}\n terms {请查阅:\n- 服务条款:{termsUrl}\n\n}\n guidelines {请查阅:\n- 社区准则:{guidelinesUrl}\n\n}\n other {}\n}申诉流程:\n如果你认为此处罚决定不正确或不合理,你有 60 天时间提交申诉。{appeals_email, select, null {请联系此实例的管理员。} other {请使用此邮箱地址发送邮件至 {appeals_email}。}}\n\n在你的申诉中:\n- 清楚说明你认为处罚决定不正确或不合理的原因\n- 提供任何相关证据或背景信息\n\n{product_name} 安全团队成员将审核你的申诉,并可能在做出最终决定前暂停此次删除。\n\n– {product_name} 安全团队" }, "account_temp_banned": { "subject": "你的 {product_name} 账号已被暂时封禁", - "body": "你好 {username},\n\n你的 {product_name} 账号因违反我们的《服务条款》或《社区准则》已被暂时封禁。\n\n封禁时长:{durationHours, plural,\n =1 {1 小时}\n other {# 小时}\n}\n封禁至:{bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n在此期间,你将无法访问你的账号。\n\n请查阅:\n- 服务条款:{termsUrl}\n- 社区准则:{guidelinesUrl}\n\n如果你认为此处罚决定不正确或不合理,你可以提交申诉。请使用此邮箱地址发送邮件至 {appeals_email},并清楚说明你认为该决定不正确的原因。我们会审核你的申诉,并将决定回复你。\n\n– {product_name} 安全团队" + "body": "你好 {username},\n\n你的 {product_name} 账号因违反我们的《服务条款》或《社区准则》已被暂时封禁。\n\n封禁时长:{durationHours, plural,\n =1 {1 小时}\n other {# 小时}\n}\n封禁至:{bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n在此期间,你将无法访问你的账号。\n\n{legalLinks, select,\n both {请查阅:\n- 服务条款:{termsUrl}\n- 社区准则:{guidelinesUrl}\n\n}\n terms {请查阅:\n- 服务条款:{termsUrl}\n\n}\n guidelines {请查阅:\n- 社区准则:{guidelinesUrl}\n\n}\n other {}\n}如果你认为此处罚决定不正确或不合理,你可以提交申诉。{appeals_email, select, null {请联系此实例的管理员,并清楚说明你认为该决定不正确的原因。} other {请使用此邮箱地址发送邮件至 {appeals_email},并清楚说明你认为该决定不正确的原因。}}我们会审核你的申诉,并将决定回复你。\n\n– {product_name} 安全团队" }, "donation_confirmation": { "subject": "感谢你的 {product_name} 捐赠", @@ -33,7 +33,7 @@ const EMAIL_I18N_ZH_CN_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "我们已对你的 {product_name} 举报做出决定", - "body": "你好,\n\n我们的安全团队已审核你根据《数字服务法》提交的举报(ID:{reportId})并做出决定。{hasComment, select, yes {\n\n安全团队的回复:\n{publicComment}} other {}}\n\n我们不会透露对他人账号所采取措施的详情,因为这属于对方的个人数据。\n\n如果你不同意此决定,可以在 60 天内免费提交申诉。请使用此邮箱地址发送邮件至 {appeals_email},注明你的举报 ID,并说明你认为该决定不正确的原因。如果你身在欧盟,还可以将争议提交给经认证的庭外争议解决机构。以上内容均不影响你向法院提起诉讼的权利。\n\n– {product_name} 安全团队" + "body": "你好,\n\n我们的安全团队已审核你根据《数字服务法》提交的举报(ID:{reportId})并做出决定。{hasComment, select, yes {\n\n安全团队的回复:\n{publicComment}} other {}}\n\n我们不会透露对他人账号所采取措施的详情,因为这属于对方的个人数据。\n\n如果你不同意此决定,可以在 60 天内免费提交申诉。{appeals_email, select, null {请联系此实例的管理员,注明你的举报 ID,并说明你认为该决定不正确的原因。} other {请使用此邮箱地址发送邮件至 {appeals_email},注明你的举报 ID,并说明你认为该决定不正确的原因。}}如果你身在欧盟,还可以将争议提交给经认证的庭外争议解决机构。以上内容均不影响你向法院提起诉讼的权利。\n\n– {product_name} 安全团队" }, "dsa_report_verification": { "subject": "验证邮箱以提交 DSA 举报", @@ -57,15 +57,15 @@ const EMAIL_I18N_ZH_CN_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "已移除你兑换礼品所获得的福利", - "body": "你好 {username},\n\n你兑换的礼品码最初由他人支付。该付款现已被撤销(退单)。\n\n因此,我们已移除你在兑换礼品时添加到你账号的福利。\n\n如果你认为此操作有误,请联系我们的支持团队,并提供有关礼品码以及兑换时间的任何详细信息。\n\n– {product_name} 团队" + "body": "你好 {username},\n\n你兑换的礼品码最初由他人支付。该付款现已被撤销(退单)。\n\n因此,我们已移除你在兑换礼品时添加到你账号的福利。\n\n{support_email, select, null {如果你认为此操作有误,请联系此实例的管理员,并提供有关礼品码以及兑换时间的任何详细信息。} other {如果你认为此操作有误,请联系我们的支持团队,并提供有关礼品码以及兑换时间的任何详细信息。}}\n\n– {product_name} 团队" }, "harvest_completed": { "subject": "你的 {product_name} 数据导出已准备就绪", - "body": "你好 {username},\n\n你的数据导出已准备就绪。\n\n下载链接:\n{downloadUrl}\n\n包含消息数:{totalMessages, number}\n文件大小:{fileSizeMB, number} MB\n\n此链接将于 {expiresAt, date, full} {expiresAt, time, short} 失效。\n\n如果你未请求此导出,请立即更改密码并联系我们的支持团队。\n\n– {product_name} 团队" + "body": "你好 {username},\n\n你的数据导出已准备就绪。\n\n下载链接:\n{downloadUrl}\n\n包含消息数:{totalMessages, number}\n文件大小:{fileSizeMB, number} MB\n\n此链接将于 {expiresAt, date, full} {expiresAt, time, short} 失效。\n\n{support_email, select, null {如果你未请求此导出,请立即更改密码并联系此实例的管理员。} other {如果你未请求此导出,请立即更改密码并联系我们的支持团队。}}\n\n– {product_name} 团队" }, "inactivity_warning": { "subject": "你的 {product_name} 账号将因长期未活动而被删除", - "body": "你好 {username},\n\n自 {lastActiveDate, date, full} 以来,我们未检测到你的 {product_name} 账号有任何活动。\n\n如果你未在 {deletionDate, date, full} {deletionDate, time, short} 前登录,你的账号将因长期未活动而被永久删除。\n\n立即登录:\n{loginUrl}\n\n如果你最近使用过 {product_name},请立即联系我们的支持团队。\n\n– {product_name} 团队" + "body": "你好 {username},\n\n自 {lastActiveDate, date, full} 以来,我们未检测到你的 {product_name} 账号有任何活动。\n\n如果你未在 {deletionDate, date, full} {deletionDate, time, short} 前登录,你的账号将因长期未活动而被永久删除。\n\n立即登录:\n{loginUrl}\n\n{support_email, select, null {如果你最近使用过 {product_name},请立即联系此实例的管理员。} other {如果你最近使用过 {product_name},请立即联系我们的支持团队。}}\n\n– {product_name} 团队" }, "ip_authorization": { "subject": "授权新 IP 地址登录", @@ -93,11 +93,11 @@ const EMAIL_I18N_ZH_CN_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "你的 {product_name} 举报已完成审核", - "body": "你好 {username},\n\n你的举报(ID:{reportId})已由我们的安全团队完成审核。{hasComment, select, yes {\n\n安全团队的回复:\n{publicComment}} other {}}\n\n感谢你帮助维护 {product_name} 的安全环境。我们会认真对待每一份举报,也感谢你为社区做出的贡献。\n\n如果你对此结果有任何疑问或意见,请联系 {safety_email}。\n\n– {product_name} 安全团队" + "body": "你好 {username},\n\n你的举报(ID:{reportId})已由我们的安全团队完成审核。{hasComment, select, yes {\n\n安全团队的回复:\n{publicComment}} other {}}\n\n感谢你帮助维护 {product_name} 的安全环境。我们会认真对待每一份举报,也感谢你为社区做出的贡献。\n\n{safety_email, select, null {如果你对此结果有任何疑问或意见,请联系此实例的管理员。} other {如果你对此结果有任何疑问或意见,请联系 {safety_email}。}}\n\n– {product_name} 安全团队" }, "scheduled_deletion_notification": { "subject": "你的 {product_name} 账号将被永久删除", - "body": "你好 {username},\n\n你的 {product_name} 账号已被安排永久删除。\n\n计划删除时间:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n这是一项严重的处罚措施。你的账号数据将在预定日期被永久删除。\n\n如果你认为此处罚决定不正确,可以提交申诉。请使用此邮箱地址发送邮件至 {appeals_email}。\n\n– {product_name} 安全团队" + "body": "你好 {username},\n\n你的 {product_name} 账号已被安排永久删除。\n\n计划删除时间:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n这是一项严重的处罚措施。你的账号数据将在预定日期被永久删除。\n\n如果你认为此处罚决定不正确,可以提交申诉。{appeals_email, select, null {请联系此实例的管理员。} other {请使用此邮箱地址发送邮件至 {appeals_email}。}}\n\n– {product_name} 安全团队" }, "self_deletion_scheduled": { "subject": "你的 {product_name} 账号已安排删除", diff --git a/fluxer_api/pkgs/email/src/email_i18n/locales/zh-TW.ts b/fluxer_api/pkgs/email/src/email_i18n/locales/zh-TW.ts index e061b792a..576a293a6 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/zh-TW.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/zh-TW.ts @@ -5,23 +5,23 @@ import {defineEmailI18nLocaleMessages} from '@pkgs/email/src/email_i18n/EmailI18 const EMAIL_I18N_ZH_TW_MESSAGES = defineEmailI18nLocaleMessages({ "account_deletion_cancelled": { "subject": "您的 {product_name} 帳號已取消刪除", - "body": "哈囉 {username},\n\n您的 {product_name} 帳號的排定刪除已取消。您的帳號不會被刪除。\n\n如有任何疑問,請聯絡 {safety_email}。\n\n– {product_name} 團隊" + "body": "哈囉 {username},\n\n您的 {product_name} 帳號的排定刪除已取消。您的帳號不會被刪除。\n\n{safety_email, select, null {如有任何疑問,請聯絡此實例的管理員。} other {如有任何疑問,請聯絡 {safety_email}。}}\n\n– {product_name} 團隊" }, "account_deletion_scheduled_inactivity": { "subject": "您的 {product_name} 帳號將因長期未使用而刪除", - "body": "哈囉 {username},\n\n您的 {product_name} 帳號已長期未使用,因此已排定於以下時間永久刪除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n如果您想保留帳號,請在該日期前使用此電子郵件地址聯絡 {safety_email}。\n\n– {product_name} 團隊" + "body": "哈囉 {username},\n\n您的 {product_name} 帳號已長期未使用,因此已排定於以下時間永久刪除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n{safety_email, select, null {如果您想保留帳號,請在該日期前聯絡此實例的管理員。} other {如果您想保留帳號,請在該日期前使用此電子郵件地址聯絡 {safety_email}。}}\n\n– {product_name} 團隊" }, "account_deletion_scheduled_requested": { "subject": "您的 {product_name} 帳號已排定刪除", - "body": "哈囉 {username},\n\n依照您的要求,您的 {product_name} 帳號已排定於以下時間永久刪除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n在此之前,您的帳號將被鎖定。如果您沒有提出此要求,或想保留帳號,請在該日期前使用此電子郵件地址聯絡 {safety_email}。\n\n– {product_name} 團隊" + "body": "哈囉 {username},\n\n依照您的要求,您的 {product_name} 帳號已排定於以下時間永久刪除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n在此之前,您的帳號將被鎖定。{safety_email, select, null {如果您沒有提出此要求,或想保留帳號,請在該日期前聯絡此實例的管理員。} other {如果您沒有提出此要求,或想保留帳號,請在該日期前使用此電子郵件地址聯絡 {safety_email}。}}\n\n– {product_name} 團隊" }, "account_scheduled_deletion": { "subject": "您的 {product_name} 帳號將被永久刪除", - "body": "哈囉 {username},\n\n由於您違反了我們的服務條款或社群準則,您的 {product_name} 帳號已排定永久刪除。\n\n排定刪除時間:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n這是一項嚴重的處分。您的帳號資料將在排定日期永久刪除。\n\n請參閱:\n- 服務條款:{termsUrl}\n- 社群準則:{guidelinesUrl}\n\n申訴流程:\n如果您認為此處分不正確或不合理,您有 60 天的時間可以提交申訴。請使用此電子郵件地址寄信至 {appeals_email}。\n\n在您的申訴中:\n- 請清楚說明您認為此處分不正確或不合理的原因\n- 提供任何相關證據或背景資訊\n\n{product_name} 安全團隊的成員將會審查您的申訴,並可能在做出最終決定前暫停這項刪除。\n\n– {product_name} 安全團隊" + "body": "哈囉 {username},\n\n由於您違反了我們的服務條款或社群準則,您的 {product_name} 帳號已排定永久刪除。\n\n排定刪除時間:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n這是一項嚴重的處分。您的帳號資料將在排定日期永久刪除。\n\n{legalLinks, select,\n both {請參閱:\n- 服務條款:{termsUrl}\n- 社群準則:{guidelinesUrl}\n\n}\n terms {請參閱:\n- 服務條款:{termsUrl}\n\n}\n guidelines {請參閱:\n- 社群準則:{guidelinesUrl}\n\n}\n other {}\n}申訴流程:\n如果您認為此處分不正確或不合理,您有 60 天的時間可以提交申訴。{appeals_email, select, null {請聯絡此實例的管理員。} other {請使用此電子郵件地址寄信至 {appeals_email}。}}\n\n在您的申訴中:\n- 請清楚說明您認為此處分不正確或不合理的原因\n- 提供任何相關證據或背景資訊\n\n{product_name} 安全團隊的成員將會審查您的申訴,並可能在做出最終決定前暫停這項刪除。\n\n– {product_name} 安全團隊" }, "account_temp_banned": { "subject": "您的 {product_name} 帳號已暫時停權", - "body": "哈囉 {username},\n\n由於您違反了我們的服務條款或社群準則,您的 {product_name} 帳號已暫時停權。\n\n持續時間:{durationHours, plural,\n =1 {1 小時}\n other {# 小時}\n}\n停權至:{bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n在此期間,您將無法存取您的帳號。\n\n請參閱:\n- 服務條款:{termsUrl}\n- 社群準則:{guidelinesUrl}\n\n如果您認為此處分不正確或不合理,可以提交申訴。請使用此電子郵件地址寄信至 {appeals_email},並清楚說明您認為此處分不正確的原因。我們會審查您的申訴,並回覆我們的決定。\n\n– {product_name} 安全團隊" + "body": "哈囉 {username},\n\n由於您違反了我們的服務條款或社群準則,您的 {product_name} 帳號已暫時停權。\n\n持續時間:{durationHours, plural,\n =1 {1 小時}\n other {# 小時}\n}\n停權至:{bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n在此期間,您將無法存取您的帳號。\n\n{legalLinks, select,\n both {請參閱:\n- 服務條款:{termsUrl}\n- 社群準則:{guidelinesUrl}\n\n}\n terms {請參閱:\n- 服務條款:{termsUrl}\n\n}\n guidelines {請參閱:\n- 社群準則:{guidelinesUrl}\n\n}\n other {}\n}如果您認為此處分不正確或不合理,可以提交申訴。{appeals_email, select, null {請聯絡此實例的管理員,並清楚說明您認為此處分不正確的原因。} other {請使用此電子郵件地址寄信至 {appeals_email},並清楚說明您認為此處分不正確的原因。}}我們會審查您的申訴,並回覆我們的決定。\n\n– {product_name} 安全團隊" }, "donation_confirmation": { "subject": "感謝您對 {product_name} 的捐款", @@ -33,7 +33,7 @@ const EMAIL_I18N_ZH_TW_MESSAGES = defineEmailI18nLocaleMessages({ }, "dsa_report_resolved": { "subject": "我們已對您的 {product_name} 檢舉做出決定", - "body": "哈囉,\n\n我們的安全團隊已審核您依據數位服務法提出的檢舉(ID:{reportId})並做出決定。{hasComment, select, yes {\n\n安全團隊的回覆:\n{publicComment}} other {}}\n\n我們不會透露對他人帳號所採取措施的細節,因為這屬於對方的個人資料。\n\n如果您不同意此決定,可以在 60 天內免費提交申訴。請使用此電子郵件地址寄信至 {appeals_email},註明您的檢舉 ID,並說明您認為此決定不正確的原因。如果您身在歐盟,也可以將爭議提交給經認證的訴訟外爭議解決機構。以上內容均不影響您向法院提起訴訟的權利。\n\n– {product_name} 安全團隊" + "body": "哈囉,\n\n我們的安全團隊已審核您依據數位服務法提出的檢舉(ID:{reportId})並做出決定。{hasComment, select, yes {\n\n安全團隊的回覆:\n{publicComment}} other {}}\n\n我們不會透露對他人帳號所採取措施的細節,因為這屬於對方的個人資料。\n\n如果您不同意此決定,可以在 60 天內免費提交申訴。{appeals_email, select, null {請聯絡此實例的管理員,註明您的檢舉 ID,並說明您認為此決定不正確的原因。} other {請使用此電子郵件地址寄信至 {appeals_email},註明您的檢舉 ID,並說明您認為此決定不正確的原因。}}如果您身在歐盟,也可以將爭議提交給經認證的訴訟外爭議解決機構。以上內容均不影響您向法院提起訴訟的權利。\n\n– {product_name} 安全團隊" }, "dsa_report_verification": { "subject": "驗證您的電子郵件以送出 DSA 檢舉", @@ -57,15 +57,15 @@ const EMAIL_I18N_ZH_TW_MESSAGES = defineEmailI18nLocaleMessages({ }, "gift_chargeback_notification": { "subject": "您兌換禮物取得的福利已移除", - "body": "哈囉 {username},\n\n您兌換的禮物代碼原本是由其他人付款購買的。該筆付款後來已被撤銷(拒付)。\n\n因此,我們已移除兌換該禮物時加到您帳號的福利。\n\n如果您認為這是誤判,請聯絡我們的支援團隊,並提供您所知道關於該禮物代碼與兌換時間的任何資訊。\n\n– {product_name} 團隊" + "body": "哈囉 {username},\n\n您兌換的禮物代碼原本是由其他人付款購買的。該筆付款後來已被撤銷(拒付)。\n\n因此,我們已移除兌換該禮物時加到您帳號的福利。\n\n{support_email, select, null {如果您認為這是誤判,請聯絡此實例的管理員,並提供您所知道關於該禮物代碼與兌換時間的任何資訊。} other {如果您認為這是誤判,請聯絡我們的支援團隊,並提供您所知道關於該禮物代碼與兌換時間的任何資訊。}}\n\n– {product_name} 團隊" }, "harvest_completed": { "subject": "您的 {product_name} 資料匯出已可下載", - "body": "哈囉 {username},\n\n您的資料匯出已準備就緒。\n\n下載連結:\n{downloadUrl}\n\n包含的訊息:{totalMessages, number} 則\n檔案大小:{fileSizeMB, number} MB\n\n此連結將於 {expiresAt, date, full} {expiresAt, time, short} 失效。\n\n如果您沒有要求此匯出,請立即變更您的密碼並聯絡我們的支援團隊。\n\n– {product_name} 團隊" + "body": "哈囉 {username},\n\n您的資料匯出已準備就緒。\n\n下載連結:\n{downloadUrl}\n\n包含的訊息:{totalMessages, number} 則\n檔案大小:{fileSizeMB, number} MB\n\n此連結將於 {expiresAt, date, full} {expiresAt, time, short} 失效。\n\n{support_email, select, null {如果您沒有要求此匯出,請立即變更您的密碼並聯絡此實例的管理員。} other {如果您沒有要求此匯出,請立即變更您的密碼並聯絡我們的支援團隊。}}\n\n– {product_name} 團隊" }, "inactivity_warning": { "subject": "您的 {product_name} 帳號將因長期未使用而刪除", - "body": "哈囉 {username},\n\n自 {lastActiveDate, date, full} 起,我們未在您的 {product_name} 帳號上看到任何活動。\n\n如果您未在 {deletionDate, date, full} {deletionDate, time, short} 前登入,您的帳號將因長期未使用而永久刪除。\n\n請在此登入:\n{loginUrl}\n\n如果您最近有使用 {product_name},請立即聯絡我們的支援團隊。\n\n– {product_name} 團隊" + "body": "哈囉 {username},\n\n自 {lastActiveDate, date, full} 起,我們未在您的 {product_name} 帳號上看到任何活動。\n\n如果您未在 {deletionDate, date, full} {deletionDate, time, short} 前登入,您的帳號將因長期未使用而永久刪除。\n\n請在此登入:\n{loginUrl}\n\n{support_email, select, null {如果您最近有使用 {product_name},請立即聯絡此實例的管理員。} other {如果您最近有使用 {product_name},請立即聯絡我們的支援團隊。}}\n\n– {product_name} 團隊" }, "ip_authorization": { "subject": "授權從新的 IP 位址登入", @@ -93,11 +93,11 @@ const EMAIL_I18N_ZH_TW_MESSAGES = defineEmailI18nLocaleMessages({ }, "report_resolved": { "subject": "您的 {product_name} 檢舉已審核完成", - "body": "哈囉 {username},\n\n您的檢舉(ID:{reportId})已由我們的安全團隊審核。{hasComment, select, yes {\n\n安全團隊的回覆:\n{publicComment}} other {}}\n\n感謝您協助維護 {product_name} 的安全。我們會認真看待每一則檢舉,並感謝您對社群的貢獻。\n\n如果您對此結果有任何疑問或疑慮,請聯絡 {safety_email}。\n\n– {product_name} 安全團隊" + "body": "哈囉 {username},\n\n您的檢舉(ID:{reportId})已由我們的安全團隊審核。{hasComment, select, yes {\n\n安全團隊的回覆:\n{publicComment}} other {}}\n\n感謝您協助維護 {product_name} 的安全。我們會認真看待每一則檢舉,並感謝您對社群的貢獻。\n\n{safety_email, select, null {如果您對此結果有任何疑問或疑慮,請聯絡此實例的管理員。} other {如果您對此結果有任何疑問或疑慮,請聯絡 {safety_email}。}}\n\n– {product_name} 安全團隊" }, "scheduled_deletion_notification": { "subject": "您的 {product_name} 帳號將被永久刪除", - "body": "哈囉 {username},\n\n您的 {product_name} 帳號已排定永久刪除。\n\n排定刪除時間:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n這是一項嚴重的處分。您的帳號資料將在排定日期永久刪除。\n\n如果您認為此處分不正確,可以提交申訴。請使用此電子郵件地址寄信至 {appeals_email}。\n\n– {product_name} 安全團隊" + "body": "哈囉 {username},\n\n您的 {product_name} 帳號已排定永久刪除。\n\n排定刪除時間:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n這是一項嚴重的處分。您的帳號資料將在排定日期永久刪除。\n\n如果您認為此處分不正確,可以提交申訴。{appeals_email, select, null {請聯絡此實例的管理員。} other {請使用此電子郵件地址寄信至 {appeals_email}。}}\n\n– {product_name} 安全團隊" }, "self_deletion_scheduled": { "subject": "您的 {product_name} 帳號已排定刪除", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ar.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ar.json index b2dfd4977..8c2cc811c 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ar.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ar.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "تم إلغاء حذف حسابك في {product_name}", - "body": "مرحبًا {username}،\n\nتم إلغاء الحذف المجدول لحسابك في {product_name}. لن يتم حذف حسابك.\n\nإذا كانت لديك أي أسئلة، يرجى الاتصال بـ{safety_email}.\n\n– فريق {product_name}" + "body": "مرحبًا {username}،\n\nتم إلغاء الحذف المجدول لحسابك في {product_name}. لن يتم حذف حسابك.\n\n{safety_email, select, null {إذا كانت لديك أي أسئلة، يرجى التواصل مع مسؤولي هذا المثيل.} other {إذا كانت لديك أي أسئلة، يرجى الاتصال بـ{safety_email}.}}\n\n– فريق {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "سيتم حذف حسابك في {product_name} بسبب عدم النشاط", - "body": "مرحبًا {username}،\n\nلم يكن حسابك في {product_name} نشطًا لفترة طويلة، لذا تمت جدولته للحذف الدائم في:\n\n{deletionDate, date, full} الساعة {deletionDate, time, short}{reason, select, null {} other {\n\nالسبب: {reason}}}\n\nإذا كنت ترغب في الاحتفاظ بحسابك، فاتصل بـ{safety_email} من عنوان البريد الإلكتروني هذا قبل ذلك التاريخ.\n\n– فريق {product_name}" + "body": "مرحبًا {username}،\n\nلم يكن حسابك في {product_name} نشطًا لفترة طويلة، لذا تمت جدولته للحذف الدائم في:\n\n{deletionDate, date, full} الساعة {deletionDate, time, short}{reason, select, null {} other {\n\nالسبب: {reason}}}\n\n{safety_email, select, null {إذا كنت ترغب في الاحتفاظ بحسابك، فتواصل مع مسؤولي هذا المثيل قبل ذلك التاريخ.} other {إذا كنت ترغب في الاحتفاظ بحسابك، فاتصل بـ{safety_email} من عنوان البريد الإلكتروني هذا قبل ذلك التاريخ.}}\n\n– فريق {product_name}" }, "account_deletion_scheduled_requested": { "subject": "تمت جدولة حذف حسابك في {product_name}", - "body": "مرحبًا {username}،\n\nبناءً على طلبك، تمت جدولة حسابك في {product_name} للحذف الدائم في:\n\n{deletionDate, date, full} الساعة {deletionDate, time, short}{reason, select, null {} other {\n\nالسبب: {reason}}}\n\nسيظل حسابك مقفلًا حتى ذلك الحين. إذا لم تطلب هذا، أو كنت ترغب في الاحتفاظ بحسابك، فاتصل بـ{safety_email} من عنوان البريد الإلكتروني هذا قبل ذلك التاريخ.\n\n– فريق {product_name}" + "body": "مرحبًا {username}،\n\nبناءً على طلبك، تمت جدولة حسابك في {product_name} للحذف الدائم في:\n\n{deletionDate, date, full} الساعة {deletionDate, time, short}{reason, select, null {} other {\n\nالسبب: {reason}}}\n\nسيظل حسابك مقفلًا حتى ذلك الحين. {safety_email, select, null {إذا لم تطلب هذا، أو كنت ترغب في الاحتفاظ بحسابك، فتواصل مع مسؤولي هذا المثيل قبل ذلك التاريخ.} other {إذا لم تطلب هذا، أو كنت ترغب في الاحتفاظ بحسابك، فاتصل بـ{safety_email} من عنوان البريد الإلكتروني هذا قبل ذلك التاريخ.}}\n\n– فريق {product_name}" }, "account_scheduled_deletion": { "subject": "سيتم حذف حسابك في {product_name} نهائيًا", - "body": "مرحبًا {username}،\n\nتمت جدولة حسابك في {product_name} للحذف الدائم بسبب انتهاكات لشروط الخدمة أو إرشادات المجتمع الخاصة بنا.\n\nالحذف المجدول: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {السبب: {reason}}\n}\n\nهذا إجراء إنفاذ جاد. سيتم حذف بيانات حسابك نهائيًا في التاريخ المحدد.\n\nيرجى مراجعة:\n- شروط الخدمة: {termsUrl}\n- إرشادات المجتمع: {guidelinesUrl}\n\nعملية الاستئناف:\nإذا كنت تعتقد أن قرار الإنفاذ هذا كان غير صحيح أو غير مبرر، لديك 60 يومًا لتقديم استئناف. أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا.\n\nفي استئنافك:\n- اشرح بوضوح سبب اعتقادك أن قرار الإنفاذ كان غير صحيح أو غير مبرر\n- قدم أي دليل أو سياق ذي صلة\n\nسيقوم عضو من فريق أمان {product_name} بمراجعة استئنافك وقد يوقف الحذف المعلق مؤقتًا إلى حين التوصل إلى قرار نهائي.\n\n– فريق أمان {product_name}" + "body": "مرحبًا {username}،\n\nتمت جدولة حسابك في {product_name} للحذف الدائم بسبب انتهاكات لشروط الخدمة أو إرشادات المجتمع الخاصة بنا.\n\nالحذف المجدول: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {السبب: {reason}}\n}\n\nهذا إجراء إنفاذ جاد. سيتم حذف بيانات حسابك نهائيًا في التاريخ المحدد.\n\n{legalLinks, select,\n both {يرجى مراجعة:\n- شروط الخدمة: {termsUrl}\n- إرشادات المجتمع: {guidelinesUrl}\n\n}\n terms {يرجى مراجعة:\n- شروط الخدمة: {termsUrl}\n\n}\n guidelines {يرجى مراجعة:\n- إرشادات المجتمع: {guidelinesUrl}\n\n}\n other {}\n}عملية الاستئناف:\nإذا كنت تعتقد أن قرار الإنفاذ هذا كان غير صحيح أو غير مبرر، لديك 60 يومًا لتقديم استئناف. {appeals_email, select, null {تواصل مع مسؤولي هذا المثيل.} other {أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا.}}\n\nفي استئنافك:\n- اشرح بوضوح سبب اعتقادك أن قرار الإنفاذ كان غير صحيح أو غير مبرر\n- قدم أي دليل أو سياق ذي صلة\n\nسيقوم عضو من فريق أمان {product_name} بمراجعة استئنافك وقد يوقف الحذف المعلق مؤقتًا إلى حين التوصل إلى قرار نهائي.\n\n– فريق أمان {product_name}" }, "account_temp_banned": { "subject": "تم تعليق حسابك في {product_name} مؤقتًا", - "body": "مرحبًا {username}،\n\nتم تعليق حسابك في {product_name} مؤقتًا لانتهاك شروط الخدمة أو إرشادات المجتمع الخاصة بنا.\n\nالمدة: {durationHours, plural,\n =1 {ساعة واحدة}\n zero {# ساعة}\n two {ساعتان}\n few {# ساعات}\n many {# ساعة}\n other {# ساعة}\n}\nمعلق حتى: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {السبب: {reason}}\n}\n\nخلال هذه الفترة، لن تتمكن من الوصول إلى حسابك.\n\nيرجى مراجعة:\n- شروط الخدمة: {termsUrl}\n- إرشادات المجتمع: {guidelinesUrl}\n\nإذا كنت تعتقد أن قرار الإنفاذ هذا كان غير صحيح أو غير مبرر، يمكنك تقديم استئناف. أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا واشرح بوضوح سبب اعتقادك أن القرار كان غير صحيح. سنراجع استئنافك ونرد بقرارنا.\n\n– فريق أمان {product_name}" + "body": "مرحبًا {username}،\n\nتم تعليق حسابك في {product_name} مؤقتًا لانتهاك شروط الخدمة أو إرشادات المجتمع الخاصة بنا.\n\nالمدة: {durationHours, plural,\n =1 {ساعة واحدة}\n zero {# ساعة}\n two {ساعتان}\n few {# ساعات}\n many {# ساعة}\n other {# ساعة}\n}\nمعلق حتى: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {السبب: {reason}}\n}\n\nخلال هذه الفترة، لن تتمكن من الوصول إلى حسابك.\n\n{legalLinks, select,\n both {يرجى مراجعة:\n- شروط الخدمة: {termsUrl}\n- إرشادات المجتمع: {guidelinesUrl}\n\n}\n terms {يرجى مراجعة:\n- شروط الخدمة: {termsUrl}\n\n}\n guidelines {يرجى مراجعة:\n- إرشادات المجتمع: {guidelinesUrl}\n\n}\n other {}\n}إذا كنت تعتقد أن قرار الإنفاذ هذا كان غير صحيح أو غير مبرر، يمكنك تقديم استئناف. {appeals_email, select, null {تواصل مع مسؤولي هذا المثيل واشرح بوضوح سبب اعتقادك أن القرار كان غير صحيح.} other {أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا واشرح بوضوح سبب اعتقادك أن القرار كان غير صحيح.}} سنراجع استئنافك ونرد بقرارنا.\n\n– فريق أمان {product_name}" }, "donation_confirmation": { "subject": "شكرًا لك على تبرعك لـ{product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "اتخذنا قرارًا بشأن بلاغك في {product_name}", - "body": "مرحبًا،\n\nراجع فريق الأمان لدينا بلاغك بموجب قانون الخدمات الرقمية (المعرف: {reportId}) واتخذ قرارًا.{hasComment, select, yes {\n\nرد فريق الأمان:\n{publicComment}} other {}}\n\nلا نشارك تفاصيل أي إجراء يُتخذ بحق حساب شخص آخر، لأنها بياناته الشخصية.\n\nإذا كنت لا توافق على هذا القرار، يمكنك تقديم استئناف مجانًا خلال 60 يومًا. أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا، واذكر معرف بلاغك، واشرح سبب اعتقادك أن القرار غير صحيح. إذا كنت في الاتحاد الأوروبي، يمكنك أيضًا إحالة النزاع إلى هيئة معتمدة لتسوية المنازعات خارج المحكمة. لا يؤثر أي من ذلك على حقك في اللجوء إلى القضاء.\n\n– فريق أمان {product_name}" + "body": "مرحبًا،\n\nراجع فريق الأمان لدينا بلاغك بموجب قانون الخدمات الرقمية (المعرف: {reportId}) واتخذ قرارًا.{hasComment, select, yes {\n\nرد فريق الأمان:\n{publicComment}} other {}}\n\nلا نشارك تفاصيل أي إجراء يُتخذ بحق حساب شخص آخر، لأنها بياناته الشخصية.\n\nإذا كنت لا توافق على هذا القرار، يمكنك تقديم استئناف مجانًا خلال 60 يومًا. {appeals_email, select, null {تواصل مع مسؤولي هذا المثيل، واذكر معرف بلاغك، واشرح سبب اعتقادك أن القرار غير صحيح.} other {أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا، واذكر معرف بلاغك، واشرح سبب اعتقادك أن القرار غير صحيح.}} إذا كنت في الاتحاد الأوروبي، يمكنك أيضًا إحالة النزاع إلى هيئة معتمدة لتسوية المنازعات خارج المحكمة. لا يؤثر أي من ذلك على حقك في اللجوء إلى القضاء.\n\n– فريق أمان {product_name}" }, "dsa_report_verification": { "subject": "تحقق من بريدك الإلكتروني لتقديم بلاغ DSA", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "تمت إزالة مزايا الهدية التي استرددتها", - "body": "مرحبًا {username}،\n\nدفع شخص آخر في الأصل ثمن رمز الهدية الذي استرددته، وقد تم التراجع عن تلك الدفعة لاحقًا (رد مبلغ مدفوع).\n\nولهذا السبب أزلنا المزايا التي أُضيفت إلى حسابك عند استرداد الهدية.\n\nإذا كنت تعتقد أن هذا خطأ، يرجى الاتصال بفريق الدعم لدينا مع ذكر أي تفاصيل لديك عن رمز الهدية ووقت استردادك له.\n\n– فريق {product_name}" + "body": "مرحبًا {username}،\n\nدفع شخص آخر في الأصل ثمن رمز الهدية الذي استرددته، وقد تم التراجع عن تلك الدفعة لاحقًا (رد مبلغ مدفوع).\n\nولهذا السبب أزلنا المزايا التي أُضيفت إلى حسابك عند استرداد الهدية.\n\n{support_email, select, null {إذا كنت تعتقد أن هذا خطأ، يرجى التواصل مع مسؤولي هذا المثيل مع ذكر أي تفاصيل لديك عن رمز الهدية ووقت استردادك له.} other {إذا كنت تعتقد أن هذا خطأ، يرجى الاتصال بفريق الدعم لدينا مع ذكر أي تفاصيل لديك عن رمز الهدية ووقت استردادك له.}}\n\n– فريق {product_name}" }, "harvest_completed": { "subject": "تصدير بياناتك من {product_name} جاهز للتنزيل", - "body": "مرحبًا {username}،\n\nتصدير بياناتك جاهز.\n\nرابط التنزيل:\n{downloadUrl}\n\nالرسائل المتضمنة: {totalMessages, number}\nحجم الملف: {fileSizeMB, number} ميجابايت\n\nتنتهي صلاحية هذا الرابط في {expiresAt, date, full} الساعة {expiresAt, time, short}.\n\nإذا لم تطلب هذا التصدير، يرجى تغيير كلمة المرور الخاصة بك على الفور والاتصال بفريق الدعم لدينا.\n\n– فريق {product_name}" + "body": "مرحبًا {username}،\n\nتصدير بياناتك جاهز.\n\nرابط التنزيل:\n{downloadUrl}\n\nالرسائل المتضمنة: {totalMessages, number}\nحجم الملف: {fileSizeMB, number} ميجابايت\n\nتنتهي صلاحية هذا الرابط في {expiresAt, date, full} الساعة {expiresAt, time, short}.\n\n{support_email, select, null {إذا لم تطلب هذا التصدير، يرجى تغيير كلمة المرور الخاصة بك على الفور والتواصل مع مسؤولي هذا المثيل.} other {إذا لم تطلب هذا التصدير، يرجى تغيير كلمة المرور الخاصة بك على الفور والاتصال بفريق الدعم لدينا.}}\n\n– فريق {product_name}" }, "inactivity_warning": { "subject": "سيتم حذف حسابك في {product_name} بسبب عدم النشاط", - "body": "مرحبًا {username}،\n\nلم نرَ أي نشاط على حسابك في {product_name} منذ {lastActiveDate, date, full}.\n\nإذا لم تسجل الدخول بحلول {deletionDate, date, full} الساعة {deletionDate, time, short}، فسيتم حذف حسابك نهائيًا بسبب عدم النشاط.\n\nسجل الدخول هنا:\n{loginUrl}\n\nإذا كنت قد استخدمت {product_name} مؤخرًا، يرجى الاتصال بفريق الدعم لدينا على الفور.\n\n– فريق {product_name}" + "body": "مرحبًا {username}،\n\nلم نرَ أي نشاط على حسابك في {product_name} منذ {lastActiveDate, date, full}.\n\nإذا لم تسجل الدخول بحلول {deletionDate, date, full} الساعة {deletionDate, time, short}، فسيتم حذف حسابك نهائيًا بسبب عدم النشاط.\n\nسجل الدخول هنا:\n{loginUrl}\n\n{support_email, select, null {إذا كنت قد استخدمت {product_name} مؤخرًا، يرجى التواصل مع مسؤولي هذا المثيل على الفور.} other {إذا كنت قد استخدمت {product_name} مؤخرًا، يرجى الاتصال بفريق الدعم لدينا على الفور.}}\n\n– فريق {product_name}" }, "ip_authorization": { "subject": "السماح بتسجيل الدخول من عنوان IP جديد", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "تمت مراجعة بلاغك في {product_name}", - "body": "مرحبًا {username}،\n\nتمت مراجعة بلاغك (المعرف: {reportId}) من قبل فريق الأمان لدينا.{hasComment, select, yes {\n\nرد فريق الأمان:\n{publicComment}} other {}}\n\nشكرًا لمساعدتك في الحفاظ على {product_name} آمنًا للجميع. نحن نأخذ جميع البلاغات على محمل الجد ونقدر مساهمتك في المجتمع.\n\nإذا كان لديك أي أسئلة أو مخاوف بشأن هذه النتيجة، يرجى الاتصال بـ{safety_email}.\n\n– فريق أمان {product_name}" + "body": "مرحبًا {username}،\n\nتمت مراجعة بلاغك (المعرف: {reportId}) من قبل فريق الأمان لدينا.{hasComment, select, yes {\n\nرد فريق الأمان:\n{publicComment}} other {}}\n\nشكرًا لمساعدتك في الحفاظ على {product_name} آمنًا للجميع. نحن نأخذ جميع البلاغات على محمل الجد ونقدر مساهمتك في المجتمع.\n\n{safety_email, select, null {إذا كان لديك أي أسئلة أو مخاوف بشأن هذه النتيجة، يرجى التواصل مع مسؤولي هذا المثيل.} other {إذا كان لديك أي أسئلة أو مخاوف بشأن هذه النتيجة، يرجى الاتصال بـ{safety_email}.}}\n\n– فريق أمان {product_name}" }, "scheduled_deletion_notification": { "subject": "سيتم حذف حسابك في {product_name} نهائيًا", - "body": "مرحبًا {username}،\n\nتمت جدولة حسابك في {product_name} للحذف الدائم.\n\nالحذف المجدول: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {السبب: {reason}}\n}\n\nهذا إجراء إنفاذ جاد. سيتم حذف بيانات حسابك نهائيًا في التاريخ المحدد.\n\nإذا كنت تعتقد أن قرار الإنفاذ هذا كان غير صحيح، يمكنك تقديم استئناف. أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا.\n\n– فريق أمان {product_name}" + "body": "مرحبًا {username}،\n\nتمت جدولة حسابك في {product_name} للحذف الدائم.\n\nالحذف المجدول: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {السبب: {reason}}\n}\n\nهذا إجراء إنفاذ جاد. سيتم حذف بيانات حسابك نهائيًا في التاريخ المحدد.\n\nإذا كنت تعتقد أن قرار الإنفاذ هذا كان غير صحيح، يمكنك تقديم استئناف. {appeals_email, select, null {تواصل مع مسؤولي هذا المثيل.} other {أرسل بريدًا إلكترونيًا إلى {appeals_email} من عنوان البريد الإلكتروني هذا.}}\n\n– فريق أمان {product_name}" }, "self_deletion_scheduled": { "subject": "تمت جدولة حذف حسابك في {product_name}", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/bg.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/bg.json index 808a0f07a..e84513ea3 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/bg.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/bg.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Изтриването на акаунта ти във {product_name} е отменено", - "body": "Здравей, {username},\n\nНасроченото изтриване на акаунта ти във {product_name} е отменено. Акаунтът ти няма да бъде изтрит.\n\nАко имаш въпроси, свържи се с {safety_email}.\n\n– Екип на {product_name}" + "body": "Здравей, {username},\n\nНасроченото изтриване на акаунта ти във {product_name} е отменено. Акаунтът ти няма да бъде изтрит.\n\n{safety_email, select, null {Ако имаш въпроси, свържи се с администраторите на тази инстанция.} other {Ако имаш въпроси, свържи се с {safety_email}.}}\n\n– Екип на {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Акаунтът ти във {product_name} ще бъде изтрит поради неактивност", - "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е неактивен от дълго време, затова е насрочен за постоянно изтриване на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nАко искаш да запазиш акаунта си, свържи се с {safety_email} от този имейл адрес преди тази дата.\n\n– Екип на {product_name}" + "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е неактивен от дълго време, затова е насрочен за постоянно изтриване на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\n{safety_email, select, null {Ако искаш да запазиш акаунта си, свържи се с администраторите на тази инстанция преди тази дата.} other {Ако искаш да запазиш акаунта си, свържи се с {safety_email} от този имейл адрес преди тази дата.}}\n\n– Екип на {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Изтриването на акаунта ти във {product_name} е насрочено", - "body": "Здравей, {username},\n\nКакто поиска, акаунтът ти във {product_name} е насрочен за постоянно изтриване на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nДотогава акаунтът ти е заключен. Ако не си поискал това или искаш да запазиш акаунта си, свържи се с {safety_email} от този имейл адрес преди тази дата.\n\n– Екип на {product_name}" + "body": "Здравей, {username},\n\nКакто поиска, акаунтът ти във {product_name} е насрочен за постоянно изтриване на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nДотогава акаунтът ти е заключен. {safety_email, select, null {Ако не си поискал това или искаш да запазиш акаунта си, свържи се с администраторите на тази инстанция преди тази дата.} other {Ако не си поискал това или искаш да запазиш акаунта си, свържи се с {safety_email} от този имейл адрес преди тази дата.}}\n\n– Екип на {product_name}" }, "account_scheduled_deletion": { "subject": "Акаунтът ти във {product_name} ще бъде изтрит за постоянно", - "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е насрочен за постоянно изтриване поради нарушения на нашите Общи условия или Насоки на общността.\n\nНасрочено изтриване: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nТова е сериозна мярка. Данните на акаунта ти ще бъдат изтрити за постоянно на насрочената дата.\n\nПрегледай:\n- Общи условия: {termsUrl}\n- Насоки на общността: {guidelinesUrl}\n\nПроцес на обжалване:\nАко смяташ, че това решение е неправилно или необосновано, имаш 60 дни да подадеш обжалване. Изпрати имейл на {appeals_email} от този имейл адрес.\n\nВ обжалването си:\n- Обясни ясно защо смяташ, че решението е неправилно или необосновано\n- Приложи всички релевантни доказателства или контекст\n\nЧлен на екипа за безопасност на {product_name} ще прегледа обжалването ти и може да спре предстоящото изтриване, докато не бъде взето окончателно решение.\n\n– Екип за безопасност на {product_name}" + "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е насрочен за постоянно изтриване поради нарушения на нашите Общи условия или Насоки на общността.\n\nНасрочено изтриване: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nТова е сериозна мярка. Данните на акаунта ти ще бъдат изтрити за постоянно на насрочената дата.\n\n{legalLinks, select,\n both {Прегледай:\n- Общи условия: {termsUrl}\n- Насоки на общността: {guidelinesUrl}\n\n}\n terms {Прегледай:\n- Общи условия: {termsUrl}\n\n}\n guidelines {Прегледай:\n- Насоки на общността: {guidelinesUrl}\n\n}\n other {}\n}Процес на обжалване:\nАко смяташ, че това решение е неправилно или необосновано, имаш 60 дни да подадеш обжалване. {appeals_email, select, null {Свържи се с администраторите на тази инстанция.} other {Изпрати имейл на {appeals_email} от този имейл адрес.}}\n\nВ обжалването си:\n- Обясни ясно защо смяташ, че решението е неправилно или необосновано\n- Приложи всички релевантни доказателства или контекст\n\nЧлен на екипа за безопасност на {product_name} ще прегледа обжалването ти и може да спре предстоящото изтриване, докато не бъде взето окончателно решение.\n\n– Екип за безопасност на {product_name}" }, "account_temp_banned": { "subject": "Акаунтът ти във {product_name} е временно спрян", - "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е временно спрян поради нарушаване на нашите Общи условия или Насоки на общността.\n\nПродължителност: {durationHours, plural,\n =1 {1 час}\n other {# часа}\n}\nСпрян до: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nПрез това време няма да имаш достъп до акаунта си.\n\nПрегледай:\n- Общи условия: {termsUrl}\n- Насоки на общността: {guidelinesUrl}\n\nАко смяташ, че това решение е неправилно или необосновано, можеш да подадеш обжалване. Изпрати имейл на {appeals_email} от този имейл адрес и ясно обясни защо смяташ, че решението е неправилно. Ще прегледаме обжалването ти и ще ти отговорим с решението си.\n\n– Екип за безопасност на {product_name}" + "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е временно спрян поради нарушаване на нашите Общи условия или Насоки на общността.\n\nПродължителност: {durationHours, plural,\n =1 {1 час}\n other {# часа}\n}\nСпрян до: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nПрез това време няма да имаш достъп до акаунта си.\n\n{legalLinks, select,\n both {Прегледай:\n- Общи условия: {termsUrl}\n- Насоки на общността: {guidelinesUrl}\n\n}\n terms {Прегледай:\n- Общи условия: {termsUrl}\n\n}\n guidelines {Прегледай:\n- Насоки на общността: {guidelinesUrl}\n\n}\n other {}\n}Ако смяташ, че това решение е неправилно или необосновано, можеш да подадеш обжалване. {appeals_email, select, null {Свържи се с администраторите на тази инстанция и ясно обясни защо смяташ, че решението е неправилно.} other {Изпрати имейл на {appeals_email} от този имейл адрес и ясно обясни защо смяташ, че решението е неправилно.}} Ще прегледаме обжалването ти и ще ти отговорим с решението си.\n\n– Екип за безопасност на {product_name}" }, "donation_confirmation": { "subject": "Благодарим ти за дарението към {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Взехме решение по сигнала ти във {product_name}", - "body": "Здравей,\n\nНашият екип за безопасност прегледа сигнала ти по Закона за цифровите услуги (ID: {reportId}) и взе решение.{hasComment, select, yes {\n\nОтговор от екипа за безопасност:\n{publicComment}} other {}}\n\nНе споделяме подробности за действия, предприети срещу акаунта на друг човек, защото това са негови лични данни.\n\nАко не си съгласен с това решение, можеш да го обжалваш безплатно в срок от 60 дни. Изпрати имейл на {appeals_email} от този имейл адрес, посочи ID на сигнала си и обясни защо смяташ, че решението е неправилно. Ако се намираш в ЕС, можеш също да отнесеш спора към сертифициран орган за извънсъдебно решаване на спорове. Нищо от това не засяга правото ти да се обърнеш към съда.\n\n– Екип за безопасност на {product_name}" + "body": "Здравей,\n\nНашият екип за безопасност прегледа сигнала ти по Закона за цифровите услуги (ID: {reportId}) и взе решение.{hasComment, select, yes {\n\nОтговор от екипа за безопасност:\n{publicComment}} other {}}\n\nНе споделяме подробности за действия, предприети срещу акаунта на друг човек, защото това са негови лични данни.\n\nАко не си съгласен с това решение, можеш да го обжалваш безплатно в срок от 60 дни. {appeals_email, select, null {Свържи се с администраторите на тази инстанция, посочи ID на сигнала си и обясни защо смяташ, че решението е неправилно.} other {Изпрати имейл на {appeals_email} от този имейл адрес, посочи ID на сигнала си и обясни защо смяташ, че решението е неправилно.}} Ако се намираш в ЕС, можеш също да отнесеш спора към сертифициран орган за извънсъдебно решаване на спорове. Нищо от това не засяга правото ти да се обърнеш към съда.\n\n– Екип за безопасност на {product_name}" }, "dsa_report_verification": { "subject": "Потвърди имейла си за сигнал по DSA", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Предимствата от осребрения ти подарък са премахнати", - "body": "Здравей, {username},\n\nКод за подарък, който си осребрил, първоначално е бил платен от някой друг. Оттогава плащането е върнато чрез оспорване на трансакция.\n\nПоради това премахнахме предимствата, които бяха добавени към акаунта ти, когато осребри подаръка.\n\nАко смяташ, че това е грешка, свържи се с нашия екип за поддръжка и посочи всички подробности, които имаш за кода за подарък и кога си го осребрил.\n\n– Екип на {product_name}" + "body": "Здравей, {username},\n\nКод за подарък, който си осребрил, първоначално е бил платен от някой друг. Оттогава плащането е върнато чрез оспорване на трансакция.\n\nПоради това премахнахме предимствата, които бяха добавени към акаунта ти, когато осребри подаръка.\n\n{support_email, select, null {Ако смяташ, че това е грешка, свържи се с администраторите на тази инстанция и посочи всички подробности, които имаш за кода за подарък и кога си го осребрил.} other {Ако смяташ, че това е грешка, свържи се с нашия екип за поддръжка и посочи всички подробности, които имаш за кода за подарък и кога си го осребрил.}}\n\n– Екип на {product_name}" }, "harvest_completed": { "subject": "Експортът на данните ти от {product_name} е готов за изтегляне", - "body": "Здравей, {username},\n\nЕкспортът на данните ти е готов.\n\nЛинк за изтегляне:\n{downloadUrl}\n\nВключени съобщения: {totalMessages, number}\nРазмер на файла: {fileSizeMB, number} MB\n\nТози линк изтича на {expiresAt, date, full} в {expiresAt, time, short}.\n\nАко не си поискал този експорт, смени паролата си незабавно и се свържи с нашия екип за поддръжка.\n\n– Екип на {product_name}" + "body": "Здравей, {username},\n\nЕкспортът на данните ти е готов.\n\nЛинк за изтегляне:\n{downloadUrl}\n\nВключени съобщения: {totalMessages, number}\nРазмер на файла: {fileSizeMB, number} MB\n\nТози линк изтича на {expiresAt, date, full} в {expiresAt, time, short}.\n\n{support_email, select, null {Ако не си поискал този експорт, смени паролата си незабавно и се свържи с администраторите на тази инстанция.} other {Ако не си поискал този експорт, смени паролата си незабавно и се свържи с нашия екип за поддръжка.}}\n\n– Екип на {product_name}" }, "inactivity_warning": { "subject": "Акаунтът ти във {product_name} ще бъде изтрит поради неактивност", - "body": "Здравей, {username},\n\nНе сме забелязали активност в акаунта ти във {product_name} от {lastActiveDate, date, full}.\n\nАко не влезеш до {deletionDate, date, full} в {deletionDate, time, short}, акаунтът ти ще бъде изтрит за постоянно поради неактивност.\n\nВлез тук:\n{loginUrl}\n\nАко си използвал {product_name} наскоро, свържи се с нашия екип за поддръжка незабавно.\n\n– Екип на {product_name}" + "body": "Здравей, {username},\n\nНе сме забелязали активност в акаунта ти във {product_name} от {lastActiveDate, date, full}.\n\nАко не влезеш до {deletionDate, date, full} в {deletionDate, time, short}, акаунтът ти ще бъде изтрит за постоянно поради неактивност.\n\nВлез тук:\n{loginUrl}\n\n{support_email, select, null {Ако си използвал {product_name} наскоро, свържи се с администраторите на тази инстанция незабавно.} other {Ако си използвал {product_name} наскоро, свържи се с нашия екип за поддръжка незабавно.}}\n\n– Екип на {product_name}" }, "ip_authorization": { "subject": "Разреши влизане от нов IP адрес", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Сигналът ти във {product_name} е прегледан", - "body": "Здравей, {username},\n\nСигналът ти (ID: {reportId}) е прегледан от нашия екип за безопасност.{hasComment, select, yes {\n\nОтговор от екипа за безопасност:\n{publicComment}} other {}}\n\nБлагодарим ти, че помагаш на {product_name} да остане безопасно място за всички. Приемаме всички сигнали сериозно и ценим приноса ти към общността.\n\nАко имаш въпроси или притеснения относно този резултат, свържи се с {safety_email}.\n\n– Екип за безопасност на {product_name}" + "body": "Здравей, {username},\n\nСигналът ти (ID: {reportId}) е прегледан от нашия екип за безопасност.{hasComment, select, yes {\n\nОтговор от екипа за безопасност:\n{publicComment}} other {}}\n\nБлагодарим ти, че помагаш на {product_name} да остане безопасно място за всички. Приемаме всички сигнали сериозно и ценим приноса ти към общността.\n\n{safety_email, select, null {Ако имаш въпроси или притеснения относно този резултат, свържи се с администраторите на тази инстанция.} other {Ако имаш въпроси или притеснения относно този резултат, свържи се с {safety_email}.}}\n\n– Екип за безопасност на {product_name}" }, "scheduled_deletion_notification": { "subject": "Акаунтът ти във {product_name} ще бъде изтрит за постоянно", - "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е насрочен за постоянно изтриване.\n\nНасрочено изтриване: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nТова е сериозна мярка. Данните на акаунта ти ще бъдат изтрити за постоянно на насрочената дата.\n\nАко смяташ, че това решение е неправилно, можеш да подадеш обжалване. Изпрати имейл на {appeals_email} от този имейл адрес.\n\n– Екип за безопасност на {product_name}" + "body": "Здравей, {username},\n\nАкаунтът ти във {product_name} е насрочен за постоянно изтриване.\n\nНасрочено изтриване: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nТова е сериозна мярка. Данните на акаунта ти ще бъдат изтрити за постоянно на насрочената дата.\n\nАко смяташ, че това решение е неправилно, можеш да подадеш обжалване. {appeals_email, select, null {Свържи се с администраторите на тази инстанция.} other {Изпрати имейл на {appeals_email} от този имейл адрес.}}\n\n– Екип за безопасност на {product_name}" }, "self_deletion_scheduled": { "subject": "Изтриването на акаунта ти във {product_name} е насрочено", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/cs.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/cs.json index 8cc12004c..3181ef6b8 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/cs.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/cs.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Smazání vašeho účtu {product_name} bylo zrušeno", - "body": "Dobrý den, {username},\n\nNaplánované smazání vašeho účtu {product_name} bylo zrušeno. Váš účet nebude smazán.\n\nMáte-li jakékoli dotazy, kontaktujte {safety_email}.\n\n– Tým {product_name}" + "body": "Dobrý den, {username},\n\nNaplánované smazání vašeho účtu {product_name} bylo zrušeno. Váš účet nebude smazán.\n\n{safety_email, select, null {Máte-li jakékoli dotazy, kontaktujte správce této instance.} other {Máte-li jakékoli dotazy, kontaktujte {safety_email}.}}\n\n– Tým {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Váš účet {product_name} bude smazán kvůli neaktivitě", - "body": "Dobrý den, {username},\n\nVáš účet {product_name} byl dlouho neaktivní, a proto je jeho trvalé smazání naplánováno na:\n\n{deletionDate, date, full} v {deletionDate, time, short}{reason, select, null {} other {\n\nDůvod: {reason}}}\n\nPokud si chcete účet ponechat, kontaktujte před tímto datem {safety_email} z této e-mailové adresy.\n\n– Tým {product_name}" + "body": "Dobrý den, {username},\n\nVáš účet {product_name} byl dlouho neaktivní, a proto je jeho trvalé smazání naplánováno na:\n\n{deletionDate, date, full} v {deletionDate, time, short}{reason, select, null {} other {\n\nDůvod: {reason}}}\n\n{safety_email, select, null {Pokud si chcete účet ponechat, kontaktujte před tímto datem správce této instance.} other {Pokud si chcete účet ponechat, kontaktujte před tímto datem {safety_email} z této e-mailové adresy.}}\n\n– Tým {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Smazání vašeho účtu {product_name} je naplánováno", - "body": "Dobrý den, {username},\n\nNa vaši žádost je trvalé smazání vašeho účtu {product_name} naplánováno na:\n\n{deletionDate, date, full} v {deletionDate, time, short}{reason, select, null {} other {\n\nDůvod: {reason}}}\n\nDo té doby je váš účet uzamčen. Pokud jste o smazání nežádali nebo si chcete účet ponechat, kontaktujte před tímto datem {safety_email} z této e-mailové adresy.\n\n– Tým {product_name}" + "body": "Dobrý den, {username},\n\nNa vaši žádost je trvalé smazání vašeho účtu {product_name} naplánováno na:\n\n{deletionDate, date, full} v {deletionDate, time, short}{reason, select, null {} other {\n\nDůvod: {reason}}}\n\nDo té doby je váš účet uzamčen. {safety_email, select, null {Pokud jste o smazání nežádali nebo si chcete účet ponechat, kontaktujte před tímto datem správce této instance.} other {Pokud jste o smazání nežádali nebo si chcete účet ponechat, kontaktujte před tímto datem {safety_email} z této e-mailové adresy.}}\n\n– Tým {product_name}" }, "account_scheduled_deletion": { "subject": "Váš účet {product_name} bude trvale smazán", - "body": "Dobrý den, {username},\n\nKvůli porušení našich podmínek služby nebo komunitních pravidel bylo naplánováno trvalé smazání vašeho účtu {product_name}.\n\nNaplánované smazání: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Důvod: {reason}}\n}\n\nJedná se o závažné opatření. Data vašeho účtu budou v naplánovaný den trvale smazána.\n\nPřečtěte si:\n- Podmínky služby: {termsUrl}\n- Komunitní pravidla: {guidelinesUrl}\n\nPostup odvolání:\nPokud se domníváte, že toto rozhodnutí bylo nesprávné nebo neopodstatněné, máte 60 dní na podání odvolání. Pošlete e-mail na {appeals_email} z této e-mailové adresy.\n\nV odvolání:\n- Jasně vysvětlete, proč se domníváte, že rozhodnutí bylo nesprávné nebo neopodstatněné\n- Uveďte všechny relevantní důkazy a souvislosti\n\nČlen bezpečnostního týmu {product_name} vaše odvolání přezkoumá a může pozastavit plánované smazání, dokud nepadne konečné rozhodnutí.\n\n– Bezpečnostní tým {product_name}" + "body": "Dobrý den, {username},\n\nKvůli porušení našich podmínek služby nebo komunitních pravidel bylo naplánováno trvalé smazání vašeho účtu {product_name}.\n\nNaplánované smazání: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Důvod: {reason}}\n}\n\nJedná se o závažné opatření. Data vašeho účtu budou v naplánovaný den trvale smazána.\n\n{legalLinks, select,\n both {Přečtěte si:\n- Podmínky služby: {termsUrl}\n- Komunitní pravidla: {guidelinesUrl}\n\n}\n terms {Přečtěte si:\n- Podmínky služby: {termsUrl}\n\n}\n guidelines {Přečtěte si:\n- Komunitní pravidla: {guidelinesUrl}\n\n}\n other {}\n}Postup odvolání:\nPokud se domníváte, že toto rozhodnutí bylo nesprávné nebo neopodstatněné, máte 60 dní na podání odvolání. {appeals_email, select, null {Kontaktujte správce této instance.} other {Pošlete e-mail na {appeals_email} z této e-mailové adresy.}}\n\nV odvolání:\n- Jasně vysvětlete, proč se domníváte, že rozhodnutí bylo nesprávné nebo neopodstatněné\n- Uveďte všechny relevantní důkazy a souvislosti\n\nČlen bezpečnostního týmu {product_name} vaše odvolání přezkoumá a může pozastavit plánované smazání, dokud nepadne konečné rozhodnutí.\n\n– Bezpečnostní tým {product_name}" }, "account_temp_banned": { "subject": "Váš účet {product_name} byl dočasně pozastaven", - "body": "Dobrý den, {username},\n\nVáš účet {product_name} byl dočasně pozastaven kvůli porušení našich podmínek služby nebo komunitních pravidel.\n\nDoba trvání: {durationHours, plural,\n one {# hodina}\n few {# hodiny}\n many {# hodiny}\n other {# hodin}\n}\nPozastaven do: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Důvod: {reason}}\n}\n\nBěhem této doby nebudete mít přístup ke svému účtu.\n\nPřečtěte si:\n- Podmínky služby: {termsUrl}\n- Komunitní pravidla: {guidelinesUrl}\n\nPokud se domníváte, že toto rozhodnutí bylo nesprávné nebo neopodstatněné, můžete podat odvolání. Pošlete e-mail na {appeals_email} z této e-mailové adresy a jasně vysvětlete, proč považujete rozhodnutí za nesprávné. Vaše odvolání přezkoumáme a sdělíme vám své rozhodnutí.\n\n– Bezpečnostní tým {product_name}" + "body": "Dobrý den, {username},\n\nVáš účet {product_name} byl dočasně pozastaven kvůli porušení našich podmínek služby nebo komunitních pravidel.\n\nDoba trvání: {durationHours, plural,\n one {# hodina}\n few {# hodiny}\n many {# hodiny}\n other {# hodin}\n}\nPozastaven do: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Důvod: {reason}}\n}\n\nBěhem této doby nebudete mít přístup ke svému účtu.\n\n{legalLinks, select,\n both {Přečtěte si:\n- Podmínky služby: {termsUrl}\n- Komunitní pravidla: {guidelinesUrl}\n\n}\n terms {Přečtěte si:\n- Podmínky služby: {termsUrl}\n\n}\n guidelines {Přečtěte si:\n- Komunitní pravidla: {guidelinesUrl}\n\n}\n other {}\n}Pokud se domníváte, že toto rozhodnutí bylo nesprávné nebo neopodstatněné, můžete podat odvolání. {appeals_email, select, null {Kontaktujte správce této instance a jasně vysvětlete, proč považujete rozhodnutí za nesprávné.} other {Pošlete e-mail na {appeals_email} z této e-mailové adresy a jasně vysvětlete, proč považujete rozhodnutí za nesprávné.}} Vaše odvolání přezkoumáme a sdělíme vám své rozhodnutí.\n\n– Bezpečnostní tým {product_name}" }, "donation_confirmation": { "subject": "Děkujeme za váš dar pro {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Rozhodli jsme o vašem nahlášení na {product_name}", - "body": "Dobrý den,\n\nNáš bezpečnostní tým přezkoumal vaše nahlášení podle nařízení o digitálních službách (ID: {reportId}) a rozhodl o něm.{hasComment, select, yes {\n\nOdpověď bezpečnostního týmu:\n{publicComment}} other {}}\n\nPodrobnosti o opatřeních přijatých vůči účtu jiné osoby nesdělujeme, protože jde o její osobní údaje.\n\nPokud s tímto rozhodnutím nesouhlasíte, můžete se do 60 dnů bezplatně odvolat. Pošlete e-mail na {appeals_email} z této e-mailové adresy, uveďte ID svého nahlášení a vysvětlete, proč považujete rozhodnutí za nesprávné. Pokud jste v EU, můžete spor také předložit certifikovanému subjektu pro mimosoudní řešení sporů. Nic z toho nemá vliv na vaše právo obrátit se na soud.\n\n– Bezpečnostní tým {product_name}" + "body": "Dobrý den,\n\nNáš bezpečnostní tým přezkoumal vaše nahlášení podle nařízení o digitálních službách (ID: {reportId}) a rozhodl o něm.{hasComment, select, yes {\n\nOdpověď bezpečnostního týmu:\n{publicComment}} other {}}\n\nPodrobnosti o opatřeních přijatých vůči účtu jiné osoby nesdělujeme, protože jde o její osobní údaje.\n\nPokud s tímto rozhodnutím nesouhlasíte, můžete se do 60 dnů bezplatně odvolat. {appeals_email, select, null {Kontaktujte správce této instance, uveďte ID svého nahlášení a vysvětlete, proč považujete rozhodnutí za nesprávné.} other {Pošlete e-mail na {appeals_email} z této e-mailové adresy, uveďte ID svého nahlášení a vysvětlete, proč považujete rozhodnutí za nesprávné.}} Pokud jste v EU, můžete spor také předložit certifikovanému subjektu pro mimosoudní řešení sporů. Nic z toho nemá vliv na vaše právo obrátit se na soud.\n\n– Bezpečnostní tým {product_name}" }, "dsa_report_verification": { "subject": "Ověřte svůj e-mail pro nahlášení podle DSA", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Výhody z uplatněného dárku byly odstraněny", - "body": "Dobrý den, {username},\n\nDárkový kód, který jste uplatnili, původně zaplatil někdo jiný. Tato platba byla následně vrácena na základě reklamace (chargeback).\n\nProto jsme odebrali výhody, které váš účet získal při uplatnění dárku.\n\nPokud se domníváte, že jde o chybu, kontaktujte náš tým podpory a uveďte všechny dostupné podrobnosti o dárkovém kódu a o tom, kdy jste ho uplatnili.\n\n– Tým {product_name}" + "body": "Dobrý den, {username},\n\nDárkový kód, který jste uplatnili, původně zaplatil někdo jiný. Tato platba byla následně vrácena na základě reklamace (chargeback).\n\nProto jsme odebrali výhody, které váš účet získal při uplatnění dárku.\n\n{support_email, select, null {Pokud se domníváte, že jde o chybu, kontaktujte správce této instance a uveďte všechny dostupné podrobnosti o dárkovém kódu a o tom, kdy jste ho uplatnili.} other {Pokud se domníváte, že jde o chybu, kontaktujte náš tým podpory a uveďte všechny dostupné podrobnosti o dárkovém kódu a o tom, kdy jste ho uplatnili.}}\n\n– Tým {product_name}" }, "harvest_completed": { "subject": "Export vašich dat z {product_name} je připraven ke stažení", - "body": "Dobrý den, {username},\n\nExport vašich dat je připraven.\n\nOdkaz ke stažení:\n{downloadUrl}\n\nPočet zahrnutých zpráv: {totalMessages, number}\nVelikost souboru: {fileSizeMB, number} MB\n\nPlatnost tohoto odkazu vyprší dne {expiresAt, date, full} v {expiresAt, time, short}.\n\nPokud jste si tento export nevyžádali, okamžitě si změňte heslo a kontaktujte náš tým podpory.\n\n– Tým {product_name}" + "body": "Dobrý den, {username},\n\nExport vašich dat je připraven.\n\nOdkaz ke stažení:\n{downloadUrl}\n\nPočet zahrnutých zpráv: {totalMessages, number}\nVelikost souboru: {fileSizeMB, number} MB\n\nPlatnost tohoto odkazu vyprší dne {expiresAt, date, full} v {expiresAt, time, short}.\n\n{support_email, select, null {Pokud jste si tento export nevyžádali, okamžitě si změňte heslo a kontaktujte správce této instance.} other {Pokud jste si tento export nevyžádali, okamžitě si změňte heslo a kontaktujte náš tým podpory.}}\n\n– Tým {product_name}" }, "inactivity_warning": { "subject": "Váš účet {product_name} bude smazán kvůli neaktivitě", - "body": "Dobrý den, {username},\n\nOd {lastActiveDate, date, full} jsme na vašem účtu {product_name} nezaznamenali žádnou aktivitu.\n\nPokud se nepřihlásíte do {deletionDate, date, full} v {deletionDate, time, short}, váš účet bude kvůli neaktivitě trvale smazán.\n\nPřihlaste se zde:\n{loginUrl}\n\nPokud jste {product_name} v poslední době používali, ihned kontaktujte náš tým podpory.\n\n– Tým {product_name}" + "body": "Dobrý den, {username},\n\nOd {lastActiveDate, date, full} jsme na vašem účtu {product_name} nezaznamenali žádnou aktivitu.\n\nPokud se nepřihlásíte do {deletionDate, date, full} v {deletionDate, time, short}, váš účet bude kvůli neaktivitě trvale smazán.\n\nPřihlaste se zde:\n{loginUrl}\n\n{support_email, select, null {Pokud jste {product_name} v poslední době používali, ihned kontaktujte správce této instance.} other {Pokud jste {product_name} v poslední době používali, ihned kontaktujte náš tým podpory.}}\n\n– Tým {product_name}" }, "ip_authorization": { "subject": "Povolit přihlášení z nové IP adresy", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Vaše nahlášení na {product_name} bylo přezkoumáno", - "body": "Dobrý den, {username},\n\nNáš bezpečnostní tým přezkoumal vaše nahlášení (ID: {reportId}).{hasComment, select, yes {\n\nOdpověď bezpečnostního týmu:\n{publicComment}} other {}}\n\nDěkujeme, že pomáháte udržovat {product_name} bezpečný pro všechny. Všechna nahlášení bereme vážně a vážíme si vašeho přínosu komunitě.\n\nPokud máte k tomuto výsledku jakékoli dotazy nebo výhrady, kontaktujte {safety_email}.\n\n– Bezpečnostní tým {product_name}" + "body": "Dobrý den, {username},\n\nNáš bezpečnostní tým přezkoumal vaše nahlášení (ID: {reportId}).{hasComment, select, yes {\n\nOdpověď bezpečnostního týmu:\n{publicComment}} other {}}\n\nDěkujeme, že pomáháte udržovat {product_name} bezpečný pro všechny. Všechna nahlášení bereme vážně a vážíme si vašeho přínosu komunitě.\n\n{safety_email, select, null {Pokud máte k tomuto výsledku jakékoli dotazy nebo výhrady, kontaktujte správce této instance.} other {Pokud máte k tomuto výsledku jakékoli dotazy nebo výhrady, kontaktujte {safety_email}.}}\n\n– Bezpečnostní tým {product_name}" }, "scheduled_deletion_notification": { "subject": "Váš účet {product_name} bude trvale smazán", - "body": "Dobrý den, {username},\n\nBylo naplánováno trvalé smazání vašeho účtu {product_name}.\n\nNaplánované smazání: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Důvod: {reason}}\n}\n\nJedná se o závažné opatření. Data vašeho účtu budou v naplánovaný den trvale smazána.\n\nPokud se domníváte, že toto rozhodnutí bylo nesprávné, můžete podat odvolání. Pošlete e-mail na {appeals_email} z této e-mailové adresy.\n\n– Bezpečnostní tým {product_name}" + "body": "Dobrý den, {username},\n\nBylo naplánováno trvalé smazání vašeho účtu {product_name}.\n\nNaplánované smazání: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Důvod: {reason}}\n}\n\nJedná se o závažné opatření. Data vašeho účtu budou v naplánovaný den trvale smazána.\n\nPokud se domníváte, že toto rozhodnutí bylo nesprávné, můžete podat odvolání. {appeals_email, select, null {Kontaktujte správce této instance.} other {Pošlete e-mail na {appeals_email} z této e-mailové adresy.}}\n\n– Bezpečnostní tým {product_name}" }, "self_deletion_scheduled": { "subject": "Smazání vašeho účtu {product_name} je naplánováno", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/da.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/da.json index ffa7d3ad6..75fd2e7dd 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/da.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/da.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Sletningen af din {product_name}-konto er annulleret", - "body": "Hej {username},\n\nDen planlagte sletning af din {product_name}-konto er annulleret. Din konto bliver ikke slettet.\n\nHvis du har spørgsmål, kan du kontakte {safety_email}.\n\n– Teamet bag {product_name}" + "body": "Hej {username},\n\nDen planlagte sletning af din {product_name}-konto er annulleret. Din konto bliver ikke slettet.\n\n{safety_email, select, null {Hvis du har spørgsmål, kan du kontakte administratorerne af denne instans.} other {Hvis du har spørgsmål, kan du kontakte {safety_email}.}}\n\n– Teamet bag {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Din {product_name}-konto slettes på grund af inaktivitet", - "body": "Hej {username},\n\nDin {product_name}-konto har været inaktiv i lang tid, så den slettes permanent den:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsag: {reason}}}\n\nHvis du vil beholde din konto, skal du kontakte {safety_email} fra denne e-mailadresse inden denne dato.\n\n– Teamet bag {product_name}" + "body": "Hej {username},\n\nDin {product_name}-konto har været inaktiv i lang tid, så den slettes permanent den:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsag: {reason}}}\n\n{safety_email, select, null {Hvis du vil beholde din konto, skal du kontakte administratorerne af denne instans inden denne dato.} other {Hvis du vil beholde din konto, skal du kontakte {safety_email} fra denne e-mailadresse inden denne dato.}}\n\n– Teamet bag {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Sletningen af din {product_name}-konto er planlagt", - "body": "Hej {username},\n\nSom du har anmodet om, slettes din {product_name}-konto permanent den:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsag: {reason}}}\n\nDin konto er låst indtil da. Hvis du ikke har anmodet om dette, eller hvis du vil beholde din konto, skal du kontakte {safety_email} fra denne e-mailadresse inden denne dato.\n\n– Teamet bag {product_name}" + "body": "Hej {username},\n\nSom du har anmodet om, slettes din {product_name}-konto permanent den:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsag: {reason}}}\n\nDin konto er låst indtil da. {safety_email, select, null {Hvis du ikke har anmodet om dette, eller hvis du vil beholde din konto, skal du kontakte administratorerne af denne instans inden denne dato.} other {Hvis du ikke har anmodet om dette, eller hvis du vil beholde din konto, skal du kontakte {safety_email} fra denne e-mailadresse inden denne dato.}}\n\n– Teamet bag {product_name}" }, "account_scheduled_deletion": { "subject": "Din {product_name}-konto slettes permanent", - "body": "Hej {username},\n\nVi har planlagt at slette din {product_name}-konto permanent på grund af overtrædelser af vores servicevilkår eller retningslinjer for fællesskabet.\n\nPlanlagt sletning: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsag: {reason}}\n}\n\nDette er en alvorlig sanktion. Dine kontodata bliver permanent slettet på den planlagte dato.\n\nGennemgå:\n- Servicevilkår: {termsUrl}\n- Retningslinjer for fællesskabet: {guidelinesUrl}\n\nKlageproces:\nHvis du mener, at denne beslutning om sanktioner var forkert eller uberettiget, har du 60 dage til at indsende en klage. Send en e-mail til {appeals_email} fra denne e-mailadresse.\n\nI din klage:\n- Forklar tydeligt, hvorfor du mener, at beslutning om sanktioneren var forkert eller uberettiget\n- Fremlæg relevant dokumentation eller kontekst\n\nEt medlem af sikkerhedsteamet hos {product_name} vil gennemgå din klage og kan sætte den afventende sletning på pause, indtil en endelig beslutning er truffet.\n\n– Sikkerhedsteamet hos {product_name}" + "body": "Hej {username},\n\nVi har planlagt at slette din {product_name}-konto permanent på grund af overtrædelser af vores servicevilkår eller retningslinjer for fællesskabet.\n\nPlanlagt sletning: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsag: {reason}}\n}\n\nDette er en alvorlig sanktion. Dine kontodata bliver permanent slettet på den planlagte dato.\n\n{legalLinks, select,\n both {Gennemgå:\n- Servicevilkår: {termsUrl}\n- Retningslinjer for fællesskabet: {guidelinesUrl}\n\n}\n terms {Gennemgå:\n- Servicevilkår: {termsUrl}\n\n}\n guidelines {Gennemgå:\n- Retningslinjer for fællesskabet: {guidelinesUrl}\n\n}\n other {}\n}Klageproces:\nHvis du mener, at denne beslutning om sanktioner var forkert eller uberettiget, har du 60 dage til at indsende en klage. {appeals_email, select, null {Kontakt administratorerne af denne instans.} other {Send en e-mail til {appeals_email} fra denne e-mailadresse.}}\n\nI din klage:\n- Forklar tydeligt, hvorfor du mener, at beslutning om sanktioneren var forkert eller uberettiget\n- Fremlæg relevant dokumentation eller kontekst\n\nEt medlem af sikkerhedsteamet hos {product_name} vil gennemgå din klage og kan sætte den afventende sletning på pause, indtil en endelig beslutning er truffet.\n\n– Sikkerhedsteamet hos {product_name}" }, "account_temp_banned": { "subject": "Din {product_name}-konto er midlertidigt suspenderet", - "body": "Hej {username},\n\nDin {product_name}-konto er midlertidigt suspenderet på grund af overtrædelser af vores servicevilkår eller retningslinjer for fællesskabet.\n\nVarighed: {durationHours, plural,\n =1 {1 time}\n other {# timer}\n}\nSuspenderet indtil: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Årsag: {reason}}\n}\n\nI denne periode vil du ikke kunne få adgang til din konto.\n\nGennemgå:\n- Servicevilkår: {termsUrl}\n- Retningslinjer for fællesskabet: {guidelinesUrl}\n\nHvis du mener, at denne beslutning om sanktioner var forkert eller uberettiget, kan du indsende en klage. Send en e-mail til {appeals_email} fra denne e-mailadresse og forklar tydeligt, hvorfor du mener, at beslutningen var forkert. Vi gennemgår din klage og giver dig besked om vores afgørelse.\n\n– Sikkerhedsteamet hos {product_name}" + "body": "Hej {username},\n\nDin {product_name}-konto er midlertidigt suspenderet på grund af overtrædelser af vores servicevilkår eller retningslinjer for fællesskabet.\n\nVarighed: {durationHours, plural,\n =1 {1 time}\n other {# timer}\n}\nSuspenderet indtil: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Årsag: {reason}}\n}\n\nI denne periode vil du ikke kunne få adgang til din konto.\n\n{legalLinks, select,\n both {Gennemgå:\n- Servicevilkår: {termsUrl}\n- Retningslinjer for fællesskabet: {guidelinesUrl}\n\n}\n terms {Gennemgå:\n- Servicevilkår: {termsUrl}\n\n}\n guidelines {Gennemgå:\n- Retningslinjer for fællesskabet: {guidelinesUrl}\n\n}\n other {}\n}Hvis du mener, at denne beslutning om sanktioner var forkert eller uberettiget, kan du indsende en klage. {appeals_email, select, null {Kontakt administratorerne af denne instans og forklar tydeligt, hvorfor du mener, at beslutningen var forkert.} other {Send en e-mail til {appeals_email} fra denne e-mailadresse og forklar tydeligt, hvorfor du mener, at beslutningen var forkert.}} Vi gennemgår din klage og giver dig besked om vores afgørelse.\n\n– Sikkerhedsteamet hos {product_name}" }, "donation_confirmation": { "subject": "Tak for din {product_name}-donation", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Vi har truffet en afgørelse om din anmeldelse på {product_name}", - "body": "Hej,\n\nVores sikkerhedsteam har behandlet din anmeldelse i henhold til Digital Services Act (ID: {reportId}) og truffet en afgørelse.{hasComment, select, yes {\n\nSvar fra sikkerhedsteamet:\n{publicComment}} other {}}\n\nVi deler ikke oplysninger om tiltag mod en anden persons konto, fordi det er den persons personoplysninger.\n\nHvis du er uenig i afgørelsen, kan du klage gratis inden for 60 dage. Send en e-mail til {appeals_email} fra denne e-mailadresse, oplys dit anmeldelses-ID, og forklar, hvorfor du mener, at afgørelsen er forkert. Hvis du befinder dig i EU, kan du også indbringe tvisten for et certificeret organ for udenretslig tvistbilæggelse. Intet af dette påvirker din ret til at gå til domstolene.\n\n– Sikkerhedsteamet hos {product_name}" + "body": "Hej,\n\nVores sikkerhedsteam har behandlet din anmeldelse i henhold til Digital Services Act (ID: {reportId}) og truffet en afgørelse.{hasComment, select, yes {\n\nSvar fra sikkerhedsteamet:\n{publicComment}} other {}}\n\nVi deler ikke oplysninger om tiltag mod en anden persons konto, fordi det er den persons personoplysninger.\n\nHvis du er uenig i afgørelsen, kan du klage gratis inden for 60 dage. {appeals_email, select, null {Kontakt administratorerne af denne instans, oplys dit anmeldelses-ID, og forklar, hvorfor du mener, at afgørelsen er forkert.} other {Send en e-mail til {appeals_email} fra denne e-mailadresse, oplys dit anmeldelses-ID, og forklar, hvorfor du mener, at afgørelsen er forkert.}} Hvis du befinder dig i EU, kan du også indbringe tvisten for et certificeret organ for udenretslig tvistbilæggelse. Intet af dette påvirker din ret til at gå til domstolene.\n\n– Sikkerhedsteamet hos {product_name}" }, "dsa_report_verification": { "subject": "Bekræft din e-mailadresse til en DSA-anmeldelse", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Fordele fra din indløste gave er fjernet", - "body": "Hej {username},\n\nEn gavekode, du indløste, blev oprindeligt betalt af en anden. Den betaling er siden annulleret (en tilbageførsel).\n\nDerfor har vi fjernet de fordele, der blev tilføjet din konto, da du indløste gaven.\n\nHvis du mener, at dette er en fejl, kan du kontakte vores supportteam og oplyse alle detaljer, du har om gavekoden, og hvornår du indløste den.\n\n– Teamet bag {product_name}" + "body": "Hej {username},\n\nEn gavekode, du indløste, blev oprindeligt betalt af en anden. Den betaling er siden annulleret (en tilbageførsel).\n\nDerfor har vi fjernet de fordele, der blev tilføjet din konto, da du indløste gaven.\n\n{support_email, select, null {Hvis du mener, at dette er en fejl, kan du kontakte administratorerne af denne instans og oplyse alle detaljer, du har om gavekoden, og hvornår du indløste den.} other {Hvis du mener, at dette er en fejl, kan du kontakte vores supportteam og oplyse alle detaljer, du har om gavekoden, og hvornår du indløste den.}}\n\n– Teamet bag {product_name}" }, "harvest_completed": { "subject": "Din dataeksport fra {product_name} er klar til download", - "body": "Hej {username},\n\nDin dataeksport er klar.\n\nDownload-link:\n{downloadUrl}\n\nAntal beskeder: {totalMessages, number}\nFilstørrelse: {fileSizeMB, number} MB\n\nDette link udløber den {expiresAt, date, full} kl. {expiresAt, time, short}.\n\nHvis du ikke har anmodet om denne eksport, skal du straks ændre din adgangskode og kontakte vores supportteam.\n\n– Teamet bag {product_name}" + "body": "Hej {username},\n\nDin dataeksport er klar.\n\nDownload-link:\n{downloadUrl}\n\nAntal beskeder: {totalMessages, number}\nFilstørrelse: {fileSizeMB, number} MB\n\nDette link udløber den {expiresAt, date, full} kl. {expiresAt, time, short}.\n\n{support_email, select, null {Hvis du ikke har anmodet om denne eksport, skal du straks ændre din adgangskode og kontakte administratorerne af denne instans.} other {Hvis du ikke har anmodet om denne eksport, skal du straks ændre din adgangskode og kontakte vores supportteam.}}\n\n– Teamet bag {product_name}" }, "inactivity_warning": { "subject": "Din {product_name}-konto slettes på grund af inaktivitet", - "body": "Hej {username},\n\nVi har ikke set nogen aktivitet på din {product_name}-konto siden {lastActiveDate, date, full}.\n\nHvis du ikke logger ind inden {deletionDate, date, full} kl. {deletionDate, time, short}, slettes din konto permanent på grund af inaktivitet.\n\nLog ind her:\n{loginUrl}\n\nHvis du har brugt {product_name} for nylig, skal du kontakte vores supportteam med det samme.\n\n– Teamet bag {product_name}" + "body": "Hej {username},\n\nVi har ikke set nogen aktivitet på din {product_name}-konto siden {lastActiveDate, date, full}.\n\nHvis du ikke logger ind inden {deletionDate, date, full} kl. {deletionDate, time, short}, slettes din konto permanent på grund af inaktivitet.\n\nLog ind her:\n{loginUrl}\n\n{support_email, select, null {Hvis du har brugt {product_name} for nylig, skal du kontakte administratorerne af denne instans med det samme.} other {Hvis du har brugt {product_name} for nylig, skal du kontakte vores supportteam med det samme.}}\n\n– Teamet bag {product_name}" }, "ip_authorization": { "subject": "Godkend login fra en ny IP-adresse", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Din anmeldelse på {product_name} er blevet behandlet", - "body": "Hej {username},\n\nDin anmeldelse (ID: {reportId}) er blevet behandlet af vores sikkerhedsteam.{hasComment, select, yes {\n\nSvar fra sikkerhedsteamet:\n{publicComment}} other {}}\n\nTak for din hjælp til at holde {product_name} sikkert for alle. Vi tager alle anmeldelser alvorligt og værdsætter dit bidrag til fællesskabet.\n\nHvis du har spørgsmål eller bekymringer vedrørende dette resultat, kan du kontakte {safety_email}.\n\n– Sikkerhedsteamet hos {product_name}" + "body": "Hej {username},\n\nDin anmeldelse (ID: {reportId}) er blevet behandlet af vores sikkerhedsteam.{hasComment, select, yes {\n\nSvar fra sikkerhedsteamet:\n{publicComment}} other {}}\n\nTak for din hjælp til at holde {product_name} sikkert for alle. Vi tager alle anmeldelser alvorligt og værdsætter dit bidrag til fællesskabet.\n\n{safety_email, select, null {Hvis du har spørgsmål eller bekymringer vedrørende dette resultat, kan du kontakte administratorerne af denne instans.} other {Hvis du har spørgsmål eller bekymringer vedrørende dette resultat, kan du kontakte {safety_email}.}}\n\n– Sikkerhedsteamet hos {product_name}" }, "scheduled_deletion_notification": { "subject": "Din {product_name}-konto slettes permanent", - "body": "Hej {username},\n\nVi har planlagt at slette din {product_name}-konto permanent.\n\nPlanlagt sletning: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsag: {reason}}\n}\n\nDette er en alvorlig sanktion. Dine kontodata bliver permanent slettet på den planlagte dato.\n\nHvis du mener, at denne beslutning om sanktioner var forkert, kan du indsende en klage. Send en e-mail til {appeals_email} fra denne e-mailadresse.\n\n– Sikkerhedsteamet hos {product_name}" + "body": "Hej {username},\n\nVi har planlagt at slette din {product_name}-konto permanent.\n\nPlanlagt sletning: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsag: {reason}}\n}\n\nDette er en alvorlig sanktion. Dine kontodata bliver permanent slettet på den planlagte dato.\n\nHvis du mener, at denne beslutning om sanktioner var forkert, kan du indsende en klage. {appeals_email, select, null {Kontakt administratorerne af denne instans.} other {Send en e-mail til {appeals_email} fra denne e-mailadresse.}}\n\n– Sikkerhedsteamet hos {product_name}" }, "self_deletion_scheduled": { "subject": "Sletningen af din {product_name}-konto er planlagt", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/de.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/de.json index d38c86ab5..08bda066e 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/de.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/de.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Dein {product_name}-Account ist nicht mehr zur Löschung vorgemerkt", - "body": "Hallo {username},\n\ndie geplante Löschung deines {product_name}-Accounts wurde abgebrochen. Dein Account wird nicht gelöscht.\n\nWenn du Fragen hast, kontaktiere {safety_email}.\n\n– {product_name}-Team" + "body": "Hallo {username},\n\ndie geplante Löschung deines {product_name}-Accounts wurde abgebrochen. Dein Account wird nicht gelöscht.\n\n{safety_email, select, null {Wenn du Fragen hast, kontaktiere die Administratoren dieser Instanz.} other {Wenn du Fragen hast, kontaktiere {safety_email}.}}\n\n– {product_name}-Team" }, "account_deletion_scheduled_inactivity": { "subject": "Dein {product_name}-Account wird wegen Inaktivität gelöscht", - "body": "Hallo {username},\n\ndein {product_name}-Account war lange inaktiv und wird deshalb an folgendem Termin dauerhaft gelöscht:\n\n{deletionDate, date, full} um {deletionDate, time, short}{reason, select, null {} other {\n\nGrund: {reason}}}\n\nWenn du deinen Account behalten möchtest, kontaktiere vor diesem Termin {safety_email} von dieser E-Mail-Adresse aus.\n\n– {product_name}-Team" + "body": "Hallo {username},\n\ndein {product_name}-Account war lange inaktiv und wird deshalb an folgendem Termin dauerhaft gelöscht:\n\n{deletionDate, date, full} um {deletionDate, time, short}{reason, select, null {} other {\n\nGrund: {reason}}}\n\n{safety_email, select, null {Wenn du deinen Account behalten möchtest, kontaktiere vor diesem Termin die Administratoren dieser Instanz.} other {Wenn du deinen Account behalten möchtest, kontaktiere vor diesem Termin {safety_email} von dieser E-Mail-Adresse aus.}}\n\n– {product_name}-Team" }, "account_deletion_scheduled_requested": { "subject": "Die Löschung deines {product_name}-Accounts ist geplant", - "body": "Hallo {username},\n\nwie von dir beantragt, wird dein {product_name}-Account an folgendem Termin dauerhaft gelöscht:\n\n{deletionDate, date, full} um {deletionDate, time, short}{reason, select, null {} other {\n\nGrund: {reason}}}\n\nDein Account ist bis dahin gesperrt. Wenn du das nicht beantragt hast oder deinen Account behalten möchtest, kontaktiere vor diesem Termin {safety_email} von dieser E-Mail-Adresse aus.\n\n– {product_name}-Team" + "body": "Hallo {username},\n\nwie von dir beantragt, wird dein {product_name}-Account an folgendem Termin dauerhaft gelöscht:\n\n{deletionDate, date, full} um {deletionDate, time, short}{reason, select, null {} other {\n\nGrund: {reason}}}\n\nDein Account ist bis dahin gesperrt. {safety_email, select, null {Wenn du das nicht beantragt hast oder deinen Account behalten möchtest, kontaktiere vor diesem Termin die Administratoren dieser Instanz.} other {Wenn du das nicht beantragt hast oder deinen Account behalten möchtest, kontaktiere vor diesem Termin {safety_email} von dieser E-Mail-Adresse aus.}}\n\n– {product_name}-Team" }, "account_scheduled_deletion": { "subject": "Dein {product_name}-Account wird dauerhaft gelöscht", - "body": "Hallo {username},\n\ndein {product_name}-Account wurde aufgrund von Verstößen gegen unsere Nutzungsbedingungen oder Community-Richtlinien zur dauerhaften Löschung vorgemerkt.\n\nGeplante Löschung: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Grund: {reason}}\n}\n\nDies ist eine ernsthafte Maßnahme. Deine Accountdaten werden am geplanten Datum dauerhaft gelöscht.\n\nBitte lies dir Folgendes durch:\n- Nutzungsbedingungen: {termsUrl}\n- Community-Richtlinien: {guidelinesUrl}\n\nEinspruchsverfahren:\nWenn du glaubst, dass diese Entscheidung falsch oder ungerechtfertigt war, hast du 60 Tage Zeit, Einspruch einzulegen. Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email}.\n\nIn deinem Einspruch:\n- Erkläre klar, warum du glaubst, dass die Entscheidung falsch oder ungerechtfertigt war\n- Füge alle relevanten Beweise oder Kontextinformationen bei\n\nEin Mitglied des {product_name}-Sicherheitsteams wird deinen Einspruch prüfen und die geplante Löschung möglicherweise aussetzen, bis eine endgültige Entscheidung getroffen wurde.\n\n– {product_name}-Sicherheitsteam" + "body": "Hallo {username},\n\ndein {product_name}-Account wurde aufgrund von Verstößen gegen unsere Nutzungsbedingungen oder Community-Richtlinien zur dauerhaften Löschung vorgemerkt.\n\nGeplante Löschung: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Grund: {reason}}\n}\n\nDies ist eine ernsthafte Maßnahme. Deine Accountdaten werden am geplanten Datum dauerhaft gelöscht.\n\n{legalLinks, select,\n both {Bitte lies dir Folgendes durch:\n- Nutzungsbedingungen: {termsUrl}\n- Community-Richtlinien: {guidelinesUrl}\n\n}\n terms {Bitte lies dir Folgendes durch:\n- Nutzungsbedingungen: {termsUrl}\n\n}\n guidelines {Bitte lies dir Folgendes durch:\n- Community-Richtlinien: {guidelinesUrl}\n\n}\n other {}\n}Einspruchsverfahren:\nWenn du glaubst, dass diese Entscheidung falsch oder ungerechtfertigt war, hast du 60 Tage Zeit, Einspruch einzulegen. {appeals_email, select, null {Wende dich an die Administratoren dieser Instanz.} other {Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email}.}}\n\nIn deinem Einspruch:\n- Erkläre klar, warum du glaubst, dass die Entscheidung falsch oder ungerechtfertigt war\n- Füge alle relevanten Beweise oder Kontextinformationen bei\n\nEin Mitglied des {product_name}-Sicherheitsteams wird deinen Einspruch prüfen und die geplante Löschung möglicherweise aussetzen, bis eine endgültige Entscheidung getroffen wurde.\n\n– {product_name}-Sicherheitsteam" }, "account_temp_banned": { "subject": "Dein {product_name}-Account wurde vorübergehend gesperrt", - "body": "Hallo {username},\n\ndein {product_name}-Account wurde vorübergehend gesperrt, weil du gegen unsere Nutzungsbedingungen oder Community-Richtlinien verstoßen hast.\n\nDauer: {durationHours, plural,\n one {1 Stunde}\n other {# Stunden}\n}\nGesperrt bis: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Grund: {reason}}\n}\n\nWährend dieser Zeit kannst du nicht auf deinen Account zugreifen.\n\nBitte lies dir Folgendes durch:\n- Nutzungsbedingungen: {termsUrl}\n- Community-Richtlinien: {guidelinesUrl}\n\nWenn du glaubst, dass diese Entscheidung falsch oder ungerechtfertigt war, kannst du Einspruch einlegen. Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email} und erkläre klar, warum du die Entscheidung für falsch hältst. Wir werden deinen Einspruch prüfen und dir unsere Entscheidung mitteilen.\n\n– {product_name}-Sicherheitsteam" + "body": "Hallo {username},\n\ndein {product_name}-Account wurde vorübergehend gesperrt, weil du gegen unsere Nutzungsbedingungen oder Community-Richtlinien verstoßen hast.\n\nDauer: {durationHours, plural,\n one {1 Stunde}\n other {# Stunden}\n}\nGesperrt bis: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Grund: {reason}}\n}\n\nWährend dieser Zeit kannst du nicht auf deinen Account zugreifen.\n\n{legalLinks, select,\n both {Bitte lies dir Folgendes durch:\n- Nutzungsbedingungen: {termsUrl}\n- Community-Richtlinien: {guidelinesUrl}\n\n}\n terms {Bitte lies dir Folgendes durch:\n- Nutzungsbedingungen: {termsUrl}\n\n}\n guidelines {Bitte lies dir Folgendes durch:\n- Community-Richtlinien: {guidelinesUrl}\n\n}\n other {}\n}Wenn du glaubst, dass diese Entscheidung falsch oder ungerechtfertigt war, kannst du Einspruch einlegen. {appeals_email, select, null {Wende dich an die Administratoren dieser Instanz und erkläre klar, warum du die Entscheidung für falsch hältst.} other {Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email} und erkläre klar, warum du die Entscheidung für falsch hältst.}} Wir werden deinen Einspruch prüfen und dir unsere Entscheidung mitteilen.\n\n– {product_name}-Sicherheitsteam" }, "donation_confirmation": { "subject": "Vielen Dank für deine {product_name}-Spende", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Wir haben über deine {product_name}-Meldung entschieden", - "body": "Hallo,\n\nunser Sicherheitsteam hat deine Meldung nach dem Digital Services Act (ID: {reportId}) geprüft und eine Entscheidung getroffen.{hasComment, select, yes {\n\nAntwort vom Sicherheitsteam:\n{publicComment}} other {}}\n\nWir geben keine Einzelheiten zu Maßnahmen gegen den Account einer anderen Person weiter, da es sich um deren personenbezogene Daten handelt.\n\nWenn du mit dieser Entscheidung nicht einverstanden bist, kannst du innerhalb von 60 Tagen kostenlos Einspruch einlegen. Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email}, gib deine Meldungs-ID an und erkläre, warum du die Entscheidung für falsch hältst. Wenn du dich in der EU befindest, kannst du die Streitigkeit außerdem einer zertifizierten außergerichtlichen Streitbeilegungsstelle vorlegen. Dein Recht, vor Gericht zu gehen, bleibt davon unberührt.\n\n– {product_name}-Sicherheitsteam" + "body": "Hallo,\n\nunser Sicherheitsteam hat deine Meldung nach dem Digital Services Act (ID: {reportId}) geprüft und eine Entscheidung getroffen.{hasComment, select, yes {\n\nAntwort vom Sicherheitsteam:\n{publicComment}} other {}}\n\nWir geben keine Einzelheiten zu Maßnahmen gegen den Account einer anderen Person weiter, da es sich um deren personenbezogene Daten handelt.\n\nWenn du mit dieser Entscheidung nicht einverstanden bist, kannst du innerhalb von 60 Tagen kostenlos Einspruch einlegen. {appeals_email, select, null {Wende dich an die Administratoren dieser Instanz, gib deine Meldungs-ID an und erkläre, warum du die Entscheidung für falsch hältst.} other {Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email}, gib deine Meldungs-ID an und erkläre, warum du die Entscheidung für falsch hältst.}} Wenn du dich in der EU befindest, kannst du die Streitigkeit außerdem einer zertifizierten außergerichtlichen Streitbeilegungsstelle vorlegen. Dein Recht, vor Gericht zu gehen, bleibt davon unberührt.\n\n– {product_name}-Sicherheitsteam" }, "dsa_report_verification": { "subject": "Bestätige deine E-Mail-Adresse für eine DSA-Meldung", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Vorteile deines eingelösten Geschenks wurden entfernt", - "body": "Hallo {username},\n\nein von dir eingelöster Geschenkcode wurde ursprünglich von jemand anderem bezahlt. Diese Zahlung wurde inzwischen rückgängig gemacht (eine Rückbuchung).\n\nAus diesem Grund haben wir die Vorteile entfernt, die deinem Account hinzugefügt wurden, als du das Geschenk eingelöst hast.\n\nWenn du glaubst, dass dies ein Fehler ist, kontaktiere bitte unser Support-Team und gib alle Details an, die du über den Geschenkcode und den Zeitpunkt der Einlösung hast.\n\n– {product_name}-Team" + "body": "Hallo {username},\n\nein von dir eingelöster Geschenkcode wurde ursprünglich von jemand anderem bezahlt. Diese Zahlung wurde inzwischen rückgängig gemacht (eine Rückbuchung).\n\nAus diesem Grund haben wir die Vorteile entfernt, die deinem Account hinzugefügt wurden, als du das Geschenk eingelöst hast.\n\n{support_email, select, null {Wenn du glaubst, dass dies ein Fehler ist, kontaktiere bitte die Administratoren dieser Instanz und gib alle Details an, die du über den Geschenkcode und den Zeitpunkt der Einlösung hast.} other {Wenn du glaubst, dass dies ein Fehler ist, kontaktiere bitte unser Support-Team und gib alle Details an, die du über den Geschenkcode und den Zeitpunkt der Einlösung hast.}}\n\n– {product_name}-Team" }, "harvest_completed": { "subject": "Dein {product_name}-Datenexport steht zum Herunterladen bereit", - "body": "Hallo {username},\n\ndein Datenexport ist bereit.\n\nDownload-Link:\n{downloadUrl}\n\nEnthaltene Nachrichten: {totalMessages, number}\nDateigröße: {fileSizeMB, number} MB\n\nDieser Link läuft am {expiresAt, date, full} um {expiresAt, time, short} ab.\n\nWenn du diesen Export nicht angefordert hast, ändere bitte sofort dein Passwort und kontaktiere unser Support-Team.\n\n– {product_name}-Team" + "body": "Hallo {username},\n\ndein Datenexport ist bereit.\n\nDownload-Link:\n{downloadUrl}\n\nEnthaltene Nachrichten: {totalMessages, number}\nDateigröße: {fileSizeMB, number} MB\n\nDieser Link läuft am {expiresAt, date, full} um {expiresAt, time, short} ab.\n\n{support_email, select, null {Wenn du diesen Export nicht angefordert hast, ändere bitte sofort dein Passwort und kontaktiere die Administratoren dieser Instanz.} other {Wenn du diesen Export nicht angefordert hast, ändere bitte sofort dein Passwort und kontaktiere unser Support-Team.}}\n\n– {product_name}-Team" }, "inactivity_warning": { "subject": "Dein {product_name}-Account wird wegen Inaktivität gelöscht", - "body": "Hallo {username},\n\nwir haben seit dem {lastActiveDate, date, full} keine Aktivität auf deinem {product_name}-Account festgestellt.\n\nWenn du dich nicht bis zum {deletionDate, date, full} um {deletionDate, time, short} anmeldest, wird dein Account aufgrund von Inaktivität dauerhaft gelöscht.\n\nMelde dich hier an:\n{loginUrl}\n\nWenn du {product_name} kürzlich genutzt hast, kontaktiere bitte sofort unser Support-Team.\n\n– {product_name}-Team" + "body": "Hallo {username},\n\nwir haben seit dem {lastActiveDate, date, full} keine Aktivität auf deinem {product_name}-Account festgestellt.\n\nWenn du dich nicht bis zum {deletionDate, date, full} um {deletionDate, time, short} anmeldest, wird dein Account aufgrund von Inaktivität dauerhaft gelöscht.\n\nMelde dich hier an:\n{loginUrl}\n\n{support_email, select, null {Wenn du {product_name} kürzlich genutzt hast, kontaktiere bitte sofort die Administratoren dieser Instanz.} other {Wenn du {product_name} kürzlich genutzt hast, kontaktiere bitte sofort unser Support-Team.}}\n\n– {product_name}-Team" }, "ip_authorization": { "subject": "Anmeldung von einer neuen IP-Adresse bestätigen", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Deine {product_name}-Meldung wurde geprüft", - "body": "Hallo {username},\n\ndeine Meldung (ID: {reportId}) wurde von unserem Sicherheitsteam geprüft.{hasComment, select, yes {\n\nAntwort vom Sicherheitsteam:\n{publicComment}} other {}}\n\nDanke, dass du hilfst, {product_name} für alle sicher zu halten. Wir nehmen alle Meldungen ernst und schätzen deinen Beitrag zur Community.\n\nWenn du Fragen oder Bedenken zu diesem Ergebnis hast, kontaktiere bitte {safety_email}.\n\n– {product_name}-Sicherheitsteam" + "body": "Hallo {username},\n\ndeine Meldung (ID: {reportId}) wurde von unserem Sicherheitsteam geprüft.{hasComment, select, yes {\n\nAntwort vom Sicherheitsteam:\n{publicComment}} other {}}\n\nDanke, dass du hilfst, {product_name} für alle sicher zu halten. Wir nehmen alle Meldungen ernst und schätzen deinen Beitrag zur Community.\n\n{safety_email, select, null {Wenn du Fragen oder Bedenken zu diesem Ergebnis hast, kontaktiere bitte die Administratoren dieser Instanz.} other {Wenn du Fragen oder Bedenken zu diesem Ergebnis hast, kontaktiere bitte {safety_email}.}}\n\n– {product_name}-Sicherheitsteam" }, "scheduled_deletion_notification": { "subject": "Dein {product_name}-Account wird dauerhaft gelöscht", - "body": "Hallo {username},\n\ndein {product_name}-Account wurde zur dauerhaften Löschung vorgemerkt.\n\nGeplante Löschung: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Grund: {reason}}\n}\n\nDies ist eine ernsthafte Maßnahme. Deine Accountdaten werden am geplanten Datum dauerhaft gelöscht.\n\nWenn du glaubst, dass diese Entscheidung falsch war, kannst du Einspruch einlegen. Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email}.\n\n– {product_name}-Sicherheitsteam" + "body": "Hallo {username},\n\ndein {product_name}-Account wurde zur dauerhaften Löschung vorgemerkt.\n\nGeplante Löschung: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Grund: {reason}}\n}\n\nDies ist eine ernsthafte Maßnahme. Deine Accountdaten werden am geplanten Datum dauerhaft gelöscht.\n\nWenn du glaubst, dass diese Entscheidung falsch war, kannst du Einspruch einlegen. {appeals_email, select, null {Wende dich an die Administratoren dieser Instanz.} other {Sende eine E-Mail von dieser E-Mail-Adresse an {appeals_email}.}}\n\n– {product_name}-Sicherheitsteam" }, "self_deletion_scheduled": { "subject": "Die Löschung deines {product_name}-Accounts ist geplant", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/el.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/el.json index b1debf56a..c469a71fb 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/el.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/el.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Η διαγραφή του λογαριασμού σου στο {product_name} ακυρώθηκε", - "body": "Γεια σου {username},\n\nΗ προγραμματισμένη διαγραφή του λογαριασμού σου στο {product_name} ακυρώθηκε. Ο λογαριασμός σου δεν θα διαγραφεί.\n\nΕάν έχεις ερωτήσεις, στείλε email στο {safety_email}.\n\n– Η ομάδα του {product_name}" + "body": "Γεια σου {username},\n\nΗ προγραμματισμένη διαγραφή του λογαριασμού σου στο {product_name} ακυρώθηκε. Ο λογαριασμός σου δεν θα διαγραφεί.\n\n{safety_email, select, null {Εάν έχεις ερωτήσεις, επικοινώνησε με τους διαχειριστές αυτής της παρουσίας.} other {Εάν έχεις ερωτήσεις, στείλε email στο {safety_email}.}}\n\n– Η ομάδα του {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Ο λογαριασμός σου στο {product_name} θα διαγραφεί λόγω αδράνειας", - "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} είναι ανενεργός για μεγάλο χρονικό διάστημα, γι' αυτό έχει προγραμματιστεί για οριστική διαγραφή:\n\n{deletionDate, date, full} και ώρα {deletionDate, time, short}{reason, select, null {} other {\n\nΛόγος: {reason}}}\n\nΕάν θέλεις να διατηρήσεις τον λογαριασμό σου, στείλε email στο {safety_email} από αυτή τη διεύθυνση email πριν από αυτή την ημερομηνία.\n\n– Η ομάδα του {product_name}" + "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} είναι ανενεργός για μεγάλο χρονικό διάστημα, γι' αυτό έχει προγραμματιστεί για οριστική διαγραφή:\n\n{deletionDate, date, full} και ώρα {deletionDate, time, short}{reason, select, null {} other {\n\nΛόγος: {reason}}}\n\n{safety_email, select, null {Εάν θέλεις να διατηρήσεις τον λογαριασμό σου, επικοινώνησε με τους διαχειριστές αυτής της παρουσίας πριν από αυτή την ημερομηνία.} other {Εάν θέλεις να διατηρήσεις τον λογαριασμό σου, στείλε email στο {safety_email} από αυτή τη διεύθυνση email πριν από αυτή την ημερομηνία.}}\n\n– Η ομάδα του {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Η διαγραφή του λογαριασμού σου στο {product_name} είναι προγραμματισμένη", - "body": "Γεια σου {username},\n\nΌπως ζήτησες, ο λογαριασμός σου στο {product_name} έχει προγραμματιστεί για οριστική διαγραφή:\n\n{deletionDate, date, full} και ώρα {deletionDate, time, short}{reason, select, null {} other {\n\nΛόγος: {reason}}}\n\nΜέχρι τότε ο λογαριασμός σου είναι κλειδωμένος. Εάν δεν το ζήτησες ή θέλεις να διατηρήσεις τον λογαριασμό σου, στείλε email στο {safety_email} από αυτή τη διεύθυνση email πριν από αυτή την ημερομηνία.\n\n– Η ομάδα του {product_name}" + "body": "Γεια σου {username},\n\nΌπως ζήτησες, ο λογαριασμός σου στο {product_name} έχει προγραμματιστεί για οριστική διαγραφή:\n\n{deletionDate, date, full} και ώρα {deletionDate, time, short}{reason, select, null {} other {\n\nΛόγος: {reason}}}\n\nΜέχρι τότε ο λογαριασμός σου είναι κλειδωμένος. {safety_email, select, null {Εάν δεν το ζήτησες ή θέλεις να διατηρήσεις τον λογαριασμό σου, επικοινώνησε με τους διαχειριστές αυτής της παρουσίας πριν από αυτή την ημερομηνία.} other {Εάν δεν το ζήτησες ή θέλεις να διατηρήσεις τον λογαριασμό σου, στείλε email στο {safety_email} από αυτή τη διεύθυνση email πριν από αυτή την ημερομηνία.}}\n\n– Η ομάδα του {product_name}" }, "account_scheduled_deletion": { "subject": "Ο λογαριασμός σου στο {product_name} θα διαγραφεί οριστικά", - "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} έχει προγραμματιστεί για οριστική διαγραφή λόγω παραβιάσεων των Όρων παροχής υπηρεσιών ή των Οδηγιών κοινότητας.\n\nΠρογραμματισμένη διαγραφή: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Λόγος: {reason}}\n}\n\nΠρόκειται για σοβαρό μέτρο. Τα δεδομένα του λογαριασμού σου θα διαγραφούν οριστικά την προγραμματισμένη ημερομηνία.\n\nΈλεγξε:\n- Όροι παροχής υπηρεσιών: {termsUrl}\n- Οδηγίες κοινότητας: {guidelinesUrl}\n\nΔιαδικασία προσφυγής:\nΕάν πιστεύεις ότι αυτή η απόφαση ήταν λανθασμένη ή αδικαιολόγητη, έχεις 60 ημέρες για να υποβάλεις προσφυγή. Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email.\n\nΣτην προσφυγή σου:\n- Εξήγησε σαφώς γιατί πιστεύεις ότι η απόφαση ήταν λανθασμένη ή αδικαιολόγητη\n- Παράθεσε τυχόν σχετικά αποδεικτικά στοιχεία ή πλαίσιο\n\nΈνα μέλος της ομάδας ασφαλείας του {product_name} θα εξετάσει την προσφυγή σου και ενδέχεται να αναστείλει την εκκρεμή διαγραφή μέχρι να ληφθεί τελική απόφαση.\n\n– Η ομάδα ασφαλείας του {product_name}" + "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} έχει προγραμματιστεί για οριστική διαγραφή λόγω παραβιάσεων των Όρων παροχής υπηρεσιών ή των Οδηγιών κοινότητας.\n\nΠρογραμματισμένη διαγραφή: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Λόγος: {reason}}\n}\n\nΠρόκειται για σοβαρό μέτρο. Τα δεδομένα του λογαριασμού σου θα διαγραφούν οριστικά την προγραμματισμένη ημερομηνία.\n\n{legalLinks, select,\n both {Έλεγξε:\n- Όροι παροχής υπηρεσιών: {termsUrl}\n- Οδηγίες κοινότητας: {guidelinesUrl}\n\n}\n terms {Έλεγξε:\n- Όροι παροχής υπηρεσιών: {termsUrl}\n\n}\n guidelines {Έλεγξε:\n- Οδηγίες κοινότητας: {guidelinesUrl}\n\n}\n other {}\n}Διαδικασία προσφυγής:\nΕάν πιστεύεις ότι αυτή η απόφαση ήταν λανθασμένη ή αδικαιολόγητη, έχεις 60 ημέρες για να υποβάλεις προσφυγή. {appeals_email, select, null {Επικοινώνησε με τους διαχειριστές αυτής της παρουσίας.} other {Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email.}}\n\nΣτην προσφυγή σου:\n- Εξήγησε σαφώς γιατί πιστεύεις ότι η απόφαση ήταν λανθασμένη ή αδικαιολόγητη\n- Παράθεσε τυχόν σχετικά αποδεικτικά στοιχεία ή πλαίσιο\n\nΈνα μέλος της ομάδας ασφαλείας του {product_name} θα εξετάσει την προσφυγή σου και ενδέχεται να αναστείλει την εκκρεμή διαγραφή μέχρι να ληφθεί τελική απόφαση.\n\n– Η ομάδα ασφαλείας του {product_name}" }, "account_temp_banned": { "subject": "Ο λογαριασμός σου στο {product_name} έχει ανασταλεί προσωρινά", - "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} έχει ανασταλεί προσωρινά για παραβίαση των Όρων παροχής υπηρεσιών ή των Οδηγιών κοινότητας.\n\nΔιάρκεια: {durationHours, plural,\n =1 {μία ώρα}\n other {# ώρες}\n}\nΑναστολή μέχρι: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Λόγος: {reason}}\n}\n\nΚατά τη διάρκεια αυτής της περιόδου, δεν θα έχεις πρόσβαση στον λογαριασμό σου.\n\nΈλεγξε:\n- Όροι παροχής υπηρεσιών: {termsUrl}\n- Οδηγίες κοινότητας: {guidelinesUrl}\n\nΕάν πιστεύεις ότι αυτή η απόφαση ήταν λανθασμένη ή αδικαιολόγητη, μπορείς να υποβάλεις προσφυγή. Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email και εξήγησε σαφώς γιατί πιστεύεις ότι η απόφαση ήταν λανθασμένη. Θα εξετάσουμε την προσφυγή σου και θα σου απαντήσουμε με την απόφασή μας.\n\n– Η ομάδα ασφαλείας του {product_name}" + "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} έχει ανασταλεί προσωρινά για παραβίαση των Όρων παροχής υπηρεσιών ή των Οδηγιών κοινότητας.\n\nΔιάρκεια: {durationHours, plural,\n =1 {μία ώρα}\n other {# ώρες}\n}\nΑναστολή μέχρι: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Λόγος: {reason}}\n}\n\nΚατά τη διάρκεια αυτής της περιόδου, δεν θα έχεις πρόσβαση στον λογαριασμό σου.\n\n{legalLinks, select,\n both {Έλεγξε:\n- Όροι παροχής υπηρεσιών: {termsUrl}\n- Οδηγίες κοινότητας: {guidelinesUrl}\n\n}\n terms {Έλεγξε:\n- Όροι παροχής υπηρεσιών: {termsUrl}\n\n}\n guidelines {Έλεγξε:\n- Οδηγίες κοινότητας: {guidelinesUrl}\n\n}\n other {}\n}Εάν πιστεύεις ότι αυτή η απόφαση ήταν λανθασμένη ή αδικαιολόγητη, μπορείς να υποβάλεις προσφυγή. {appeals_email, select, null {Επικοινώνησε με τους διαχειριστές αυτής της παρουσίας και εξήγησε σαφώς γιατί πιστεύεις ότι η απόφαση ήταν λανθασμένη.} other {Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email και εξήγησε σαφώς γιατί πιστεύεις ότι η απόφαση ήταν λανθασμένη.}} Θα εξετάσουμε την προσφυγή σου και θα σου απαντήσουμε με την απόφασή μας.\n\n– Η ομάδα ασφαλείας του {product_name}" }, "donation_confirmation": { "subject": "Ευχαριστούμε για τη δωρεά σου στο {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Λάβαμε απόφαση για την αναφορά σου στο {product_name}", - "body": "Γεια σου,\n\nΗ ομάδα ασφαλείας μας εξέτασε την αναφορά σου βάσει της Πράξης για τις ψηφιακές υπηρεσίες (ID: {reportId}) και έλαβε απόφαση.{hasComment, select, yes {\n\nΑπάντηση από την ομάδα ασφαλείας:\n{publicComment}} other {}}\n\nΔεν κοινοποιούμε λεπτομέρειες για ενέργειες που έγιναν σε βάρος του λογαριασμού άλλου ατόμου, επειδή πρόκειται για δικά του προσωπικά δεδομένα.\n\nΕάν διαφωνείς με αυτήν την απόφαση, μπορείς να υποβάλεις προσφυγή δωρεάν εντός 60 ημερών. Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email, ανάφερε το ID της αναφοράς σου και εξήγησε γιατί πιστεύεις ότι η απόφαση είναι λανθασμένη. Εάν βρίσκεσαι στην ΕΕ, μπορείς επίσης να παραπέμψεις τη διαφορά σε πιστοποιημένο όργανο εξωδικαστικής επίλυσης διαφορών. Τίποτα από αυτά δεν επηρεάζει το δικαίωμά σου να προσφύγεις στα δικαστήρια.\n\n– Η ομάδα ασφαλείας του {product_name}" + "body": "Γεια σου,\n\nΗ ομάδα ασφαλείας μας εξέτασε την αναφορά σου βάσει της Πράξης για τις ψηφιακές υπηρεσίες (ID: {reportId}) και έλαβε απόφαση.{hasComment, select, yes {\n\nΑπάντηση από την ομάδα ασφαλείας:\n{publicComment}} other {}}\n\nΔεν κοινοποιούμε λεπτομέρειες για ενέργειες που έγιναν σε βάρος του λογαριασμού άλλου ατόμου, επειδή πρόκειται για δικά του προσωπικά δεδομένα.\n\nΕάν διαφωνείς με αυτήν την απόφαση, μπορείς να υποβάλεις προσφυγή δωρεάν εντός 60 ημερών. {appeals_email, select, null {Επικοινώνησε με τους διαχειριστές αυτής της παρουσίας, ανάφερε το ID της αναφοράς σου και εξήγησε γιατί πιστεύεις ότι η απόφαση είναι λανθασμένη.} other {Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email, ανάφερε το ID της αναφοράς σου και εξήγησε γιατί πιστεύεις ότι η απόφαση είναι λανθασμένη.}} Εάν βρίσκεσαι στην ΕΕ, μπορείς επίσης να παραπέμψεις τη διαφορά σε πιστοποιημένο όργανο εξωδικαστικής επίλυσης διαφορών. Τίποτα από αυτά δεν επηρεάζει το δικαίωμά σου να προσφύγεις στα δικαστήρια.\n\n– Η ομάδα ασφαλείας του {product_name}" }, "dsa_report_verification": { "subject": "Επαλήθευσε το email σου για αναφορά DSA", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Τα προνόμια από το δώρο που εξαργύρωσες έχουν αφαιρεθεί", - "body": "Γεια σου {username},\n\nΈνας κωδικός δώρου που εξαργύρωσες πληρώθηκε αρχικά από κάποιον άλλο. Αυτή η πληρωμή έχει έκτοτε αντιστραφεί (αμφισβήτηση χρέωσης).\n\nΓι' αυτόν τον λόγο, αφαιρέσαμε τα προνόμια που προστέθηκαν στον λογαριασμό σου όταν εξαργύρωσες το δώρο.\n\nΕάν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με την ομάδα υποστήριξής μας και ανάφερε όσες λεπτομέρειες έχεις σχετικά με τον κωδικό δώρου και το πότε τον εξαργύρωσες.\n\n– Η ομάδα του {product_name}" + "body": "Γεια σου {username},\n\nΈνας κωδικός δώρου που εξαργύρωσες πληρώθηκε αρχικά από κάποιον άλλο. Αυτή η πληρωμή έχει έκτοτε αντιστραφεί (αμφισβήτηση χρέωσης).\n\nΓι' αυτόν τον λόγο, αφαιρέσαμε τα προνόμια που προστέθηκαν στον λογαριασμό σου όταν εξαργύρωσες το δώρο.\n\n{support_email, select, null {Εάν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με τους διαχειριστές αυτής της παρουσίας και ανάφερε όσες λεπτομέρειες έχεις σχετικά με τον κωδικό δώρου και το πότε τον εξαργύρωσες.} other {Εάν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με την ομάδα υποστήριξής μας και ανάφερε όσες λεπτομέρειες έχεις σχετικά με τον κωδικό δώρου και το πότε τον εξαργύρωσες.}}\n\n– Η ομάδα του {product_name}" }, "harvest_completed": { "subject": "Η εξαγωγή δεδομένων σου στο {product_name} είναι έτοιμη για λήψη", - "body": "Γεια σου {username},\n\nΗ εξαγωγή δεδομένων σου είναι έτοιμη.\n\nΣύνδεσμος λήψης:\n{downloadUrl}\n\nΜηνύματα που περιλαμβάνονται: {totalMessages, number}\nΜέγεθος αρχείου: {fileSizeMB, number} MB\n\nΑυτός ο σύνδεσμος λήγει στις {expiresAt, date, full} και ώρα {expiresAt, time, short}.\n\nΕάν δεν ζήτησες αυτήν την εξαγωγή, άλλαξε αμέσως τον κωδικό πρόσβασής σου και επικοινώνησε με την ομάδα υποστήριξής μας.\n\n– Η ομάδα του {product_name}" + "body": "Γεια σου {username},\n\nΗ εξαγωγή δεδομένων σου είναι έτοιμη.\n\nΣύνδεσμος λήψης:\n{downloadUrl}\n\nΜηνύματα που περιλαμβάνονται: {totalMessages, number}\nΜέγεθος αρχείου: {fileSizeMB, number} MB\n\nΑυτός ο σύνδεσμος λήγει στις {expiresAt, date, full} και ώρα {expiresAt, time, short}.\n\n{support_email, select, null {Εάν δεν ζήτησες αυτήν την εξαγωγή, άλλαξε αμέσως τον κωδικό πρόσβασής σου και επικοινώνησε με τους διαχειριστές αυτής της παρουσίας.} other {Εάν δεν ζήτησες αυτήν την εξαγωγή, άλλαξε αμέσως τον κωδικό πρόσβασής σου και επικοινώνησε με την ομάδα υποστήριξής μας.}}\n\n– Η ομάδα του {product_name}" }, "inactivity_warning": { "subject": "Ο λογαριασμός σου στο {product_name} θα διαγραφεί λόγω αδράνειας", - "body": "Γεια σου {username},\n\nΔεν έχουμε δει καμία δραστηριότητα στον λογαριασμό σου στο {product_name} από τις {lastActiveDate, date, full}.\n\nΕάν δεν συνδεθείς μέχρι τις {deletionDate, date, full} και ώρα {deletionDate, time, short}, ο λογαριασμός σου θα διαγραφεί οριστικά λόγω αδράνειας.\n\nΣυνδέσου εδώ:\n{loginUrl}\n\nΕάν χρησιμοποίησες το {product_name} πρόσφατα, επικοινώνησε αμέσως με την ομάδα υποστήριξής μας.\n\n– Η ομάδα του {product_name}" + "body": "Γεια σου {username},\n\nΔεν έχουμε δει καμία δραστηριότητα στον λογαριασμό σου στο {product_name} από τις {lastActiveDate, date, full}.\n\nΕάν δεν συνδεθείς μέχρι τις {deletionDate, date, full} και ώρα {deletionDate, time, short}, ο λογαριασμός σου θα διαγραφεί οριστικά λόγω αδράνειας.\n\nΣυνδέσου εδώ:\n{loginUrl}\n\n{support_email, select, null {Εάν χρησιμοποίησες το {product_name} πρόσφατα, επικοινώνησε αμέσως με τους διαχειριστές αυτής της παρουσίας.} other {Εάν χρησιμοποίησες το {product_name} πρόσφατα, επικοινώνησε αμέσως με την ομάδα υποστήριξής μας.}}\n\n– Η ομάδα του {product_name}" }, "ip_authorization": { "subject": "Εξουσιοδότησε τη σύνδεση από μια νέα διεύθυνση IP", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Η αναφορά σου στο {product_name} έχει εξεταστεί", - "body": "Γεια σου {username},\n\nΗ αναφορά σου (ID: {reportId}) εξετάστηκε από την ομάδα ασφαλείας μας.{hasComment, select, yes {\n\nΑπάντηση από την ομάδα ασφαλείας:\n{publicComment}} other {}}\n\nΕυχαριστούμε που βοηθάς να παραμείνει το {product_name} ασφαλές για όλους. Λαμβάνουμε σοβαρά υπόψη κάθε αναφορά και εκτιμούμε τη συμβολή σου στην κοινότητα.\n\nΕάν έχεις ερωτήσεις ή απορίες σχετικά με αυτό το αποτέλεσμα, στείλε email στο {safety_email}.\n\n– Η ομάδα ασφαλείας του {product_name}" + "body": "Γεια σου {username},\n\nΗ αναφορά σου (ID: {reportId}) εξετάστηκε από την ομάδα ασφαλείας μας.{hasComment, select, yes {\n\nΑπάντηση από την ομάδα ασφαλείας:\n{publicComment}} other {}}\n\nΕυχαριστούμε που βοηθάς να παραμείνει το {product_name} ασφαλές για όλους. Λαμβάνουμε σοβαρά υπόψη κάθε αναφορά και εκτιμούμε τη συμβολή σου στην κοινότητα.\n\n{safety_email, select, null {Εάν έχεις ερωτήσεις ή απορίες σχετικά με αυτό το αποτέλεσμα, επικοινώνησε με τους διαχειριστές αυτής της παρουσίας.} other {Εάν έχεις ερωτήσεις ή απορίες σχετικά με αυτό το αποτέλεσμα, στείλε email στο {safety_email}.}}\n\n– Η ομάδα ασφαλείας του {product_name}" }, "scheduled_deletion_notification": { "subject": "Ο λογαριασμός σου στο {product_name} θα διαγραφεί οριστικά", - "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} έχει προγραμματιστεί για οριστική διαγραφή.\n\nΠρογραμματισμένη διαγραφή: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Λόγος: {reason}}\n}\n\nΠρόκειται για σοβαρό μέτρο. Τα δεδομένα του λογαριασμού σου θα διαγραφούν οριστικά την προγραμματισμένη ημερομηνία.\n\nΕάν πιστεύεις ότι αυτή η απόφαση ήταν λανθασμένη, μπορείς να υποβάλεις προσφυγή. Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email.\n\n– Η ομάδα ασφαλείας του {product_name}" + "body": "Γεια σου {username},\n\nΟ λογαριασμός σου στο {product_name} έχει προγραμματιστεί για οριστική διαγραφή.\n\nΠρογραμματισμένη διαγραφή: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Λόγος: {reason}}\n}\n\nΠρόκειται για σοβαρό μέτρο. Τα δεδομένα του λογαριασμού σου θα διαγραφούν οριστικά την προγραμματισμένη ημερομηνία.\n\nΕάν πιστεύεις ότι αυτή η απόφαση ήταν λανθασμένη, μπορείς να υποβάλεις προσφυγή. {appeals_email, select, null {Επικοινώνησε με τους διαχειριστές αυτής της παρουσίας.} other {Στείλε email στο {appeals_email} από αυτήν τη διεύθυνση email.}}\n\n– Η ομάδα ασφαλείας του {product_name}" }, "self_deletion_scheduled": { "subject": "Η διαγραφή του λογαριασμού σου στο {product_name} είναι προγραμματισμένη", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/en-GB.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/en-GB.json index c59da4aa4..754f20b67 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/en-GB.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/en-GB.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Your {product_name} account is no longer scheduled for deletion", - "body": "Hello {username},\n\nThe scheduled deletion of your {product_name} account has been cancelled. Your account will not be deleted.\n\nIf you have any questions, contact {safety_email}.\n\n– {product_name} Team" + "body": "Hello {username},\n\nThe scheduled deletion of your {product_name} account has been cancelled. Your account will not be deleted.\n\n{safety_email, select, null {If you have any questions, contact the administrators of this instance.} other {If you have any questions, contact {safety_email}.}}\n\n– {product_name} Team" }, "account_deletion_scheduled_inactivity": { "subject": "Your {product_name} account will be deleted due to inactivity", - "body": "Hello {username},\n\nYour {product_name} account has been inactive for a long time, so it is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\nIf you want to keep your account, contact {safety_email} from this email address before that date.\n\n– {product_name} Team" + "body": "Hello {username},\n\nYour {product_name} account has been inactive for a long time, so it is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\n{safety_email, select, null {If you want to keep your account, contact the administrators of this instance before that date.} other {If you want to keep your account, contact {safety_email} from this email address before that date.}}\n\n– {product_name} Team" }, "account_deletion_scheduled_requested": { "subject": "Your {product_name} account deletion is scheduled", - "body": "Hello {username},\n\nAs you requested, your {product_name} account is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\nYour account is locked until then. If you didn't request this, or you want to keep your account, contact {safety_email} from this email address before that date.\n\n– {product_name} Team" + "body": "Hello {username},\n\nAs you requested, your {product_name} account is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\nYour account is locked until then. {safety_email, select, null {If you didn't request this, or you want to keep your account, contact the administrators of this instance before that date.} other {If you didn't request this, or you want to keep your account, contact {safety_email} from this email address before that date.}}\n\n– {product_name} Team" }, "account_scheduled_deletion": { "subject": "Your {product_name} account will be permanently deleted", - "body": "Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion due to violations of our Terms of Service or Community Guidelines.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\nPlease review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\nAppeals process:\nIf you believe this enforcement decision was incorrect or unjustified, you have 60 days to submit an appeal. Email {appeals_email} from this email address.\n\nIn your appeal:\n- Clearly explain why you believe the enforcement decision was incorrect or unjustified\n- Provide any relevant evidence or context\n\nA member of the {product_name} Safety Team will review your appeal and may pause the pending deletion until a final decision has been reached.\n\n– {product_name} Safety Team" + "body": "Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion due to violations of our Terms of Service or Community Guidelines.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\n{legalLinks, select,\n both {Please review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\n}\n terms {Please review:\n- Terms of Service: {termsUrl}\n\n}\n guidelines {Please review:\n- Community Guidelines: {guidelinesUrl}\n\n}\n other {}\n}Appeals process:\nIf you believe this enforcement decision was incorrect or unjustified, you have 60 days to submit an appeal. {appeals_email, select, null {Contact the administrators of this instance.} other {Email {appeals_email} from this email address.}}\n\nIn your appeal:\n- Clearly explain why you believe the enforcement decision was incorrect or unjustified\n- Provide any relevant evidence or context\n\nA member of the {product_name} Safety Team will review your appeal and may pause the pending deletion until a final decision has been reached.\n\n– {product_name} Safety Team" }, "account_temp_banned": { "subject": "Your {product_name} account has been temporarily suspended", - "body": "Hello {username},\n\nYour {product_name} account has been temporarily suspended for violating our Terms of Service or Community Guidelines.\n\nDuration: {durationHours, plural,\n =1 {1 hour}\n other {# hours}\n}\nSuspended until: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nDuring this time, you won't be able to access your account.\n\nPlease review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\nIf you believe this enforcement decision was incorrect or unjustified, you can submit an appeal. Email {appeals_email} from this email address and clearly explain why you believe the decision was incorrect. We'll review your appeal and respond with our decision.\n\n– {product_name} Safety Team" + "body": "Hello {username},\n\nYour {product_name} account has been temporarily suspended for violating our Terms of Service or Community Guidelines.\n\nDuration: {durationHours, plural,\n =1 {1 hour}\n other {# hours}\n}\nSuspended until: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nDuring this time, you won't be able to access your account.\n\n{legalLinks, select,\n both {Please review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\n}\n terms {Please review:\n- Terms of Service: {termsUrl}\n\n}\n guidelines {Please review:\n- Community Guidelines: {guidelinesUrl}\n\n}\n other {}\n}If you believe this enforcement decision was incorrect or unjustified, you can submit an appeal. {appeals_email, select, null {Contact the administrators of this instance and clearly explain why you believe the decision was incorrect.} other {Email {appeals_email} from this email address and clearly explain why you believe the decision was incorrect.}} We'll review your appeal and respond with our decision.\n\n– {product_name} Safety Team" }, "donation_confirmation": { "subject": "Thank you for your {product_name} donation", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "We made a decision on your {product_name} report", - "body": "Hello,\n\nOur Safety Team has reviewed your Digital Services Act report (ID: {reportId}) and made a decision.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nWe don't share details of any action taken against another person's account, because that is their personal data.\n\nIf you disagree with this decision, you can appeal free of charge within 60 days. Email {appeals_email} from this email address, include your report ID, and explain why you think the decision is wrong. If you are in the EU, you can also refer the dispute to a certified out-of-court dispute settlement body. None of this affects your right to go to court.\n\n– {product_name} Safety Team" + "body": "Hello,\n\nOur Safety Team has reviewed your Digital Services Act report (ID: {reportId}) and made a decision.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nWe don't share details of any action taken against another person's account, because that is their personal data.\n\nIf you disagree with this decision, you can appeal free of charge within 60 days. {appeals_email, select, null {Contact the administrators of this instance, include your report ID, and explain why you think the decision is wrong.} other {Email {appeals_email} from this email address, include your report ID, and explain why you think the decision is wrong.}} If you are in the EU, you can also refer the dispute to a certified out-of-court dispute settlement body. None of this affects your right to go to court.\n\n– {product_name} Safety Team" }, "dsa_report_verification": { "subject": "Verify your email for a DSA report", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Perks from your redeemed gift have been removed", - "body": "Hello {username},\n\nA gift code you redeemed was originally paid for by someone else. That payment has since been reversed (a chargeback).\n\nBecause of this, we've removed the perks that were added to your account when you redeemed the gift.\n\nIf you think this is a mistake, please contact our support team and include any details you have about the gift code and when you redeemed it.\n\n– {product_name} Team" + "body": "Hello {username},\n\nA gift code you redeemed was originally paid for by someone else. That payment has since been reversed (a chargeback).\n\nBecause of this, we've removed the perks that were added to your account when you redeemed the gift.\n\n{support_email, select, null {If you think this is a mistake, please contact the administrators of this instance and include any details you have about the gift code and when you redeemed it.} other {If you think this is a mistake, please contact our support team and include any details you have about the gift code and when you redeemed it.}}\n\n– {product_name} Team" }, "harvest_completed": { "subject": "Your {product_name} data export is ready to download", - "body": "Hello {username},\n\nYour data export is ready.\n\nDownload link:\n{downloadUrl}\n\nMessages included: {totalMessages, number}\nFile size: {fileSizeMB, number} MB\n\nThis link expires on {expiresAt, date, full} at {expiresAt, time, short}.\n\nIf you didn't request this export, please change your password immediately and contact our support team.\n\n– {product_name} Team" + "body": "Hello {username},\n\nYour data export is ready.\n\nDownload link:\n{downloadUrl}\n\nMessages included: {totalMessages, number}\nFile size: {fileSizeMB, number} MB\n\nThis link expires on {expiresAt, date, full} at {expiresAt, time, short}.\n\n{support_email, select, null {If you didn't request this export, please change your password immediately and contact the administrators of this instance.} other {If you didn't request this export, please change your password immediately and contact our support team.}}\n\n– {product_name} Team" }, "inactivity_warning": { "subject": "Your {product_name} account will be deleted due to inactivity", - "body": "Hello {username},\n\nWe haven't seen any activity on your {product_name} account since {lastActiveDate, date, full}.\n\nIf you don't log in by {deletionDate, date, full} at {deletionDate, time, short}, your account will be permanently deleted due to inactivity.\n\nLog in here:\n{loginUrl}\n\nIf you've used {product_name} recently, please contact our support team right away.\n\n– {product_name} Team" + "body": "Hello {username},\n\nWe haven't seen any activity on your {product_name} account since {lastActiveDate, date, full}.\n\nIf you don't log in by {deletionDate, date, full} at {deletionDate, time, short}, your account will be permanently deleted due to inactivity.\n\nLog in here:\n{loginUrl}\n\n{support_email, select, null {If you've used {product_name} recently, please contact the administrators of this instance right away.} other {If you've used {product_name} recently, please contact our support team right away.}}\n\n– {product_name} Team" }, "ip_authorization": { "subject": "Authorise login from a new IP address", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Your {product_name} report has been reviewed", - "body": "Hello {username},\n\nYour report (ID: {reportId}) has been reviewed by our Safety Team.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nThanks for helping keep {product_name} safe for everyone. We take all reports seriously and appreciate your contribution to the community.\n\nIf you have any questions or concerns about this outcome, please contact {safety_email}.\n\n– {product_name} Safety Team" + "body": "Hello {username},\n\nYour report (ID: {reportId}) has been reviewed by our Safety Team.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nThanks for helping keep {product_name} safe for everyone. We take all reports seriously and appreciate your contribution to the community.\n\n{safety_email, select, null {If you have any questions or concerns about this outcome, please contact the administrators of this instance.} other {If you have any questions or concerns about this outcome, please contact {safety_email}.}}\n\n– {product_name} Safety Team" }, "scheduled_deletion_notification": { "subject": "Your {product_name} account will be permanently deleted", - "body": "Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\nIf you believe this enforcement decision was incorrect, you can submit an appeal. Email {appeals_email} from this email address.\n\n– {product_name} Safety Team" + "body": "Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\nIf you believe this enforcement decision was incorrect, you can submit an appeal. {appeals_email, select, null {Contact the administrators of this instance.} other {Email {appeals_email} from this email address.}}\n\n– {product_name} Safety Team" }, "self_deletion_scheduled": { "subject": "Your {product_name} account deletion is scheduled", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/es-419.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/es-419.json index 624c6fccc..c9c3bbc37 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/es-419.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/es-419.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Se canceló la eliminación de tu cuenta de {product_name}", - "body": "Hola {username}:\n\nSe canceló la eliminación programada de tu cuenta de {product_name}. Tu cuenta no será eliminada.\n\nSi tienes alguna pregunta, comunícate con {safety_email}.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nSe canceló la eliminación programada de tu cuenta de {product_name}. Tu cuenta no será eliminada.\n\n{safety_email, select, null {Si tienes alguna pregunta, comunícate con los administradores de esta instancia.} other {Si tienes alguna pregunta, comunícate con {safety_email}.}}\n\n– Equipo de {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Tu cuenta de {product_name} será eliminada debido a inactividad", - "body": "Hola {username}:\n\nTu cuenta de {product_name} lleva mucho tiempo inactiva, por lo que su eliminación permanente está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nSi quieres conservar tu cuenta, comunícate con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nTu cuenta de {product_name} lleva mucho tiempo inactiva, por lo que su eliminación permanente está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\n{safety_email, select, null {Si quieres conservar tu cuenta, comunícate con los administradores de esta instancia antes de esa fecha.} other {Si quieres conservar tu cuenta, comunícate con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.}}\n\n– Equipo de {product_name}" }, "account_deletion_scheduled_requested": { "subject": "La eliminación de tu cuenta de {product_name} está programada", - "body": "Hola {username}:\n\nSegún lo que solicitaste, la eliminación permanente de tu cuenta de {product_name} está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nTu cuenta permanecerá bloqueada hasta entonces. Si no solicitaste esto, o si quieres conservar tu cuenta, comunícate con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nSegún lo que solicitaste, la eliminación permanente de tu cuenta de {product_name} está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nTu cuenta permanecerá bloqueada hasta entonces. {safety_email, select, null {Si no solicitaste esto, o si quieres conservar tu cuenta, comunícate con los administradores de esta instancia antes de esa fecha.} other {Si no solicitaste esto, o si quieres conservar tu cuenta, comunícate con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.}}\n\n– Equipo de {product_name}" }, "account_scheduled_deletion": { "subject": "Tu cuenta de {product_name} será eliminada permanentemente", - "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name} debido a infracciones de nuestros Términos del servicio o Normas de la comunidad.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\nPor favor, revisa:\n- Términos del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\nProceso de apelación:\nSi crees que esta decisión fue incorrecta o injustificada, tienes 60 días para presentar una apelación. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.\n\nEn tu apelación:\n- Explica claramente por qué crees que la decisión fue incorrecta o injustificada\n- Aporta las pruebas o el contexto que consideres relevantes\n\nUn miembro del Equipo de seguridad de {product_name} revisará tu apelación y podrá pausar la eliminación pendiente hasta que se haya tomado una decisión final.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name} debido a infracciones de nuestros Términos del servicio o Normas de la comunidad.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\n{legalLinks, select,\n both {Por favor, revisa:\n- Términos del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n terms {Por favor, revisa:\n- Términos del servicio: {termsUrl}\n\n}\n guidelines {Por favor, revisa:\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n other {}\n}Proceso de apelación:\nSi crees que esta decisión fue incorrecta o injustificada, tienes 60 días para presentar una apelación. {appeals_email, select, null {Comunícate con los administradores de esta instancia.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.}}\n\nEn tu apelación:\n- Explica claramente por qué crees que la decisión fue incorrecta o injustificada\n- Aporta las pruebas o el contexto que consideres relevantes\n\nUn miembro del Equipo de seguridad de {product_name} revisará tu apelación y podrá pausar la eliminación pendiente hasta que se haya tomado una decisión final.\n\n– Equipo de seguridad de {product_name}" }, "account_temp_banned": { "subject": "Tu cuenta de {product_name} ha sido suspendida temporalmente", - "body": "Hola {username}:\n\nTu cuenta de {product_name} ha sido suspendida temporalmente por infringir nuestros Términos del servicio o Normas de la comunidad.\n\nDuración: {durationHours, plural,\n =1 {1 hora}\n other {# horas}\n}\nSuspendida hasta: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nDurante este tiempo, no podrás acceder a tu cuenta.\n\nPor favor, revisa:\n- Términos del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\nSi crees que esta decisión fue incorrecta o injustificada, puedes presentar una apelación. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico y explica claramente por qué crees que la decisión fue incorrecta. Revisaremos tu apelación y te responderemos con nuestra decisión.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nTu cuenta de {product_name} ha sido suspendida temporalmente por infringir nuestros Términos del servicio o Normas de la comunidad.\n\nDuración: {durationHours, plural,\n =1 {1 hora}\n other {# horas}\n}\nSuspendida hasta: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nDurante este tiempo, no podrás acceder a tu cuenta.\n\n{legalLinks, select,\n both {Por favor, revisa:\n- Términos del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n terms {Por favor, revisa:\n- Términos del servicio: {termsUrl}\n\n}\n guidelines {Por favor, revisa:\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n other {}\n}Si crees que esta decisión fue incorrecta o injustificada, puedes presentar una apelación. {appeals_email, select, null {Comunícate con los administradores de esta instancia y explica claramente por qué crees que la decisión fue incorrecta.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico y explica claramente por qué crees que la decisión fue incorrecta.}} Revisaremos tu apelación y te responderemos con nuestra decisión.\n\n– Equipo de seguridad de {product_name}" }, "donation_confirmation": { "subject": "Gracias por tu donación a {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Tomamos una decisión sobre tu reporte en {product_name}", - "body": "Hola:\n\nNuestro equipo de seguridad revisó tu reporte conforme a la Ley de Servicios Digitales (ID: {reportId}) y tomó una decisión.{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nNo compartimos detalles sobre las medidas tomadas contra la cuenta de otra persona, porque son sus datos personales.\n\nSi no estás de acuerdo con esta decisión, puedes apelar sin costo dentro de un plazo de 60 días. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico, incluye el ID de tu reporte y explica por qué crees que la decisión es incorrecta. Si te encuentras en la UE, también puedes remitir la disputa a un órgano certificado de resolución extrajudicial de litigios. Nada de esto afecta tu derecho a acudir a los tribunales.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola:\n\nNuestro equipo de seguridad revisó tu reporte conforme a la Ley de Servicios Digitales (ID: {reportId}) y tomó una decisión.{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nNo compartimos detalles sobre las medidas tomadas contra la cuenta de otra persona, porque son sus datos personales.\n\nSi no estás de acuerdo con esta decisión, puedes apelar sin costo dentro de un plazo de 60 días. {appeals_email, select, null {Comunícate con los administradores de esta instancia, incluye el ID de tu reporte y explica por qué crees que la decisión es incorrecta.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico, incluye el ID de tu reporte y explica por qué crees que la decisión es incorrecta.}} Si te encuentras en la UE, también puedes remitir la disputa a un órgano certificado de resolución extrajudicial de litigios. Nada de esto afecta tu derecho a acudir a los tribunales.\n\n– Equipo de seguridad de {product_name}" }, "dsa_report_verification": { "subject": "Verifica tu correo electrónico para enviar un reporte conforme a la Ley de Servicios Digitales", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Los beneficios de tu regalo canjeado han sido eliminados", - "body": "Hola {username}:\n\nUn código de regalo que canjeaste fue pagado originalmente por otra persona. Ese pago ha sido revertido (un contracargo).\n\nDebido a esto, hemos eliminado los beneficios que se agregaron a tu cuenta cuando canjeaste el regalo.\n\nSi crees que esto es un error, comunícate con nuestro equipo de soporte e incluye cualquier detalle que tengas sobre el código de regalo y cuándo lo canjeaste.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nUn código de regalo que canjeaste fue pagado originalmente por otra persona. Ese pago ha sido revertido (un contracargo).\n\nDebido a esto, hemos eliminado los beneficios que se agregaron a tu cuenta cuando canjeaste el regalo.\n\n{support_email, select, null {Si crees que esto es un error, comunícate con los administradores de esta instancia e incluye cualquier detalle que tengas sobre el código de regalo y cuándo lo canjeaste.} other {Si crees que esto es un error, comunícate con nuestro equipo de soporte e incluye cualquier detalle que tengas sobre el código de regalo y cuándo lo canjeaste.}}\n\n– Equipo de {product_name}" }, "harvest_completed": { "subject": "Tu exportación de datos de {product_name} está lista para descargar", - "body": "Hola {username}:\n\nTu exportación de datos está lista.\n\nEnlace de descarga:\n{downloadUrl}\n\nMensajes incluidos: {totalMessages, number}\nTamaño del archivo: {fileSizeMB, number} MB\n\nEste enlace vence el {expiresAt, date, full} a las {expiresAt, time, short}.\n\nSi no solicitaste esta exportación, por favor, cambia tu contraseña inmediatamente y comunícate con nuestro equipo de soporte.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nTu exportación de datos está lista.\n\nEnlace de descarga:\n{downloadUrl}\n\nMensajes incluidos: {totalMessages, number}\nTamaño del archivo: {fileSizeMB, number} MB\n\nEste enlace vence el {expiresAt, date, full} a las {expiresAt, time, short}.\n\n{support_email, select, null {Si no solicitaste esta exportación, por favor, cambia tu contraseña inmediatamente y comunícate con los administradores de esta instancia.} other {Si no solicitaste esta exportación, por favor, cambia tu contraseña inmediatamente y comunícate con nuestro equipo de soporte.}}\n\n– Equipo de {product_name}" }, "inactivity_warning": { "subject": "Tu cuenta de {product_name} será eliminada debido a inactividad", - "body": "Hola {username}:\n\nNo hemos visto actividad en tu cuenta de {product_name} desde el {lastActiveDate, date, full}.\n\nSi no inicias sesión antes del {deletionDate, date, full} a las {deletionDate, time, short}, tu cuenta será eliminada permanentemente debido a inactividad.\n\nInicia sesión aquí:\n{loginUrl}\n\nSi has usado {product_name} recientemente, por favor, comunícate con nuestro equipo de soporte de inmediato.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nNo hemos visto actividad en tu cuenta de {product_name} desde el {lastActiveDate, date, full}.\n\nSi no inicias sesión antes del {deletionDate, date, full} a las {deletionDate, time, short}, tu cuenta será eliminada permanentemente debido a inactividad.\n\nInicia sesión aquí:\n{loginUrl}\n\n{support_email, select, null {Si has usado {product_name} recientemente, por favor, comunícate con los administradores de esta instancia de inmediato.} other {Si has usado {product_name} recientemente, por favor, comunícate con nuestro equipo de soporte de inmediato.}}\n\n– Equipo de {product_name}" }, "ip_authorization": { "subject": "Autoriza el inicio de sesión desde una nueva dirección IP", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Se revisó tu reporte en {product_name}", - "body": "Hola {username}:\n\nNuestro equipo de seguridad revisó tu reporte (ID: {reportId}).{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nGracias por ayudar a mantener {product_name} seguro para todos. Nos tomamos todos los reportes en serio y agradecemos tu contribución a la comunidad.\n\nSi tienes alguna pregunta o inquietud sobre este resultado, comunícate con {safety_email}.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nNuestro equipo de seguridad revisó tu reporte (ID: {reportId}).{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nGracias por ayudar a mantener {product_name} seguro para todos. Nos tomamos todos los reportes en serio y agradecemos tu contribución a la comunidad.\n\n{safety_email, select, null {Si tienes alguna pregunta o inquietud sobre este resultado, comunícate con los administradores de esta instancia.} other {Si tienes alguna pregunta o inquietud sobre este resultado, comunícate con {safety_email}.}}\n\n– Equipo de seguridad de {product_name}" }, "scheduled_deletion_notification": { "subject": "Tu cuenta de {product_name} será eliminada permanentemente", - "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name}.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\nSi crees que esta decisión fue incorrecta, puedes presentar una apelación. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name}.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\nSi crees que esta decisión fue incorrecta, puedes presentar una apelación. {appeals_email, select, null {Comunícate con los administradores de esta instancia.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.}}\n\n– Equipo de seguridad de {product_name}" }, "self_deletion_scheduled": { "subject": "La eliminación de tu cuenta de {product_name} está programada", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/es-ES.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/es-ES.json index 63a8ca087..f945838c4 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/es-ES.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/es-ES.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Se ha cancelado la eliminación de tu cuenta de {product_name}", - "body": "Hola {username}:\n\nSe ha cancelado la eliminación programada de tu cuenta de {product_name}. Tu cuenta no se eliminará.\n\nSi tienes alguna pregunta, ponte en contacto con {safety_email}.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nSe ha cancelado la eliminación programada de tu cuenta de {product_name}. Tu cuenta no se eliminará.\n\n{safety_email, select, null {Si tienes alguna pregunta, ponte en contacto con los administradores de esta instancia.} other {Si tienes alguna pregunta, ponte en contacto con {safety_email}.}}\n\n– Equipo de {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Tu cuenta de {product_name} será eliminada debido a la inactividad", - "body": "Hola {username}:\n\nTu cuenta de {product_name} lleva mucho tiempo inactiva, por lo que su eliminación permanente está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nSi quieres conservar tu cuenta, ponte en contacto con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nTu cuenta de {product_name} lleva mucho tiempo inactiva, por lo que su eliminación permanente está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\n{safety_email, select, null {Si quieres conservar tu cuenta, ponte en contacto con los administradores de esta instancia antes de esa fecha.} other {Si quieres conservar tu cuenta, ponte en contacto con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.}}\n\n– Equipo de {product_name}" }, "account_deletion_scheduled_requested": { "subject": "La eliminación de tu cuenta de {product_name} está programada", - "body": "Hola {username}:\n\nTal y como solicitaste, la eliminación permanente de tu cuenta de {product_name} está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nTu cuenta permanecerá bloqueada hasta entonces. Si no solicitaste esto, o si quieres conservar tu cuenta, ponte en contacto con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nTal y como solicitaste, la eliminación permanente de tu cuenta de {product_name} está programada para el:\n\n{deletionDate, date, full} a las {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nTu cuenta permanecerá bloqueada hasta entonces. {safety_email, select, null {Si no solicitaste esto, o si quieres conservar tu cuenta, ponte en contacto con los administradores de esta instancia antes de esa fecha.} other {Si no solicitaste esto, o si quieres conservar tu cuenta, ponte en contacto con {safety_email} desde esta dirección de correo electrónico antes de esa fecha.}}\n\n– Equipo de {product_name}" }, "account_scheduled_deletion": { "subject": "Tu cuenta de {product_name} será eliminada permanentemente", - "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name} debido a infracciones de nuestras Condiciones del servicio o Normas de la comunidad.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\nPor favor, revisa:\n- Condiciones del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\nProceso de apelación:\nSi crees que esta decisión fue incorrecta o injustificada, tienes 60 días para presentar una apelación. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.\n\nEn tu apelación:\n- Explica claramente por qué crees que la decisión fue incorrecta o injustificada\n- Aporta las pruebas o el contexto que consideres relevantes\n\nUn miembro del Equipo de seguridad de {product_name} revisará tu apelación y podrá pausar la eliminación pendiente hasta que se haya tomado una decisión final.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name} debido a infracciones de nuestras Condiciones del servicio o Normas de la comunidad.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\n{legalLinks, select,\n both {Por favor, revisa:\n- Condiciones del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n terms {Por favor, revisa:\n- Condiciones del servicio: {termsUrl}\n\n}\n guidelines {Por favor, revisa:\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n other {}\n}Proceso de apelación:\nSi crees que esta decisión fue incorrecta o injustificada, tienes 60 días para presentar una apelación. {appeals_email, select, null {Ponte en contacto con los administradores de esta instancia.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.}}\n\nEn tu apelación:\n- Explica claramente por qué crees que la decisión fue incorrecta o injustificada\n- Aporta las pruebas o el contexto que consideres relevantes\n\nUn miembro del Equipo de seguridad de {product_name} revisará tu apelación y podrá pausar la eliminación pendiente hasta que se haya tomado una decisión final.\n\n– Equipo de seguridad de {product_name}" }, "account_temp_banned": { "subject": "Tu cuenta de {product_name} ha sido suspendida temporalmente", - "body": "Hola {username}:\n\nTu cuenta de {product_name} ha sido suspendida temporalmente por infringir nuestras Condiciones del servicio o Normas de la comunidad.\n\nDuración: {durationHours, plural,\n =1 {1 hora}\n other {# horas}\n}\nSuspendida hasta: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nDurante este tiempo, no podrás acceder a tu cuenta.\n\nPor favor, revisa:\n- Condiciones del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\nSi crees que esta decisión fue incorrecta o injustificada, puedes presentar una apelación. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico y explica claramente por qué crees que la decisión fue incorrecta. Revisaremos tu apelación y te responderemos con nuestra decisión.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nTu cuenta de {product_name} ha sido suspendida temporalmente por infringir nuestras Condiciones del servicio o Normas de la comunidad.\n\nDuración: {durationHours, plural,\n =1 {1 hora}\n other {# horas}\n}\nSuspendida hasta: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nDurante este tiempo, no podrás acceder a tu cuenta.\n\n{legalLinks, select,\n both {Por favor, revisa:\n- Condiciones del servicio: {termsUrl}\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n terms {Por favor, revisa:\n- Condiciones del servicio: {termsUrl}\n\n}\n guidelines {Por favor, revisa:\n- Normas de la comunidad: {guidelinesUrl}\n\n}\n other {}\n}Si crees que esta decisión fue incorrecta o injustificada, puedes presentar una apelación. {appeals_email, select, null {Ponte en contacto con los administradores de esta instancia y explica claramente por qué crees que la decisión fue incorrecta.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico y explica claramente por qué crees que la decisión fue incorrecta.}} Revisaremos tu apelación y te responderemos con nuestra decisión.\n\n– Equipo de seguridad de {product_name}" }, "donation_confirmation": { "subject": "Gracias por tu donación a {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Hemos tomado una decisión sobre tu denuncia en {product_name}", - "body": "Hola:\n\nNuestro equipo de seguridad ha revisado tu denuncia conforme a la Ley de Servicios Digitales (ID: {reportId}) y ha tomado una decisión.{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nNo compartimos detalles sobre las medidas adoptadas contra la cuenta de otra persona, porque son sus datos personales.\n\nSi no estás de acuerdo con esta decisión, puedes presentar una apelación de forma gratuita en un plazo de 60 días. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico, incluye el ID de tu denuncia y explica por qué crees que la decisión es incorrecta. Si te encuentras en la UE, también puedes someter el litigio a un órgano certificado de resolución extrajudicial de litigios. Nada de esto afecta a tu derecho a acudir a los tribunales.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola:\n\nNuestro equipo de seguridad ha revisado tu denuncia conforme a la Ley de Servicios Digitales (ID: {reportId}) y ha tomado una decisión.{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nNo compartimos detalles sobre las medidas adoptadas contra la cuenta de otra persona, porque son sus datos personales.\n\nSi no estás de acuerdo con esta decisión, puedes presentar una apelación de forma gratuita en un plazo de 60 días. {appeals_email, select, null {Ponte en contacto con los administradores de esta instancia, incluye el ID de tu denuncia y explica por qué crees que la decisión es incorrecta.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico, incluye el ID de tu denuncia y explica por qué crees que la decisión es incorrecta.}} Si te encuentras en la UE, también puedes someter el litigio a un órgano certificado de resolución extrajudicial de litigios. Nada de esto afecta a tu derecho a acudir a los tribunales.\n\n– Equipo de seguridad de {product_name}" }, "dsa_report_verification": { "subject": "Verifica tu correo electrónico para enviar una denuncia conforme a la Ley de Servicios Digitales", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Se han eliminado las ventajas obtenidas con tu regalo canjeado", - "body": "Hola {username}:\n\nUn código de regalo que canjeaste fue pagado originalmente por otra persona. Ese pago ha sido revertido (una devolución de cargo).\n\nDebido a esto, hemos eliminado las ventajas que se añadieron a tu cuenta cuando canjeaste el regalo.\n\nSi crees que esto es un error, ponte en contacto con nuestro equipo de soporte e incluye cualquier detalle que tengas sobre el código de regalo y cuándo lo canjeaste.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nUn código de regalo que canjeaste fue pagado originalmente por otra persona. Ese pago ha sido revertido (una devolución de cargo).\n\nDebido a esto, hemos eliminado las ventajas que se añadieron a tu cuenta cuando canjeaste el regalo.\n\n{support_email, select, null {Si crees que esto es un error, ponte en contacto con los administradores de esta instancia e incluye cualquier detalle que tengas sobre el código de regalo y cuándo lo canjeaste.} other {Si crees que esto es un error, ponte en contacto con nuestro equipo de soporte e incluye cualquier detalle que tengas sobre el código de regalo y cuándo lo canjeaste.}}\n\n– Equipo de {product_name}" }, "harvest_completed": { "subject": "Tu exportación de datos de {product_name} está lista para descargar", - "body": "Hola {username}:\n\nTu exportación de datos está lista.\n\nEnlace de descarga:\n{downloadUrl}\n\nMensajes incluidos: {totalMessages, number}\nTamaño del archivo: {fileSizeMB, number} MB\n\nEste enlace caduca el {expiresAt, date, full} a las {expiresAt, time, short}.\n\nSi no solicitaste esta exportación, cambia tu contraseña inmediatamente y ponte en contacto con nuestro equipo de soporte.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nTu exportación de datos está lista.\n\nEnlace de descarga:\n{downloadUrl}\n\nMensajes incluidos: {totalMessages, number}\nTamaño del archivo: {fileSizeMB, number} MB\n\nEste enlace caduca el {expiresAt, date, full} a las {expiresAt, time, short}.\n\n{support_email, select, null {Si no solicitaste esta exportación, cambia tu contraseña inmediatamente y ponte en contacto con los administradores de esta instancia.} other {Si no solicitaste esta exportación, cambia tu contraseña inmediatamente y ponte en contacto con nuestro equipo de soporte.}}\n\n– Equipo de {product_name}" }, "inactivity_warning": { "subject": "Tu cuenta de {product_name} será eliminada debido a la inactividad", - "body": "Hola {username}:\n\nNo hemos visto ninguna actividad en tu cuenta de {product_name} desde el {lastActiveDate, date, full}.\n\nSi no inicias sesión antes del {deletionDate, date, full} a las {deletionDate, time, short}, tu cuenta será eliminada permanentemente debido a la inactividad.\n\nInicia sesión aquí:\n{loginUrl}\n\nSi has usado {product_name} recientemente, ponte en contacto con nuestro equipo de soporte de inmediato.\n\n– Equipo de {product_name}" + "body": "Hola {username}:\n\nNo hemos visto ninguna actividad en tu cuenta de {product_name} desde el {lastActiveDate, date, full}.\n\nSi no inicias sesión antes del {deletionDate, date, full} a las {deletionDate, time, short}, tu cuenta será eliminada permanentemente debido a la inactividad.\n\nInicia sesión aquí:\n{loginUrl}\n\n{support_email, select, null {Si has usado {product_name} recientemente, ponte en contacto con los administradores de esta instancia de inmediato.} other {Si has usado {product_name} recientemente, ponte en contacto con nuestro equipo de soporte de inmediato.}}\n\n– Equipo de {product_name}" }, "ip_authorization": { "subject": "Autoriza el inicio de sesión desde una nueva dirección IP", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Se ha revisado tu denuncia en {product_name}", - "body": "Hola {username}:\n\nNuestro equipo de seguridad ha revisado tu denuncia (ID: {reportId}).{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nGracias por ayudarnos a mantener {product_name} seguro para todos. Nos tomamos todas las denuncias en serio y agradecemos tu contribución a la comunidad.\n\nSi tienes alguna pregunta o inquietud sobre este resultado, ponte en contacto con {safety_email}.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nNuestro equipo de seguridad ha revisado tu denuncia (ID: {reportId}).{hasComment, select, yes {\n\nRespuesta del equipo de seguridad:\n{publicComment}} other {}}\n\nGracias por ayudarnos a mantener {product_name} seguro para todos. Nos tomamos todas las denuncias en serio y agradecemos tu contribución a la comunidad.\n\n{safety_email, select, null {Si tienes alguna pregunta o inquietud sobre este resultado, ponte en contacto con los administradores de esta instancia.} other {Si tienes alguna pregunta o inquietud sobre este resultado, ponte en contacto con {safety_email}.}}\n\n– Equipo de seguridad de {product_name}" }, "scheduled_deletion_notification": { "subject": "Tu cuenta de {product_name} será eliminada permanentemente", - "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name}.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\nSi crees que esta decisión fue incorrecta, puedes presentar una apelación. Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nSe ha programado la eliminación permanente de tu cuenta de {product_name}.\n\nEliminación programada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta es una medida grave. Los datos de tu cuenta se eliminarán permanentemente en la fecha programada.\n\nSi crees que esta decisión fue incorrecta, puedes presentar una apelación. {appeals_email, select, null {Ponte en contacto con los administradores de esta instancia.} other {Envía un correo electrónico a {appeals_email} desde esta dirección de correo electrónico.}}\n\n– Equipo de seguridad de {product_name}" }, "self_deletion_scheduled": { "subject": "La eliminación de tu cuenta de {product_name} está programada", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/fi.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/fi.json index f4d6e52f3..9304909f8 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/fi.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/fi.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "{product_name}-tilisi poistaminen on peruttu", - "body": "Hei {username},\n\n{product_name}-tilisi ajoitettu poisto on peruttu. Tiliäsi ei poisteta.\n\nJos sinulla on kysyttävää, ota yhteyttä osoitteeseen {safety_email}.\n\n– {product_name}-tiimi" + "body": "Hei {username},\n\n{product_name}-tilisi ajoitettu poisto on peruttu. Tiliäsi ei poisteta.\n\n{safety_email, select, null {Jos sinulla on kysyttävää, ota yhteyttä tämän instanssin ylläpitäjiin.} other {Jos sinulla on kysyttävää, ota yhteyttä osoitteeseen {safety_email}.}}\n\n– {product_name}-tiimi" }, "account_deletion_scheduled_inactivity": { "subject": "{product_name}-tilisi poistetaan käyttämättömyyden vuoksi", - "body": "Hei {username},\n\n{product_name}-tilisi on ollut pitkään käyttämättä, joten se on ajoitettu poistettavaksi pysyvästi:\n\n{deletionDate, date, full} klo {deletionDate, time, short}{reason, select, null {} other {\n\nSyy: {reason}}}\n\nJos haluat säilyttää tilisi, ota yhteyttä osoitteeseen {safety_email} tästä sähköpostiosoitteesta ennen tätä päivämäärää.\n\n– {product_name}-tiimi" + "body": "Hei {username},\n\n{product_name}-tilisi on ollut pitkään käyttämättä, joten se on ajoitettu poistettavaksi pysyvästi:\n\n{deletionDate, date, full} klo {deletionDate, time, short}{reason, select, null {} other {\n\nSyy: {reason}}}\n\n{safety_email, select, null {Jos haluat säilyttää tilisi, ota yhteyttä tämän instanssin ylläpitäjiin ennen tätä päivämäärää.} other {Jos haluat säilyttää tilisi, ota yhteyttä osoitteeseen {safety_email} tästä sähköpostiosoitteesta ennen tätä päivämäärää.}}\n\n– {product_name}-tiimi" }, "account_deletion_scheduled_requested": { "subject": "{product_name}-tilisi poistaminen on ajoitettu", - "body": "Hei {username},\n\nPyyntösi mukaisesti {product_name}-tilisi on ajoitettu poistettavaksi pysyvästi:\n\n{deletionDate, date, full} klo {deletionDate, time, short}{reason, select, null {} other {\n\nSyy: {reason}}}\n\nTilisi on lukittu siihen asti. Jos et pyytänyt tätä tai haluat säilyttää tilisi, ota yhteyttä osoitteeseen {safety_email} tästä sähköpostiosoitteesta ennen tätä päivämäärää.\n\n– {product_name}-tiimi" + "body": "Hei {username},\n\nPyyntösi mukaisesti {product_name}-tilisi on ajoitettu poistettavaksi pysyvästi:\n\n{deletionDate, date, full} klo {deletionDate, time, short}{reason, select, null {} other {\n\nSyy: {reason}}}\n\nTilisi on lukittu siihen asti. {safety_email, select, null {Jos et pyytänyt tätä tai haluat säilyttää tilisi, ota yhteyttä tämän instanssin ylläpitäjiin ennen tätä päivämäärää.} other {Jos et pyytänyt tätä tai haluat säilyttää tilisi, ota yhteyttä osoitteeseen {safety_email} tästä sähköpostiosoitteesta ennen tätä päivämäärää.}}\n\n– {product_name}-tiimi" }, "account_scheduled_deletion": { "subject": "Käyttäjätilisi {product_name}-palvelussa poistetaan pysyvästi", - "body": "Hei {username},\n\n{product_name}-käyttäjätilisi on ajoitettu poistettavaksi pysyvästi käyttöehtojemme tai yhteisösääntöjemme rikkomisen vuoksi.\n\nAjoitettu poisto: {deletionDate, date, full} klo {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Syy: {reason}}\n}\n\nTämä on vakava toimenpide. Tilisi tiedot poistetaan pysyvästi ajoitettuna päivänä.\n\nTutustu:\n- Käyttöehdot: {termsUrl}\n- Yhteisön säännöt: {guidelinesUrl}\n\nValitusprosessi:\nJos uskot, että tämä päätös oli virheellinen tai perusteeton, sinulla on 60 päivää aikaa tehdä valitus. Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta.\n\nValituksessasi:\n- Selitä selkeästi, miksi uskot päätöksen olleen virheellinen tai perusteeton\n- Liitä mukaan asiaankuuluvat todisteet tai taustatiedot\n\n{product_name}-turvallisuustiimin jäsen käsittelee valituksesi ja voi keskeyttää vireillä olevan poiston, kunnes lopullinen päätös on tehty.\n\n– {product_name}-turvallisuustiimi" + "body": "Hei {username},\n\n{product_name}-käyttäjätilisi on ajoitettu poistettavaksi pysyvästi käyttöehtojemme tai yhteisösääntöjemme rikkomisen vuoksi.\n\nAjoitettu poisto: {deletionDate, date, full} klo {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Syy: {reason}}\n}\n\nTämä on vakava toimenpide. Tilisi tiedot poistetaan pysyvästi ajoitettuna päivänä.\n\n{legalLinks, select,\n both {Tutustu:\n- Käyttöehdot: {termsUrl}\n- Yhteisön säännöt: {guidelinesUrl}\n\n}\n terms {Tutustu:\n- Käyttöehdot: {termsUrl}\n\n}\n guidelines {Tutustu:\n- Yhteisön säännöt: {guidelinesUrl}\n\n}\n other {}\n}Valitusprosessi:\nJos uskot, että tämä päätös oli virheellinen tai perusteeton, sinulla on 60 päivää aikaa tehdä valitus. {appeals_email, select, null {Ota yhteyttä tämän instanssin ylläpitäjiin.} other {Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta.}}\n\nValituksessasi:\n- Selitä selkeästi, miksi uskot päätöksen olleen virheellinen tai perusteeton\n- Liitä mukaan asiaankuuluvat todisteet tai taustatiedot\n\n{product_name}-turvallisuustiimin jäsen käsittelee valituksesi ja voi keskeyttää vireillä olevan poiston, kunnes lopullinen päätös on tehty.\n\n– {product_name}-turvallisuustiimi" }, "account_temp_banned": { "subject": "Käyttäjätilisi {product_name}-palvelussa on tilapäisesti jäädytetty", - "body": "Hei {username},\n\n{product_name}-käyttäjätilisi on jäädytetty tilapäisesti käyttöehtojemme tai yhteisösääntöjemme rikkomisen vuoksi.\n\nKesto: {durationHours, plural,\n =1 {1 tunti}\n other {# tuntia}\n}\nJäädytettynä {bannedUntil, date, full} klo {bannedUntil, time, short} asti\n\n{reason, select,\n null {}\n other {Syy: {reason}}\n}\n\nTänä aikana et voi käyttää tiliäsi.\n\nTutustu:\n- Käyttöehdot: {termsUrl}\n- Yhteisön säännöt: {guidelinesUrl}\n\nJos uskot, että tämä päätös oli virheellinen tai perusteeton, voit tehdä valituksen. Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta ja selitä selkeästi, miksi uskot päätöksen olleen virheellinen. Käsittelemme valituksesi ja ilmoitamme sinulle päätöksemme.\n\n– {product_name}-turvallisuustiimi" + "body": "Hei {username},\n\n{product_name}-käyttäjätilisi on jäädytetty tilapäisesti käyttöehtojemme tai yhteisösääntöjemme rikkomisen vuoksi.\n\nKesto: {durationHours, plural,\n =1 {1 tunti}\n other {# tuntia}\n}\nJäädytettynä {bannedUntil, date, full} klo {bannedUntil, time, short} asti\n\n{reason, select,\n null {}\n other {Syy: {reason}}\n}\n\nTänä aikana et voi käyttää tiliäsi.\n\n{legalLinks, select,\n both {Tutustu:\n- Käyttöehdot: {termsUrl}\n- Yhteisön säännöt: {guidelinesUrl}\n\n}\n terms {Tutustu:\n- Käyttöehdot: {termsUrl}\n\n}\n guidelines {Tutustu:\n- Yhteisön säännöt: {guidelinesUrl}\n\n}\n other {}\n}Jos uskot, että tämä päätös oli virheellinen tai perusteeton, voit tehdä valituksen. {appeals_email, select, null {Ota yhteyttä tämän instanssin ylläpitäjiin ja selitä selkeästi, miksi uskot päätöksen olleen virheellinen.} other {Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta ja selitä selkeästi, miksi uskot päätöksen olleen virheellinen.}} Käsittelemme valituksesi ja ilmoitamme sinulle päätöksemme.\n\n– {product_name}-turvallisuustiimi" }, "donation_confirmation": { "subject": "Kiitos {product_name}-lahjoituksestasi", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Teimme päätöksen {product_name}-ilmoituksestasi", - "body": "Hei,\n\nTurvallisuustiimimme on käsitellyt digipalvelusäädöksen mukaisen ilmoituksesi (ID: {reportId}) ja tehnyt päätöksen.{hasComment, select, yes {\n\nTurvallisuustiimin vastaus:\n{publicComment}} other {}}\n\nEmme kerro toisen henkilön tiliin kohdistuneista toimista, koska ne ovat hänen henkilötietojaan.\n\nJos olet eri mieltä päätöksestä, voit valittaa siitä maksutta 60 päivän kuluessa. Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta, kerro ilmoituksesi tunnus ja selitä, miksi pidät päätöstä virheellisenä. Jos olet EU:ssa, voit myös viedä riidan sertifioidun tuomioistuimen ulkopuolisen riidanratkaisuelimen käsiteltäväksi. Mikään tästä ei vaikuta oikeuteesi viedä asia tuomioistuimeen.\n\n– {product_name}-turvallisuustiimi" + "body": "Hei,\n\nTurvallisuustiimimme on käsitellyt digipalvelusäädöksen mukaisen ilmoituksesi (ID: {reportId}) ja tehnyt päätöksen.{hasComment, select, yes {\n\nTurvallisuustiimin vastaus:\n{publicComment}} other {}}\n\nEmme kerro toisen henkilön tiliin kohdistuneista toimista, koska ne ovat hänen henkilötietojaan.\n\nJos olet eri mieltä päätöksestä, voit valittaa siitä maksutta 60 päivän kuluessa. {appeals_email, select, null {Ota yhteyttä tämän instanssin ylläpitäjiin, kerro ilmoituksesi tunnus ja selitä, miksi pidät päätöstä virheellisenä.} other {Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta, kerro ilmoituksesi tunnus ja selitä, miksi pidät päätöstä virheellisenä.}} Jos olet EU:ssa, voit myös viedä riidan sertifioidun tuomioistuimen ulkopuolisen riidanratkaisuelimen käsiteltäväksi. Mikään tästä ei vaikuta oikeuteesi viedä asia tuomioistuimeen.\n\n– {product_name}-turvallisuustiimi" }, "dsa_report_verification": { "subject": "Vahvista sähköpostiosoitteesi DSA-ilmoitusta varten", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Lunastamasi lahjan edut on poistettu", - "body": "Hei {username},\n\nLunastamasi lahjakoodin oli alun perin maksanut joku muu. Kyseinen maksu on sittemmin peruutettu (takaisinperintä).\n\nTämän vuoksi olemme poistaneet edut, jotka lisättiin tilillesi, kun lunastit lahjan.\n\nJos uskot tämän olevan virhe, ota yhteyttä tukitiimiimme ja liitä mukaan kaikki tiedot lahjakoodista ja sen lunastusajankohdasta.\n\n– {product_name}-tiimi" + "body": "Hei {username},\n\nLunastamasi lahjakoodin oli alun perin maksanut joku muu. Kyseinen maksu on sittemmin peruutettu (takaisinperintä).\n\nTämän vuoksi olemme poistaneet edut, jotka lisättiin tilillesi, kun lunastit lahjan.\n\n{support_email, select, null {Jos uskot tämän olevan virhe, ota yhteyttä tämän instanssin ylläpitäjiin ja liitä mukaan kaikki tiedot lahjakoodista ja sen lunastusajankohdasta.} other {Jos uskot tämän olevan virhe, ota yhteyttä tukitiimiimme ja liitä mukaan kaikki tiedot lahjakoodista ja sen lunastusajankohdasta.}}\n\n– {product_name}-tiimi" }, "harvest_completed": { "subject": "{product_name}-tietojesi vienti on ladattavissa", - "body": "Hei {username},\n\nTietojesi vienti on valmis.\n\nLatauslinkki:\n{downloadUrl}\n\nMukana olevat viestit: {totalMessages, number}\nTiedoston koko: {fileSizeMB, number} MB\n\nTämä linkki vanhenee {expiresAt, date, full} klo {expiresAt, time, short}.\n\nJos et pyytänyt tätä vientiä, vaihda salasanasi välittömästi ja ota yhteyttä tukitiimiimme.\n\n– {product_name}-tiimi" + "body": "Hei {username},\n\nTietojesi vienti on valmis.\n\nLatauslinkki:\n{downloadUrl}\n\nMukana olevat viestit: {totalMessages, number}\nTiedoston koko: {fileSizeMB, number} MB\n\nTämä linkki vanhenee {expiresAt, date, full} klo {expiresAt, time, short}.\n\n{support_email, select, null {Jos et pyytänyt tätä vientiä, vaihda salasanasi välittömästi ja ota yhteyttä tämän instanssin ylläpitäjiin.} other {Jos et pyytänyt tätä vientiä, vaihda salasanasi välittömästi ja ota yhteyttä tukitiimiimme.}}\n\n– {product_name}-tiimi" }, "inactivity_warning": { "subject": "{product_name}-tilisi poistetaan käyttämättömyyden vuoksi", - "body": "Hei {username},\n\nEmme ole havainneet toimintaa {product_name}-tililläsi {lastActiveDate, date, full} jälkeen.\n\nJos et kirjaudu sisään {deletionDate, date, full} klo {deletionDate, time, short} mennessä, tilisi poistetaan pysyvästi passiivisuuden vuoksi.\n\nKirjaudu sisään täältä:\n{loginUrl}\n\nJos olet käyttänyt {product_name}-palvelua äskettäin, ota yhteyttä tukitiimiimme välittömästi.\n\n– {product_name}-tiimi" + "body": "Hei {username},\n\nEmme ole havainneet toimintaa {product_name}-tililläsi {lastActiveDate, date, full} jälkeen.\n\nJos et kirjaudu sisään {deletionDate, date, full} klo {deletionDate, time, short} mennessä, tilisi poistetaan pysyvästi passiivisuuden vuoksi.\n\nKirjaudu sisään täältä:\n{loginUrl}\n\n{support_email, select, null {Jos olet käyttänyt {product_name}-palvelua äskettäin, ota yhteyttä tämän instanssin ylläpitäjiin välittömästi.} other {Jos olet käyttänyt {product_name}-palvelua äskettäin, ota yhteyttä tukitiimiimme välittömästi.}}\n\n– {product_name}-tiimi" }, "ip_authorization": { "subject": "Hyväksy kirjautuminen uudesta IP-osoitteesta", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "{product_name}-ilmoituksesi on käsitelty", - "body": "Hei {username},\n\nTurvallisuustiimimme on käsitellyt ilmoituksesi (ID: {reportId}).{hasComment, select, yes {\n\nTurvallisuustiimin vastaus:\n{publicComment}} other {}}\n\nKiitos, että autat pitämään {product_name}-palvelun turvallisena kaikille. Otamme kaikki ilmoitukset vakavasti ja arvostamme panostasi yhteisöön.\n\nJos sinulla on kysyttävää tai huolenaiheita tästä päätöksestä, ota yhteyttä osoitteeseen {safety_email}.\n\n– {product_name}-turvallisuustiimi" + "body": "Hei {username},\n\nTurvallisuustiimimme on käsitellyt ilmoituksesi (ID: {reportId}).{hasComment, select, yes {\n\nTurvallisuustiimin vastaus:\n{publicComment}} other {}}\n\nKiitos, että autat pitämään {product_name}-palvelun turvallisena kaikille. Otamme kaikki ilmoitukset vakavasti ja arvostamme panostasi yhteisöön.\n\n{safety_email, select, null {Jos sinulla on kysyttävää tai huolenaiheita tästä päätöksestä, ota yhteyttä tämän instanssin ylläpitäjiin.} other {Jos sinulla on kysyttävää tai huolenaiheita tästä päätöksestä, ota yhteyttä osoitteeseen {safety_email}.}}\n\n– {product_name}-turvallisuustiimi" }, "scheduled_deletion_notification": { "subject": "Käyttäjätilisi {product_name}-palvelussa poistetaan pysyvästi", - "body": "Hei {username},\n\n{product_name}-tilisi on ajoitettu poistettavaksi pysyvästi.\n\nAjoitettu poisto: {deletionDate, date, full} klo {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Syy: {reason}}\n}\n\nTämä on vakava toimenpide. Tilisi tiedot poistetaan pysyvästi ajoitettuna päivänä.\n\nJos uskot, että tämä päätös oli virheellinen, voit tehdä valituksen. Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta.\n\n– {product_name}-turvallisuustiimi" + "body": "Hei {username},\n\n{product_name}-tilisi on ajoitettu poistettavaksi pysyvästi.\n\nAjoitettu poisto: {deletionDate, date, full} klo {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Syy: {reason}}\n}\n\nTämä on vakava toimenpide. Tilisi tiedot poistetaan pysyvästi ajoitettuna päivänä.\n\nJos uskot, että tämä päätös oli virheellinen, voit tehdä valituksen. {appeals_email, select, null {Ota yhteyttä tämän instanssin ylläpitäjiin.} other {Lähetä sähköpostia osoitteeseen {appeals_email} tästä sähköpostiosoitteesta.}}\n\n– {product_name}-turvallisuustiimi" }, "self_deletion_scheduled": { "subject": "{product_name}-tilisi poistaminen on ajoitettu", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/fr.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/fr.json index 7c2ab16fc..cc712c612 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/fr.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/fr.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "La suppression de votre compte {product_name} a été annulée", - "body": "Bonjour {username},\n\nLa suppression programmée de votre compte {product_name} a été annulée. Votre compte ne sera pas supprimé.\n\nPour toute question, contactez {safety_email}.\n\n– L’équipe {product_name}" + "body": "Bonjour {username},\n\nLa suppression programmée de votre compte {product_name} a été annulée. Votre compte ne sera pas supprimé.\n\n{safety_email, select, null {Pour toute question, contactez les administrateurs de cette instance.} other {Pour toute question, contactez {safety_email}.}}\n\n– L’équipe {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Votre compte {product_name} sera supprimé pour inactivité", - "body": "Bonjour {username},\n\nVotre compte {product_name} est inactif depuis longtemps. Sa suppression définitive est donc prévue le :\n\n{deletionDate, date, full} à {deletionDate, time, short}{reason, select, null {} other {\n\nMotif : {reason}}}\n\nSi vous souhaitez conserver votre compte, contactez {safety_email} depuis cette adresse e-mail avant cette date.\n\n– L’équipe {product_name}" + "body": "Bonjour {username},\n\nVotre compte {product_name} est inactif depuis longtemps. Sa suppression définitive est donc prévue le :\n\n{deletionDate, date, full} à {deletionDate, time, short}{reason, select, null {} other {\n\nMotif : {reason}}}\n\n{safety_email, select, null {Si vous souhaitez conserver votre compte, contactez les administrateurs de cette instance avant cette date.} other {Si vous souhaitez conserver votre compte, contactez {safety_email} depuis cette adresse e-mail avant cette date.}}\n\n– L’équipe {product_name}" }, "account_deletion_scheduled_requested": { "subject": "La suppression de votre compte {product_name} est programmée", - "body": "Bonjour {username},\n\nComme vous l’avez demandé, la suppression définitive de votre compte {product_name} est prévue le :\n\n{deletionDate, date, full} à {deletionDate, time, short}{reason, select, null {} other {\n\nMotif : {reason}}}\n\nVotre compte est verrouillé d’ici là. Si vous n’êtes pas à l’origine de cette demande, ou si vous souhaitez conserver votre compte, contactez {safety_email} depuis cette adresse e-mail avant cette date.\n\n– L’équipe {product_name}" + "body": "Bonjour {username},\n\nComme vous l’avez demandé, la suppression définitive de votre compte {product_name} est prévue le :\n\n{deletionDate, date, full} à {deletionDate, time, short}{reason, select, null {} other {\n\nMotif : {reason}}}\n\nVotre compte est verrouillé d’ici là. {safety_email, select, null {Si vous n’êtes pas à l’origine de cette demande, ou si vous souhaitez conserver votre compte, contactez les administrateurs de cette instance avant cette date.} other {Si vous n’êtes pas à l’origine de cette demande, ou si vous souhaitez conserver votre compte, contactez {safety_email} depuis cette adresse e-mail avant cette date.}}\n\n– L’équipe {product_name}" }, "account_scheduled_deletion": { "subject": "Votre compte {product_name} sera définitivement supprimé", - "body": "Bonjour {username},\n\nLa suppression définitive de votre compte {product_name} a été programmée en raison de violations de nos conditions d’utilisation ou des règles de la communauté.\n\nSuppression prévue : {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select, null {} other {Motif : {reason}}}\n\nIl s’agit d’une sanction importante. Les données de votre compte seront définitivement supprimées à la date prévue.\n\nVeuillez consulter :\n- Conditions d’utilisation : {termsUrl}\n- Règles de la communauté : {guidelinesUrl}\n\nProcédure de recours :\nSi vous estimez que cette décision est incorrecte ou injustifiée, vous disposez de 60 jours pour déposer un recours. Écrivez à {appeals_email} depuis cette adresse e-mail.\n\nDans votre recours :\n- Expliquez clairement pourquoi vous estimez la décision incorrecte ou injustifiée\n- Fournissez tout élément de preuve ou de contexte pertinent\n\nUn membre de l’équipe de sécurité de {product_name} examinera votre recours et pourra suspendre la suppression prévue jusqu’à la décision finale.\n\n– L’équipe de sécurité de {product_name}" + "body": "Bonjour {username},\n\nLa suppression définitive de votre compte {product_name} a été programmée en raison de violations de nos conditions d’utilisation ou des règles de la communauté.\n\nSuppression prévue : {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select, null {} other {Motif : {reason}}}\n\nIl s’agit d’une sanction importante. Les données de votre compte seront définitivement supprimées à la date prévue.\n\n{legalLinks, select,\n both {Veuillez consulter :\n- Conditions d’utilisation : {termsUrl}\n- Règles de la communauté : {guidelinesUrl}\n\n}\n terms {Veuillez consulter :\n- Conditions d’utilisation : {termsUrl}\n\n}\n guidelines {Veuillez consulter :\n- Règles de la communauté : {guidelinesUrl}\n\n}\n other {}\n}Procédure de recours :\nSi vous estimez que cette décision est incorrecte ou injustifiée, vous disposez de 60 jours pour déposer un recours. {appeals_email, select, null {Contactez les administrateurs de cette instance.} other {Écrivez à {appeals_email} depuis cette adresse e-mail.}}\n\nDans votre recours :\n- Expliquez clairement pourquoi vous estimez la décision incorrecte ou injustifiée\n- Fournissez tout élément de preuve ou de contexte pertinent\n\nUn membre de l’équipe de sécurité de {product_name} examinera votre recours et pourra suspendre la suppression prévue jusqu’à la décision finale.\n\n– L’équipe de sécurité de {product_name}" }, "account_temp_banned": { "subject": "Votre compte {product_name} a été temporairement suspendu", - "body": "Bonjour {username},\n\nVotre compte {product_name} a été temporairement suspendu pour violation de nos conditions d’utilisation ou des règles de la communauté.\n\nDurée : {durationHours, plural, =1 {1 heure} other {# heures}}\nSuspension jusqu’au : {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select, null {} other {Motif : {reason}}}\n\nVous ne pourrez pas accéder à votre compte pendant cette période.\n\nVeuillez consulter :\n- Conditions d’utilisation : {termsUrl}\n- Règles de la communauté : {guidelinesUrl}\n\nSi vous estimez que cette décision est incorrecte ou injustifiée, vous pouvez déposer un recours. Écrivez à {appeals_email} depuis cette adresse e-mail et expliquez clairement pourquoi vous contestez cette décision. Nous examinerons votre recours et vous communiquerons notre décision.\n\n– L’équipe de sécurité de {product_name}" + "body": "Bonjour {username},\n\nVotre compte {product_name} a été temporairement suspendu pour violation de nos conditions d’utilisation ou des règles de la communauté.\n\nDurée : {durationHours, plural, =1 {1 heure} other {# heures}}\nSuspension jusqu’au : {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select, null {} other {Motif : {reason}}}\n\nVous ne pourrez pas accéder à votre compte pendant cette période.\n\n{legalLinks, select,\n both {Veuillez consulter :\n- Conditions d’utilisation : {termsUrl}\n- Règles de la communauté : {guidelinesUrl}\n\n}\n terms {Veuillez consulter :\n- Conditions d’utilisation : {termsUrl}\n\n}\n guidelines {Veuillez consulter :\n- Règles de la communauté : {guidelinesUrl}\n\n}\n other {}\n}Si vous estimez que cette décision est incorrecte ou injustifiée, vous pouvez déposer un recours. {appeals_email, select, null {Contactez les administrateurs de cette instance et expliquez clairement pourquoi vous contestez cette décision.} other {Écrivez à {appeals_email} depuis cette adresse e-mail et expliquez clairement pourquoi vous contestez cette décision.}} Nous examinerons votre recours et vous communiquerons notre décision.\n\n– L’équipe de sécurité de {product_name}" }, "donation_confirmation": { "subject": "Merci pour votre don à {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Nous avons pris une décision concernant votre signalement sur {product_name}", - "body": "Bonjour,\n\nNotre équipe de sécurité a examiné votre signalement au titre du règlement sur les services numériques (ID : {reportId}) et a pris une décision.{hasComment, select, yes {\n\nRéponse de l’équipe de sécurité :\n{publicComment}} other {}}\n\nNous ne communiquons pas le détail des mesures prises à l’encontre du compte d’une autre personne, car il s’agit de ses données personnelles.\n\nSi vous n’êtes pas d’accord avec cette décision, vous pouvez déposer un recours gratuitement dans un délai de 60 jours. Écrivez à {appeals_email} depuis cette adresse e-mail, indiquez l’ID de votre signalement et expliquez pourquoi vous estimez que la décision est incorrecte. Si vous êtes dans l’UE, vous pouvez également soumettre le litige à un organe certifié de règlement extrajudiciaire des litiges. Rien de tout cela n’affecte votre droit de saisir un tribunal.\n\n– L’équipe de sécurité de {product_name}" + "body": "Bonjour,\n\nNotre équipe de sécurité a examiné votre signalement au titre du règlement sur les services numériques (ID : {reportId}) et a pris une décision.{hasComment, select, yes {\n\nRéponse de l’équipe de sécurité :\n{publicComment}} other {}}\n\nNous ne communiquons pas le détail des mesures prises à l’encontre du compte d’une autre personne, car il s’agit de ses données personnelles.\n\nSi vous n’êtes pas d’accord avec cette décision, vous pouvez déposer un recours gratuitement dans un délai de 60 jours. {appeals_email, select, null {Contactez les administrateurs de cette instance, indiquez l’ID de votre signalement et expliquez pourquoi vous estimez que la décision est incorrecte.} other {Écrivez à {appeals_email} depuis cette adresse e-mail, indiquez l’ID de votre signalement et expliquez pourquoi vous estimez que la décision est incorrecte.}} Si vous êtes dans l’UE, vous pouvez également soumettre le litige à un organe certifié de règlement extrajudiciaire des litiges. Rien de tout cela n’affecte votre droit de saisir un tribunal.\n\n– L’équipe de sécurité de {product_name}" }, "dsa_report_verification": { "subject": "Vérifiez votre e-mail pour un signalement DSA", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Les avantages de votre cadeau activé ont été retirés", - "body": "Bonjour {username},\n\nUn code cadeau que vous avez utilisé avait été payé par une autre personne. Ce paiement a depuis été annulé à la suite d’une contestation bancaire.\n\nNous avons donc retiré les avantages ajoutés à votre compte lors de l’activation du cadeau.\n\nSi vous pensez qu’il s’agit d’une erreur, contactez notre équipe d’assistance et indiquez les informations dont vous disposez sur le code cadeau et sa date d’utilisation.\n\n– L’équipe {product_name}" + "body": "Bonjour {username},\n\nUn code cadeau que vous avez utilisé avait été payé par une autre personne. Ce paiement a depuis été annulé à la suite d’une contestation bancaire.\n\nNous avons donc retiré les avantages ajoutés à votre compte lors de l’activation du cadeau.\n\n{support_email, select, null {Si vous pensez qu’il s’agit d’une erreur, contactez les administrateurs de cette instance et indiquez les informations dont vous disposez sur le code cadeau et sa date d’utilisation.} other {Si vous pensez qu’il s’agit d’une erreur, contactez notre équipe d’assistance et indiquez les informations dont vous disposez sur le code cadeau et sa date d’utilisation.}}\n\n– L’équipe {product_name}" }, "harvest_completed": { "subject": "Votre export de données {product_name} est prêt à être téléchargé", - "body": "Bonjour {username},\n\nVotre export de données est prêt.\n\nLien de téléchargement :\n{downloadUrl}\n\nMessages inclus : {totalMessages, number}\nTaille du fichier : {fileSizeMB, number} Mo\n\nCe lien expire le {expiresAt, date, full} à {expiresAt, time, short}.\n\nSi vous n’avez pas demandé cet export, changez immédiatement votre mot de passe et contactez notre équipe d’assistance.\n\n– L’équipe {product_name}" + "body": "Bonjour {username},\n\nVotre export de données est prêt.\n\nLien de téléchargement :\n{downloadUrl}\n\nMessages inclus : {totalMessages, number}\nTaille du fichier : {fileSizeMB, number} Mo\n\nCe lien expire le {expiresAt, date, full} à {expiresAt, time, short}.\n\n{support_email, select, null {Si vous n’avez pas demandé cet export, changez immédiatement votre mot de passe et contactez les administrateurs de cette instance.} other {Si vous n’avez pas demandé cet export, changez immédiatement votre mot de passe et contactez notre équipe d’assistance.}}\n\n– L’équipe {product_name}" }, "inactivity_warning": { "subject": "Votre compte {product_name} sera supprimé pour inactivité", - "body": "Bonjour {username},\n\nNous n’avons détecté aucune activité sur votre compte {product_name} depuis le {lastActiveDate, date, full}.\n\nSi vous ne vous connectez pas avant le {deletionDate, date, full} à {deletionDate, time, short}, votre compte sera définitivement supprimé pour inactivité.\n\nConnectez-vous ici :\n{loginUrl}\n\nSi vous avez utilisé {product_name} récemment, contactez immédiatement notre équipe d’assistance.\n\n– L’équipe {product_name}" + "body": "Bonjour {username},\n\nNous n’avons détecté aucune activité sur votre compte {product_name} depuis le {lastActiveDate, date, full}.\n\nSi vous ne vous connectez pas avant le {deletionDate, date, full} à {deletionDate, time, short}, votre compte sera définitivement supprimé pour inactivité.\n\nConnectez-vous ici :\n{loginUrl}\n\n{support_email, select, null {Si vous avez utilisé {product_name} récemment, contactez immédiatement les administrateurs de cette instance.} other {Si vous avez utilisé {product_name} récemment, contactez immédiatement notre équipe d’assistance.}}\n\n– L’équipe {product_name}" }, "ip_authorization": { "subject": "Autoriser la connexion depuis une nouvelle adresse IP", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Votre signalement sur {product_name} a été examiné", - "body": "Bonjour {username},\n\nVotre signalement (ID : {reportId}) a été examiné par notre équipe de sécurité.{hasComment, select, yes {\n\nRéponse de l’équipe de sécurité :\n{publicComment}} other {}}\n\nMerci de nous aider à préserver la sécurité de {product_name} pour tous. Nous prenons tous les signalements au sérieux et apprécions votre contribution à la communauté.\n\nPour toute question ou préoccupation concernant cette décision, contactez {safety_email}.\n\n– L’équipe de sécurité de {product_name}" + "body": "Bonjour {username},\n\nVotre signalement (ID : {reportId}) a été examiné par notre équipe de sécurité.{hasComment, select, yes {\n\nRéponse de l’équipe de sécurité :\n{publicComment}} other {}}\n\nMerci de nous aider à préserver la sécurité de {product_name} pour tous. Nous prenons tous les signalements au sérieux et apprécions votre contribution à la communauté.\n\n{safety_email, select, null {Pour toute question ou préoccupation concernant cette décision, contactez les administrateurs de cette instance.} other {Pour toute question ou préoccupation concernant cette décision, contactez {safety_email}.}}\n\n– L’équipe de sécurité de {product_name}" }, "scheduled_deletion_notification": { "subject": "Votre compte {product_name} sera définitivement supprimé", - "body": "Bonjour {username},\n\nLa suppression définitive de votre compte {product_name} a été programmée.\n\nSuppression prévue : {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select, null {} other {Motif : {reason}}}\n\nIl s’agit d’une sanction importante. Les données de votre compte seront définitivement supprimées à la date prévue.\n\nSi vous estimez que cette décision est incorrecte, vous pouvez déposer un recours. Écrivez à {appeals_email} depuis cette adresse e-mail.\n\n– L’équipe de sécurité de {product_name}" + "body": "Bonjour {username},\n\nLa suppression définitive de votre compte {product_name} a été programmée.\n\nSuppression prévue : {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select, null {} other {Motif : {reason}}}\n\nIl s’agit d’une sanction importante. Les données de votre compte seront définitivement supprimées à la date prévue.\n\nSi vous estimez que cette décision est incorrecte, vous pouvez déposer un recours. {appeals_email, select, null {Contactez les administrateurs de cette instance.} other {Écrivez à {appeals_email} depuis cette adresse e-mail.}}\n\n– L’équipe de sécurité de {product_name}" }, "self_deletion_scheduled": { "subject": "La suppression de votre compte {product_name} est programmée", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/he.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/he.json index 38934cf2f..e502ef01c 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/he.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/he.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "מחיקת חשבון ה-{product_name} שלכם בוטלה", - "body": "שלום {username},\n\nהמחיקה המתוזמנת של חשבון ה-{product_name} שלכם בוטלה. החשבון שלכם לא יימחק.\n\nאם יש לכם שאלות, צרו קשר עם {safety_email}.\n\nצוות {product_name}" + "body": "שלום {username},\n\nהמחיקה המתוזמנת של חשבון ה-{product_name} שלכם בוטלה. החשבון שלכם לא יימחק.\n\n{safety_email, select, null {אם יש לכם שאלות, צרו קשר עם מנהלי המערכת של המופע הזה.} other {אם יש לכם שאלות, צרו קשר עם {safety_email}.}}\n\nצוות {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "חשבון ה-{product_name} שלכם יימחק עקב חוסר פעילות", - "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם לא היה פעיל זמן רב, ולכן הוא מתוכנן להימחק לצמיתות בתאריך:\n\n{deletionDate, date, full} בשעה {deletionDate, time, short}{reason, select, null {} other {\n\nסיבה: {reason}}}\n\nאם ברצונכם לשמור על החשבון, צרו קשר עם {safety_email} מכתובת האימייל הזו לפני תאריך זה.\n\nצוות {product_name}" + "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם לא היה פעיל זמן רב, ולכן הוא מתוכנן להימחק לצמיתות בתאריך:\n\n{deletionDate, date, full} בשעה {deletionDate, time, short}{reason, select, null {} other {\n\nסיבה: {reason}}}\n\n{safety_email, select, null {אם ברצונכם לשמור על החשבון, צרו קשר עם מנהלי המערכת של המופע הזה לפני תאריך זה.} other {אם ברצונכם לשמור על החשבון, צרו קשר עם {safety_email} מכתובת האימייל הזו לפני תאריך זה.}}\n\nצוות {product_name}" }, "account_deletion_scheduled_requested": { "subject": "מחיקת חשבון ה-{product_name} שלכם מתוזמנת", - "body": "שלום {username},\n\nבהתאם לבקשתכם, חשבון ה-{product_name} שלכם מתוכנן להימחק לצמיתות בתאריך:\n\n{deletionDate, date, full} בשעה {deletionDate, time, short}{reason, select, null {} other {\n\nסיבה: {reason}}}\n\nעד אז החשבון שלכם נעול. אם לא ביקשתם זאת, או שברצונכם לשמור על החשבון, צרו קשר עם {safety_email} מכתובת האימייל הזו לפני תאריך זה.\n\nצוות {product_name}" + "body": "שלום {username},\n\nבהתאם לבקשתכם, חשבון ה-{product_name} שלכם מתוכנן להימחק לצמיתות בתאריך:\n\n{deletionDate, date, full} בשעה {deletionDate, time, short}{reason, select, null {} other {\n\nסיבה: {reason}}}\n\nעד אז החשבון שלכם נעול. {safety_email, select, null {אם לא ביקשתם זאת, או שברצונכם לשמור על החשבון, צרו קשר עם מנהלי המערכת של המופע הזה לפני תאריך זה.} other {אם לא ביקשתם זאת, או שברצונכם לשמור על החשבון, צרו קשר עם {safety_email} מכתובת האימייל הזו לפני תאריך זה.}}\n\nצוות {product_name}" }, "account_scheduled_deletion": { "subject": "חשבון ה-{product_name} שלכם יימחק לצמיתות", - "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם נקבע למחיקה לצמיתות עקב הפרות של תנאי השירות או הנחיות הקהילה שלנו.\n\nמחיקה מתוזמנת: {deletionDate, date, full} בשעה {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {סיבה: {reason}}\n}\n\nזוהי פעולת אכיפה חמורה. נתוני החשבון שלכם יימחקו לצמיתות בתאריך המתוכנן.\n\nאנא עיינו במסמכים הבאים:\n- תנאי השירות: {termsUrl}\n- הנחיות הקהילה: {guidelinesUrl}\n\nתהליך ערעור:\nאם אתם חושבים שהחלטת האכיפה שגויה או בלתי מוצדקת, יש לכם 60 יום להגיש ערעור. שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו.\n\nבערעור:\n- הסבירו בבירור מדוע לדעתכם החלטת האכיפה שגויה או בלתי מוצדקת\n- צרפו כל ראיה או הקשר רלוונטיים\n\nחבר בצוות הבטיחות של {product_name} יבדוק את הערעור שלכם ועשוי להשהות את המחיקה הממתינה עד לקבלת החלטה סופית.\n\nצוות הבטיחות של {product_name}" + "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם נקבע למחיקה לצמיתות עקב הפרות של תנאי השירות או הנחיות הקהילה שלנו.\n\nמחיקה מתוזמנת: {deletionDate, date, full} בשעה {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {סיבה: {reason}}\n}\n\nזוהי פעולת אכיפה חמורה. נתוני החשבון שלכם יימחקו לצמיתות בתאריך המתוכנן.\n\n{legalLinks, select,\n both {אנא עיינו במסמכים הבאים:\n- תנאי השירות: {termsUrl}\n- הנחיות הקהילה: {guidelinesUrl}\n\n}\n terms {אנא עיינו במסמכים הבאים:\n- תנאי השירות: {termsUrl}\n\n}\n guidelines {אנא עיינו במסמכים הבאים:\n- הנחיות הקהילה: {guidelinesUrl}\n\n}\n other {}\n}תהליך ערעור:\nאם אתם חושבים שהחלטת האכיפה שגויה או בלתי מוצדקת, יש לכם 60 יום להגיש ערעור. {appeals_email, select, null {צרו קשר עם מנהלי המערכת של המופע הזה.} other {שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו.}}\n\nבערעור:\n- הסבירו בבירור מדוע לדעתכם החלטת האכיפה שגויה או בלתי מוצדקת\n- צרפו כל ראיה או הקשר רלוונטיים\n\nחבר בצוות הבטיחות של {product_name} יבדוק את הערעור שלכם ועשוי להשהות את המחיקה הממתינה עד לקבלת החלטה סופית.\n\nצוות הבטיחות של {product_name}" }, "account_temp_banned": { "subject": "חשבון ה-{product_name} שלכם הושעה זמנית", - "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם הושעה זמנית עקב הפרה של תנאי השירות או הנחיות הקהילה שלנו.\n\nמשך ההשעיה: {durationHours, plural,\n =1 {שעה אחת}\n other {# שעות}\n}\nמושעה עד: {bannedUntil, date, full} בשעה {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {סיבה: {reason}}\n}\n\nבמהלך תקופה זו לא תהיה לכם גישה לחשבון.\n\nאנא עיינו במסמכים הבאים:\n- תנאי השירות: {termsUrl}\n- הנחיות הקהילה: {guidelinesUrl}\n\nאם אתם חושבים שהחלטת האכיפה שגויה או בלתי מוצדקת, תוכלו להגיש ערעור. שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו והסבירו בבירור מדוע לדעתכם ההחלטה שגויה. נבדוק את הערעור ונעדכן אתכם בהחלטה שלנו.\n\nצוות הבטיחות של {product_name}" + "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם הושעה זמנית עקב הפרה של תנאי השירות או הנחיות הקהילה שלנו.\n\nמשך ההשעיה: {durationHours, plural,\n =1 {שעה אחת}\n other {# שעות}\n}\nמושעה עד: {bannedUntil, date, full} בשעה {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {סיבה: {reason}}\n}\n\nבמהלך תקופה זו לא תהיה לכם גישה לחשבון.\n\n{legalLinks, select,\n both {אנא עיינו במסמכים הבאים:\n- תנאי השירות: {termsUrl}\n- הנחיות הקהילה: {guidelinesUrl}\n\n}\n terms {אנא עיינו במסמכים הבאים:\n- תנאי השירות: {termsUrl}\n\n}\n guidelines {אנא עיינו במסמכים הבאים:\n- הנחיות הקהילה: {guidelinesUrl}\n\n}\n other {}\n}אם אתם חושבים שהחלטת האכיפה שגויה או בלתי מוצדקת, תוכלו להגיש ערעור. {appeals_email, select, null {צרו קשר עם מנהלי המערכת של המופע הזה והסבירו בבירור מדוע לדעתכם ההחלטה שגויה.} other {שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו והסבירו בבירור מדוע לדעתכם ההחלטה שגויה.}} נבדוק את הערעור ונעדכן אתכם בהחלטה שלנו.\n\nצוות הבטיחות של {product_name}" }, "donation_confirmation": { "subject": "תודה על תרומתכם ל-{product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "קיבלנו החלטה בנוגע לדיווח שלכם ב-{product_name}", - "body": "שלום,\n\nצוות הבטיחות שלנו בדק את הדיווח שלכם לפי חוק השירותים הדיגיטליים (מזהה: {reportId}) וקיבל החלטה.{hasComment, select, yes {\n\nתגובה מצוות הבטיחות:\n{publicComment}} other {}}\n\nאיננו משתפים פרטים על פעולות שננקטו נגד חשבון של אדם אחר, מכיוון שאלה נתונים אישיים שלו.\n\nאם אינכם מסכימים עם ההחלטה, תוכלו להגיש ערעור ללא תשלום בתוך 60 יום. שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו, ציינו את מזהה הדיווח והסבירו מדוע לדעתכם ההחלטה שגויה. אם אתם נמצאים באיחוד האירופי, תוכלו גם להפנות את המחלוקת לגוף מוסמך ליישוב סכסוכים מחוץ לבית המשפט. אין בכך כדי לפגוע בזכותכם לפנות לבית המשפט.\n\nצוות הבטיחות של {product_name}" + "body": "שלום,\n\nצוות הבטיחות שלנו בדק את הדיווח שלכם לפי חוק השירותים הדיגיטליים (מזהה: {reportId}) וקיבל החלטה.{hasComment, select, yes {\n\nתגובה מצוות הבטיחות:\n{publicComment}} other {}}\n\nאיננו משתפים פרטים על פעולות שננקטו נגד חשבון של אדם אחר, מכיוון שאלה נתונים אישיים שלו.\n\nאם אינכם מסכימים עם ההחלטה, תוכלו להגיש ערעור ללא תשלום בתוך 60 יום. {appeals_email, select, null {צרו קשר עם מנהלי המערכת של המופע הזה, ציינו את מזהה הדיווח והסבירו מדוע לדעתכם ההחלטה שגויה.} other {שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו, ציינו את מזהה הדיווח והסבירו מדוע לדעתכם ההחלטה שגויה.}} אם אתם נמצאים באיחוד האירופי, תוכלו גם להפנות את המחלוקת לגוף מוסמך ליישוב סכסוכים מחוץ לבית המשפט. אין בכך כדי לפגוע בזכותכם לפנות לבית המשפט.\n\nצוות הבטיחות של {product_name}" }, "dsa_report_verification": { "subject": "אימות האימייל שלכם לדיווח DSA", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "ההטבות מהמתנה שמימשתם הוסרו", - "body": "שלום {username},\n\nקוד מתנה שמימשתם שולם במקור על ידי מישהו אחר. התשלום הזה בוטל מאז (החזר חיוב).\n\nבשל כך, הסרנו את ההטבות שנוספו לחשבונכם כאשר מימשתם את המתנה.\n\nאם אתם חושבים שזו טעות, אנא צרו קשר עם צוות התמיכה שלנו וצרפו כל פרט שידוע לכם לגבי קוד המתנה ומתי מימשתם אותו.\n\nצוות {product_name}" + "body": "שלום {username},\n\nקוד מתנה שמימשתם שולם במקור על ידי מישהו אחר. התשלום הזה בוטל מאז (החזר חיוב).\n\nבשל כך, הסרנו את ההטבות שנוספו לחשבונכם כאשר מימשתם את המתנה.\n\n{support_email, select, null {אם אתם חושבים שזו טעות, אנא צרו קשר עם מנהלי המערכת של המופע הזה וצרפו כל פרט שידוע לכם לגבי קוד המתנה ומתי מימשתם אותו.} other {אם אתם חושבים שזו טעות, אנא צרו קשר עם צוות התמיכה שלנו וצרפו כל פרט שידוע לכם לגבי קוד המתנה ומתי מימשתם אותו.}}\n\nצוות {product_name}" }, "harvest_completed": { "subject": "ייצוא הנתונים שלכם מ-{product_name} מוכן להורדה", - "body": "שלום {username},\n\nייצוא הנתונים שלכם מוכן.\n\nקישור להורדה:\n{downloadUrl}\n\nהודעות כלולות: {totalMessages, number}\nגודל הקובץ: {fileSizeMB, number} מגה-בייט\n\nקישור זה יפוג בתאריך {expiresAt, date, full} בשעה {expiresAt, time, short}.\n\nאם לא ביקשתם ייצוא זה, אנא שנו את הסיסמה שלכם מיד וצרו קשר עם צוות התמיכה שלנו.\n\nצוות {product_name}" + "body": "שלום {username},\n\nייצוא הנתונים שלכם מוכן.\n\nקישור להורדה:\n{downloadUrl}\n\nהודעות כלולות: {totalMessages, number}\nגודל הקובץ: {fileSizeMB, number} מגה-בייט\n\nקישור זה יפוג בתאריך {expiresAt, date, full} בשעה {expiresAt, time, short}.\n\n{support_email, select, null {אם לא ביקשתם ייצוא זה, אנא שנו את הסיסמה שלכם מיד וצרו קשר עם מנהלי המערכת של המופע הזה.} other {אם לא ביקשתם ייצוא זה, אנא שנו את הסיסמה שלכם מיד וצרו קשר עם צוות התמיכה שלנו.}}\n\nצוות {product_name}" }, "inactivity_warning": { "subject": "חשבון ה-{product_name} שלכם יימחק עקב חוסר פעילות", - "body": "שלום {username},\n\nלא ראינו פעילות בחשבון ה-{product_name} שלכם מאז {lastActiveDate, date, full}.\n\nאם לא תתחברו עד {deletionDate, date, full} בשעה {deletionDate, time, short}, חשבונכם יימחק לצמיתות עקב חוסר פעילות.\n\nהתחברו כאן:\n{loginUrl}\n\nאם השתמשתם ב-{product_name} לאחרונה, אנא צרו קשר עם צוות התמיכה שלנו מיד.\n\nצוות {product_name}" + "body": "שלום {username},\n\nלא ראינו פעילות בחשבון ה-{product_name} שלכם מאז {lastActiveDate, date, full}.\n\nאם לא תתחברו עד {deletionDate, date, full} בשעה {deletionDate, time, short}, חשבונכם יימחק לצמיתות עקב חוסר פעילות.\n\nהתחברו כאן:\n{loginUrl}\n\n{support_email, select, null {אם השתמשתם ב-{product_name} לאחרונה, אנא צרו קשר עם מנהלי המערכת של המופע הזה מיד.} other {אם השתמשתם ב-{product_name} לאחרונה, אנא צרו קשר עם צוות התמיכה שלנו מיד.}}\n\nצוות {product_name}" }, "ip_authorization": { "subject": "אישור התחברות מכתובת IP חדשה", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "הדיווח שלכם ב-{product_name} נבדק", - "body": "שלום {username},\n\nהדיווח שלכם (מזהה: {reportId}) נבדק על ידי צוות הבטיחות שלנו.{hasComment, select, yes {\n\nתגובה מצוות הבטיחות:\n{publicComment}} other {}}\n\nתודה שעזרתם לשמור על {product_name} כמקום בטוח לכולם. אנו מתייחסים לכל הדיווחים ברצינות ומעריכים את תרומתכם לקהילה.\n\nאם יש לכם שאלות או חששות לגבי תוצאה זו, אנא צרו קשר עם {safety_email}.\n\nצוות הבטיחות של {product_name}" + "body": "שלום {username},\n\nהדיווח שלכם (מזהה: {reportId}) נבדק על ידי צוות הבטיחות שלנו.{hasComment, select, yes {\n\nתגובה מצוות הבטיחות:\n{publicComment}} other {}}\n\nתודה שעזרתם לשמור על {product_name} כמקום בטוח לכולם. אנו מתייחסים לכל הדיווחים ברצינות ומעריכים את תרומתכם לקהילה.\n\n{safety_email, select, null {אם יש לכם שאלות או חששות לגבי תוצאה זו, אנא צרו קשר עם מנהלי המערכת של המופע הזה.} other {אם יש לכם שאלות או חששות לגבי תוצאה זו, אנא צרו קשר עם {safety_email}.}}\n\nצוות הבטיחות של {product_name}" }, "scheduled_deletion_notification": { "subject": "חשבון ה-{product_name} שלכם יימחק לצמיתות", - "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם נקבע למחיקה לצמיתות.\n\nמחיקה מתוזמנת: {deletionDate, date, full} בשעה {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {סיבה: {reason}}\n}\n\nזוהי פעולת אכיפה חמורה. נתוני החשבון שלכם יימחקו לצמיתות בתאריך המתוכנן.\n\nאם אתם חושבים שהחלטת אכיפה זו שגויה, אתם יכולים להגיש ערעור. שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו.\n\nצוות הבטיחות של {product_name}" + "body": "שלום {username},\n\nחשבון ה-{product_name} שלכם נקבע למחיקה לצמיתות.\n\nמחיקה מתוזמנת: {deletionDate, date, full} בשעה {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {סיבה: {reason}}\n}\n\nזוהי פעולת אכיפה חמורה. נתוני החשבון שלכם יימחקו לצמיתות בתאריך המתוכנן.\n\nאם אתם חושבים שהחלטת אכיפה זו שגויה, אתם יכולים להגיש ערעור. {appeals_email, select, null {צרו קשר עם מנהלי המערכת של המופע הזה.} other {שלחו אימייל לכתובת {appeals_email} מכתובת האימייל הזו.}}\n\nצוות הבטיחות של {product_name}" }, "self_deletion_scheduled": { "subject": "מחיקת חשבון ה-{product_name} שלכם מתוזמנת", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/hi.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/hi.json index 4271ea854..a7414a408 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/hi.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/hi.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "आपके {product_name} अकाउंट का डिलीशन रद्द कर दिया गया है", - "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट का शेड्यूल किया गया डिलीशन रद्द कर दिया गया है। आपका अकाउंट डिलीट नहीं किया जाएगा।\n\nअगर आपके कोई सवाल हैं, तो कृपया {safety_email} पर संपर्क करें।\n\n– {product_name} टीम" + "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट का शेड्यूल किया गया डिलीशन रद्द कर दिया गया है। आपका अकाउंट डिलीट नहीं किया जाएगा।\n\n{safety_email, select, null {अगर आपके कोई सवाल हैं, तो कृपया इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {अगर आपके कोई सवाल हैं, तो कृपया {safety_email} पर संपर्क करें।}}\n\n– {product_name} टीम" }, "account_deletion_scheduled_inactivity": { "subject": "आपका {product_name} अकाउंट इनएक्टिविटी के कारण डिलीट कर दिया जाएगा", - "body": "नमस्ते {username},\n\nआपका {product_name} अकाउंट लंबे समय से इनएक्टिव है, इसलिए इसे हमेशा के लिए डिलीट करने के लिए शेड्यूल कर दिया गया है:\n\n{deletionDate, date, full} को {deletionDate, time, short} पर{reason, select, null {} other {\n\nवजह: {reason}}}\n\nअगर आप अपना अकाउंट रखना चाहते हैं, तो उस तारीख से पहले इसी ईमेल पते से {safety_email} पर संपर्क करें।\n\n– {product_name} टीम" + "body": "नमस्ते {username},\n\nआपका {product_name} अकाउंट लंबे समय से इनएक्टिव है, इसलिए इसे हमेशा के लिए डिलीट करने के लिए शेड्यूल कर दिया गया है:\n\n{deletionDate, date, full} को {deletionDate, time, short} पर{reason, select, null {} other {\n\nवजह: {reason}}}\n\n{safety_email, select, null {अगर आप अपना अकाउंट रखना चाहते हैं, तो उस तारीख से पहले इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {अगर आप अपना अकाउंट रखना चाहते हैं, तो उस तारीख से पहले इसी ईमेल पते से {safety_email} पर संपर्क करें।}}\n\n– {product_name} टीम" }, "account_deletion_scheduled_requested": { "subject": "आपके {product_name} अकाउंट का डिलीशन शेड्यूल कर दिया गया है", - "body": "नमस्ते {username},\n\nआपके अनुरोध के अनुसार, आपके {product_name} अकाउंट को हमेशा के लिए डिलीट करने के लिए शेड्यूल कर दिया गया है:\n\n{deletionDate, date, full} को {deletionDate, time, short} पर{reason, select, null {} other {\n\nवजह: {reason}}}\n\nतब तक आपका अकाउंट लॉक रहेगा। अगर आपने इसका अनुरोध नहीं किया था, या आप अपना अकाउंट रखना चाहते हैं, तो उस तारीख से पहले इसी ईमेल पते से {safety_email} पर संपर्क करें।\n\n– {product_name} टीम" + "body": "नमस्ते {username},\n\nआपके अनुरोध के अनुसार, आपके {product_name} अकाउंट को हमेशा के लिए डिलीट करने के लिए शेड्यूल कर दिया गया है:\n\n{deletionDate, date, full} को {deletionDate, time, short} पर{reason, select, null {} other {\n\nवजह: {reason}}}\n\nतब तक आपका अकाउंट लॉक रहेगा। {safety_email, select, null {अगर आपने इसका अनुरोध नहीं किया था, या आप अपना अकाउंट रखना चाहते हैं, तो उस तारीख से पहले इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {अगर आपने इसका अनुरोध नहीं किया था, या आप अपना अकाउंट रखना चाहते हैं, तो उस तारीख से पहले इसी ईमेल पते से {safety_email} पर संपर्क करें।}}\n\n– {product_name} टीम" }, "account_scheduled_deletion": { "subject": "आपका {product_name} अकाउंट हमेशा के लिए डिलीट कर दिया जाएगा", - "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट को हमारी सेवा की शर्तों या कम्युनिटी गाइडलाइंस के उल्लंघन के कारण हमेशा के लिए डिलीट करने के लिए शेड्यूल किया गया है।\n\nडिलीशन की निर्धारित तारीख: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {वजह: {reason}}\n}\n\nयह एक गंभीर कार्रवाई है। आपके अकाउंट का डेटा निर्धारित तारीख पर हमेशा के लिए डिलीट कर दिया जाएगा।\n\nकृपया देखें:\n- सेवा की शर्तें: {termsUrl}\n- कम्युनिटी गाइडलाइंस: {guidelinesUrl}\n\nअपील प्रक्रिया:\nअगर आपको लगता है कि यह फैसला गलत या अनुचित था, तो आपके पास अपील सबमिट करने के लिए 60 दिन हैं। इस ईमेल पते से {appeals_email} पर ईमेल करें।\n\nअपनी अपील में:\n- साफ़ तौर पर बताएं कि आपको क्यों लगता है कि यह फैसला गलत या अनुचित था\n- कोई भी प्रासंगिक सबूत या जानकारी दें\n\n{product_name} सेफ्टी टीम का एक सदस्य आपकी अपील का रिव्यू करेगा और अंतिम फैसला आने तक डिलीट होने की प्रक्रिया को रोक सकता है।\n\n– {product_name} सेफ्टी टीम" + "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट को हमारी सेवा की शर्तों या कम्युनिटी गाइडलाइंस के उल्लंघन के कारण हमेशा के लिए डिलीट करने के लिए शेड्यूल किया गया है।\n\nडिलीशन की निर्धारित तारीख: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {वजह: {reason}}\n}\n\nयह एक गंभीर कार्रवाई है। आपके अकाउंट का डेटा निर्धारित तारीख पर हमेशा के लिए डिलीट कर दिया जाएगा।\n\n{legalLinks, select,\n both {कृपया देखें:\n- सेवा की शर्तें: {termsUrl}\n- कम्युनिटी गाइडलाइंस: {guidelinesUrl}\n\n}\n terms {कृपया देखें:\n- सेवा की शर्तें: {termsUrl}\n\n}\n guidelines {कृपया देखें:\n- कम्युनिटी गाइडलाइंस: {guidelinesUrl}\n\n}\n other {}\n}अपील प्रक्रिया:\nअगर आपको लगता है कि यह फैसला गलत या अनुचित था, तो आपके पास अपील सबमिट करने के लिए 60 दिन हैं। {appeals_email, select, null {इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {इस ईमेल पते से {appeals_email} पर ईमेल करें।}}\n\nअपनी अपील में:\n- साफ़ तौर पर बताएं कि आपको क्यों लगता है कि यह फैसला गलत या अनुचित था\n- कोई भी प्रासंगिक सबूत या जानकारी दें\n\n{product_name} सेफ्टी टीम का एक सदस्य आपकी अपील का रिव्यू करेगा और अंतिम फैसला आने तक डिलीट होने की प्रक्रिया को रोक सकता है।\n\n– {product_name} सेफ्टी टीम" }, "account_temp_banned": { "subject": "आपका {product_name} अकाउंट अस्थायी रूप से सस्पेंड कर दिया गया है", - "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट को हमारी सेवा की शर्तों या कम्युनिटी गाइडलाइंस का उल्लंघन करने के लिए अस्थायी रूप से सस्पेंड कर दिया गया है।\n\nअवधि: {durationHours, plural,\n =1 {1 घंटा}\n other {# घंटे}\n}\nसस्पेंड रहेगा: {bannedUntil, date, full} {bannedUntil, time, short} तक\n\n{reason, select,\n null {}\n other {वजह: {reason}}\n}\n\nइस दौरान, आप अपने अकाउंट को एक्सेस नहीं कर पाएँगे।\n\nकृपया देखें:\n- सेवा की शर्तें: {termsUrl}\n- कम्युनिटी गाइडलाइंस: {guidelinesUrl}\n\nअगर आपको लगता है कि यह फैसला गलत या अनुचित था, तो आप अपील सबमिट कर सकते हैं। इस ईमेल पते से {appeals_email} पर ईमेल करें और साफ़ तौर पर बताएं कि आपको क्यों लगता है कि फैसला गलत था। हम आपकी अपील का रिव्यू करेंगे और अपने फैसले के साथ जवाब देंगे।\n\n– {product_name} सेफ्टी टीम" + "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट को हमारी सेवा की शर्तों या कम्युनिटी गाइडलाइंस का उल्लंघन करने के लिए अस्थायी रूप से सस्पेंड कर दिया गया है।\n\nअवधि: {durationHours, plural,\n =1 {1 घंटा}\n other {# घंटे}\n}\nसस्पेंड रहेगा: {bannedUntil, date, full} {bannedUntil, time, short} तक\n\n{reason, select,\n null {}\n other {वजह: {reason}}\n}\n\nइस दौरान, आप अपने अकाउंट को एक्सेस नहीं कर पाएँगे।\n\n{legalLinks, select,\n both {कृपया देखें:\n- सेवा की शर्तें: {termsUrl}\n- कम्युनिटी गाइडलाइंस: {guidelinesUrl}\n\n}\n terms {कृपया देखें:\n- सेवा की शर्तें: {termsUrl}\n\n}\n guidelines {कृपया देखें:\n- कम्युनिटी गाइडलाइंस: {guidelinesUrl}\n\n}\n other {}\n}अगर आपको लगता है कि यह फैसला गलत या अनुचित था, तो आप अपील सबमिट कर सकते हैं। {appeals_email, select, null {इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें और साफ़ तौर पर बताएं कि आपको क्यों लगता है कि फैसला गलत था।} other {इस ईमेल पते से {appeals_email} पर ईमेल करें और साफ़ तौर पर बताएं कि आपको क्यों लगता है कि फैसला गलत था।}} हम आपकी अपील का रिव्यू करेंगे और अपने फैसले के साथ जवाब देंगे।\n\n– {product_name} सेफ्टी टीम" }, "donation_confirmation": { "subject": "आपके {product_name} डोनेशन के लिए धन्यवाद", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "हमने आपकी {product_name} रिपोर्ट पर फैसला ले लिया है", - "body": "नमस्ते,\n\nहमारी सेफ्टी टीम ने आपकी Digital Services Act रिपोर्ट (ID: {reportId}) का रिव्यू करके फैसला ले लिया है।{hasComment, select, yes {\n\nसेफ्टी टीम का जवाब:\n{publicComment}} other {}}\n\nहम किसी दूसरे व्यक्ति के अकाउंट पर की गई कार्रवाई की जानकारी शेयर नहीं करते, क्योंकि वह उनका निजी डेटा है।\n\nअगर आप इस फैसले से सहमत नहीं हैं, तो आप 60 दिनों के अंदर मुफ़्त में अपील कर सकते हैं। इस ईमेल पते से {appeals_email} पर ईमेल करें, अपनी रिपोर्ट ID शामिल करें और बताएं कि आपको फैसला गलत क्यों लगता है। अगर आप EU में हैं, तो आप इस विवाद को अदालत के बाहर विवाद निपटाने वाली किसी प्रमाणित संस्था के पास भी ले जा सकते हैं। इनमें से किसी भी बात का आपके अदालत जाने के अधिकार पर कोई असर नहीं पड़ता।\n\n– {product_name} सेफ्टी टीम" + "body": "नमस्ते,\n\nहमारी सेफ्टी टीम ने आपकी Digital Services Act रिपोर्ट (ID: {reportId}) का रिव्यू करके फैसला ले लिया है।{hasComment, select, yes {\n\nसेफ्टी टीम का जवाब:\n{publicComment}} other {}}\n\nहम किसी दूसरे व्यक्ति के अकाउंट पर की गई कार्रवाई की जानकारी शेयर नहीं करते, क्योंकि वह उनका निजी डेटा है।\n\nअगर आप इस फैसले से सहमत नहीं हैं, तो आप 60 दिनों के अंदर मुफ़्त में अपील कर सकते हैं। {appeals_email, select, null {इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें, अपनी रिपोर्ट ID शामिल करें और बताएं कि आपको फैसला गलत क्यों लगता है।} other {इस ईमेल पते से {appeals_email} पर ईमेल करें, अपनी रिपोर्ट ID शामिल करें और बताएं कि आपको फैसला गलत क्यों लगता है।}} अगर आप EU में हैं, तो आप इस विवाद को अदालत के बाहर विवाद निपटाने वाली किसी प्रमाणित संस्था के पास भी ले जा सकते हैं। इनमें से किसी भी बात का आपके अदालत जाने के अधिकार पर कोई असर नहीं पड़ता।\n\n– {product_name} सेफ्टी टीम" }, "dsa_report_verification": { "subject": "DSA रिपोर्ट के लिए अपना ईमेल वेरिफ़ाई करें", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "आपके रिडीम किए गए गिफ्ट से मिलने वाले पर्क हटा दिए गए हैं", - "body": "नमस्ते {username},\n\nआपने जो गिफ्ट कोड रिडीम किया था, उसका पेमेंट मूल रूप से किसी और ने किया था। उस पेमेंट को बाद में वापस ले लिया गया (चार्जबैक)।\n\nइस वजह से, हमने वे पर्क हटा दिए हैं जो गिफ्ट रिडीम करते समय आपके अकाउंट में जोड़े गए थे।\n\nअगर आपको लगता है कि यह गलती है, तो कृपया हमारी सपोर्ट टीम से संपर्क करें और गिफ्ट कोड और उसे रिडीम करने के समय के बारे में आपके पास जो भी जानकारी है, वह शेयर करें।\n\n– {product_name} टीम" + "body": "नमस्ते {username},\n\nआपने जो गिफ्ट कोड रिडीम किया था, उसका पेमेंट मूल रूप से किसी और ने किया था। उस पेमेंट को बाद में वापस ले लिया गया (चार्जबैक)।\n\nइस वजह से, हमने वे पर्क हटा दिए हैं जो गिफ्ट रिडीम करते समय आपके अकाउंट में जोड़े गए थे।\n\n{support_email, select, null {अगर आपको लगता है कि यह गलती है, तो कृपया इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें और गिफ्ट कोड और उसे रिडीम करने के समय के बारे में आपके पास जो भी जानकारी है, वह शेयर करें।} other {अगर आपको लगता है कि यह गलती है, तो कृपया हमारी सपोर्ट टीम से संपर्क करें और गिफ्ट कोड और उसे रिडीम करने के समय के बारे में आपके पास जो भी जानकारी है, वह शेयर करें।}}\n\n– {product_name} टीम" }, "harvest_completed": { "subject": "आपका {product_name} डेटा एक्सपोर्ट डाउनलोड के लिए तैयार है", - "body": "नमस्ते {username},\n\nआपका डेटा एक्सपोर्ट तैयार है।\n\nडाउनलोड लिंक:\n{downloadUrl}\n\nशामिल मैसेज: {totalMessages, number}\nफ़ाइल साइज़: {fileSizeMB, number} MB\n\nयह लिंक {expiresAt, date, full} को {expiresAt, time, short} पर एक्सपायर हो जाएगा।\n\nअगर आपने इस एक्सपोर्ट का अनुरोध नहीं किया था, तो कृपया तुरंत अपना पासवर्ड बदलें और हमारी सपोर्ट टीम से संपर्क करें।\n\n– {product_name} टीम" + "body": "नमस्ते {username},\n\nआपका डेटा एक्सपोर्ट तैयार है।\n\nडाउनलोड लिंक:\n{downloadUrl}\n\nशामिल मैसेज: {totalMessages, number}\nफ़ाइल साइज़: {fileSizeMB, number} MB\n\nयह लिंक {expiresAt, date, full} को {expiresAt, time, short} पर एक्सपायर हो जाएगा।\n\n{support_email, select, null {अगर आपने इस एक्सपोर्ट का अनुरोध नहीं किया था, तो कृपया तुरंत अपना पासवर्ड बदलें और इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {अगर आपने इस एक्सपोर्ट का अनुरोध नहीं किया था, तो कृपया तुरंत अपना पासवर्ड बदलें और हमारी सपोर्ट टीम से संपर्क करें।}}\n\n– {product_name} टीम" }, "inactivity_warning": { "subject": "आपका {product_name} अकाउंट इनएक्टिविटी के कारण डिलीट कर दिया जाएगा", - "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट पर {lastActiveDate, date, full} के बाद से कोई एक्टिविटी नहीं हुई है।\n\nअगर आप {deletionDate, date, full} को {deletionDate, time, short} तक लॉगिन नहीं करते हैं, तो आपका अकाउंट इनएक्टिविटी के कारण हमेशा के लिए डिलीट कर दिया जाएगा।\n\nयहाँ लॉगिन करें:\n{loginUrl}\n\nअगर आपने हाल ही में {product_name} का इस्तेमाल किया है, तो कृपया तुरंत हमारी सपोर्ट टीम से संपर्क करें।\n\n– {product_name} टीम" + "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट पर {lastActiveDate, date, full} के बाद से कोई एक्टिविटी नहीं हुई है।\n\nअगर आप {deletionDate, date, full} को {deletionDate, time, short} तक लॉगिन नहीं करते हैं, तो आपका अकाउंट इनएक्टिविटी के कारण हमेशा के लिए डिलीट कर दिया जाएगा।\n\nयहाँ लॉगिन करें:\n{loginUrl}\n\n{support_email, select, null {अगर आपने हाल ही में {product_name} का इस्तेमाल किया है, तो कृपया तुरंत इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {अगर आपने हाल ही में {product_name} का इस्तेमाल किया है, तो कृपया तुरंत हमारी सपोर्ट टीम से संपर्क करें।}}\n\n– {product_name} टीम" }, "ip_authorization": { "subject": "नए IP एड्रेस से लॉगिन को ऑथराइज़ करें", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "आपकी {product_name} रिपोर्ट का रिव्यू कर लिया गया है", - "body": "नमस्ते {username},\n\nआपकी रिपोर्ट (ID: {reportId}) का हमारी सेफ्टी टीम ने रिव्यू कर लिया है।{hasComment, select, yes {\n\nसेफ्टी टीम का जवाब:\n{publicComment}} other {}}\n\n{product_name} को सभी के लिए सुरक्षित रखने में मदद करने के लिए धन्यवाद। हम हर रिपोर्ट को गंभीरता से लेते हैं और कम्युनिटी में आपके योगदान की सराहना करते हैं।\n\nअगर आपको इस नतीजे के बारे में कोई सवाल या चिंता है, तो कृपया {safety_email} पर संपर्क करें।\n\n– {product_name} सेफ्टी टीम" + "body": "नमस्ते {username},\n\nआपकी रिपोर्ट (ID: {reportId}) का हमारी सेफ्टी टीम ने रिव्यू कर लिया है।{hasComment, select, yes {\n\nसेफ्टी टीम का जवाब:\n{publicComment}} other {}}\n\n{product_name} को सभी के लिए सुरक्षित रखने में मदद करने के लिए धन्यवाद। हम हर रिपोर्ट को गंभीरता से लेते हैं और कम्युनिटी में आपके योगदान की सराहना करते हैं।\n\n{safety_email, select, null {अगर आपको इस नतीजे के बारे में कोई सवाल या चिंता है, तो कृपया इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {अगर आपको इस नतीजे के बारे में कोई सवाल या चिंता है, तो कृपया {safety_email} पर संपर्क करें।}}\n\n– {product_name} सेफ्टी टीम" }, "scheduled_deletion_notification": { "subject": "आपका {product_name} अकाउंट हमेशा के लिए डिलीट कर दिया जाएगा", - "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट को हमेशा के लिए डिलीट करने के लिए शेड्यूल किया गया है।\n\nडिलीशन की निर्धारित तारीख: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {वजह: {reason}}\n}\n\nयह एक गंभीर कार्रवाई है। आपके अकाउंट का डेटा निर्धारित तारीख पर हमेशा के लिए डिलीट कर दिया जाएगा।\n\nअगर आपको लगता है कि यह फैसला गलत था, तो आप अपील सबमिट कर सकते हैं। इस ईमेल पते से {appeals_email} पर ईमेल करें।\n\n– {product_name} सेफ्टी टीम" + "body": "नमस्ते {username},\n\nआपके {product_name} अकाउंट को हमेशा के लिए डिलीट करने के लिए शेड्यूल किया गया है।\n\nडिलीशन की निर्धारित तारीख: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {वजह: {reason}}\n}\n\nयह एक गंभीर कार्रवाई है। आपके अकाउंट का डेटा निर्धारित तारीख पर हमेशा के लिए डिलीट कर दिया जाएगा।\n\nअगर आपको लगता है कि यह फैसला गलत था, तो आप अपील सबमिट कर सकते हैं। {appeals_email, select, null {इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {इस ईमेल पते से {appeals_email} पर ईमेल करें।}}\n\n– {product_name} सेफ्टी टीम" }, "self_deletion_scheduled": { "subject": "आपके {product_name} अकाउंट का डिलीशन शेड्यूल कर दिया गया है", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/hr.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/hr.json index a75a7c9be..80c860c24 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/hr.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/hr.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Brisanje tvog računa na {product_name}u je otkazano", - "body": "Pozdrav {username},\n\nZakazano brisanje tvog računa na {product_name}u je otkazano. Tvoj račun neće biti izbrisan.\n\nAko imaš pitanja, kontaktiraj {safety_email}.\n\n– Tim {product_name}a" + "body": "Pozdrav {username},\n\nZakazano brisanje tvog računa na {product_name}u je otkazano. Tvoj račun neće biti izbrisan.\n\n{safety_email, select, null {Ako imaš pitanja, obrati se administratorima ove instance.} other {Ako imaš pitanja, kontaktiraj {safety_email}.}}\n\n– Tim {product_name}a" }, "account_deletion_scheduled_inactivity": { "subject": "Tvoj račun na {product_name}u bit će izbrisan zbog neaktivnosti", - "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u dugo je bio neaktivan, pa je zakazan za trajno brisanje:\n\n{deletionDate, date, full} u {deletionDate, time, short}{reason, select, null {} other {\n\nRazlog: {reason}}}\n\nAko želiš zadržati račun, kontaktiraj {safety_email} s ove adrese e-pošte prije tog datuma.\n\n– Tim {product_name}a" + "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u dugo je bio neaktivan, pa je zakazan za trajno brisanje:\n\n{deletionDate, date, full} u {deletionDate, time, short}{reason, select, null {} other {\n\nRazlog: {reason}}}\n\n{safety_email, select, null {Ako želiš zadržati račun, obrati se administratorima ove instance prije tog datuma.} other {Ako želiš zadržati račun, kontaktiraj {safety_email} s ove adrese e-pošte prije tog datuma.}}\n\n– Tim {product_name}a" }, "account_deletion_scheduled_requested": { "subject": "Brisanje tvog računa na {product_name}u je zakazano", - "body": "Pozdrav {username},\n\nNa tvoj zahtjev, tvoj račun na {product_name}u zakazan je za trajno brisanje:\n\n{deletionDate, date, full} u {deletionDate, time, short}{reason, select, null {} other {\n\nRazlog: {reason}}}\n\nDo tada je tvoj račun zaključan. Ako ovaj zahtjev ne dolazi od tebe ili želiš zadržati račun, kontaktiraj {safety_email} s ove adrese e-pošte prije tog datuma.\n\n– Tim {product_name}a" + "body": "Pozdrav {username},\n\nNa tvoj zahtjev, tvoj račun na {product_name}u zakazan je za trajno brisanje:\n\n{deletionDate, date, full} u {deletionDate, time, short}{reason, select, null {} other {\n\nRazlog: {reason}}}\n\nDo tada je tvoj račun zaključan. {safety_email, select, null {Ako ovaj zahtjev ne dolazi od tebe ili želiš zadržati račun, obrati se administratorima ove instance prije tog datuma.} other {Ako ovaj zahtjev ne dolazi od tebe ili želiš zadržati račun, kontaktiraj {safety_email} s ove adrese e-pošte prije tog datuma.}}\n\n– Tim {product_name}a" }, "account_scheduled_deletion": { "subject": "Tvoj račun na {product_name}u bit će trajno izbrisan", - "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u zakazan je za trajno brisanje zbog kršenja naših Uvjeta pružanja usluge ili Smjernica zajednice.\n\nZakazano brisanje: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Razlog: {reason}}\n}\n\nOvo je ozbiljna mjera. Podaci tvog računa bit će trajno izbrisani na zakazani datum.\n\nPregledaj:\n- Uvjeti pružanja usluge: {termsUrl}\n- Smjernice zajednice: {guidelinesUrl}\n\nPostupak žalbe:\nAko smatraš da je ova odluka bila netočna ili neopravdana, imaš 60 dana za podnošenje žalbe. Pošalji e-poštu na {appeals_email} s ove adrese e-pošte.\n\nU svojoj žalbi:\n- Jasno objasni zašto smatraš da je odluka bila netočna ili neopravdana\n- Navedi sve relevantne dokaze ili kontekst\n\nČlan Sigurnosnog tima {product_name}a pregledat će tvoju žalbu i može privremeno zaustaviti zakazano brisanje dok se ne donese konačna odluka.\n\n– Sigurnosni tim {product_name}a" + "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u zakazan je za trajno brisanje zbog kršenja naših Uvjeta pružanja usluge ili Smjernica zajednice.\n\nZakazano brisanje: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Razlog: {reason}}\n}\n\nOvo je ozbiljna mjera. Podaci tvog računa bit će trajno izbrisani na zakazani datum.\n\n{legalLinks, select,\n both {Pregledaj:\n- Uvjeti pružanja usluge: {termsUrl}\n- Smjernice zajednice: {guidelinesUrl}\n\n}\n terms {Pregledaj:\n- Uvjeti pružanja usluge: {termsUrl}\n\n}\n guidelines {Pregledaj:\n- Smjernice zajednice: {guidelinesUrl}\n\n}\n other {}\n}Postupak žalbe:\nAko smatraš da je ova odluka bila netočna ili neopravdana, imaš 60 dana za podnošenje žalbe. {appeals_email, select, null {Obrati se administratorima ove instance.} other {Pošalji e-poštu na {appeals_email} s ove adrese e-pošte.}}\n\nU svojoj žalbi:\n- Jasno objasni zašto smatraš da je odluka bila netočna ili neopravdana\n- Navedi sve relevantne dokaze ili kontekst\n\nČlan Sigurnosnog tima {product_name}a pregledat će tvoju žalbu i može privremeno zaustaviti zakazano brisanje dok se ne donese konačna odluka.\n\n– Sigurnosni tim {product_name}a" }, "account_temp_banned": { "subject": "Tvoj račun na {product_name}u privremeno je suspendiran", - "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u privremeno je suspendiran zbog kršenja naših Uvjeta pružanja usluge ili Smjernica zajednice.\n\nTrajanje: {durationHours, plural,\n =1 {1 sat}\n one {# sat}\n few {# sata}\n other {# sati}\n}\nSuspendiran do: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Razlog: {reason}}\n}\n\nTijekom tog vremena nećeš moći pristupiti svom računu.\n\nPregledaj:\n- Uvjeti pružanja usluge: {termsUrl}\n- Smjernice zajednice: {guidelinesUrl}\n\nAko smatraš da je ova odluka bila netočna ili neopravdana, možeš podnijeti žalbu. Pošalji e-poštu na {appeals_email} s ove adrese e-pošte i jasno objasni zašto smatraš da je odluka bila netočna. Pregledat ćemo tvoju žalbu i javiti ti našu odluku.\n\n– Sigurnosni tim {product_name}a" + "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u privremeno je suspendiran zbog kršenja naših Uvjeta pružanja usluge ili Smjernica zajednice.\n\nTrajanje: {durationHours, plural,\n =1 {1 sat}\n one {# sat}\n few {# sata}\n other {# sati}\n}\nSuspendiran do: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Razlog: {reason}}\n}\n\nTijekom tog vremena nećeš moći pristupiti svom računu.\n\n{legalLinks, select,\n both {Pregledaj:\n- Uvjeti pružanja usluge: {termsUrl}\n- Smjernice zajednice: {guidelinesUrl}\n\n}\n terms {Pregledaj:\n- Uvjeti pružanja usluge: {termsUrl}\n\n}\n guidelines {Pregledaj:\n- Smjernice zajednice: {guidelinesUrl}\n\n}\n other {}\n}Ako smatraš da je ova odluka bila netočna ili neopravdana, možeš podnijeti žalbu. {appeals_email, select, null {Obrati se administratorima ove instance i jasno objasni zašto smatraš da je odluka bila netočna.} other {Pošalji e-poštu na {appeals_email} s ove adrese e-pošte i jasno objasni zašto smatraš da je odluka bila netočna.}} Pregledat ćemo tvoju žalbu i javiti ti našu odluku.\n\n– Sigurnosni tim {product_name}a" }, "donation_confirmation": { "subject": "Hvala ti na donaciji za {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Donijeli smo odluku o tvojoj prijavi na platformi {product_name}", - "body": "Pozdrav,\n\nNaš sigurnosni tim pregledao je tvoju prijavu prema Zakonu o digitalnim uslugama (ID: {reportId}) i donio odluku.{hasComment, select, yes {\n\nOdgovor sigurnosnog tima:\n{publicComment}} other {}}\n\nNe dijelimo pojedinosti o mjerama poduzetima protiv računa druge osobe jer su to njezini osobni podaci.\n\nAko se ne slažeš s ovom odlukom, možeš besplatno podnijeti žalbu u roku od 60 dana. Pošalji e-poštu na {appeals_email} s ove adrese e-pošte, navedi ID svoje prijave i objasni zašto smatraš da je odluka pogrešna. Ako se nalaziš u EU-u, spor možeš uputiti i certificiranom tijelu za izvansudsko rješavanje sporova. Ništa od navedenog ne utječe na tvoje pravo da se obratiš sudu.\n\n– Sigurnosni tim {product_name}a" + "body": "Pozdrav,\n\nNaš sigurnosni tim pregledao je tvoju prijavu prema Zakonu o digitalnim uslugama (ID: {reportId}) i donio odluku.{hasComment, select, yes {\n\nOdgovor sigurnosnog tima:\n{publicComment}} other {}}\n\nNe dijelimo pojedinosti o mjerama poduzetima protiv računa druge osobe jer su to njezini osobni podaci.\n\nAko se ne slažeš s ovom odlukom, možeš besplatno podnijeti žalbu u roku od 60 dana. {appeals_email, select, null {Obrati se administratorima ove instance, navedi ID svoje prijave i objasni zašto smatraš da je odluka pogrešna.} other {Pošalji e-poštu na {appeals_email} s ove adrese e-pošte, navedi ID svoje prijave i objasni zašto smatraš da je odluka pogrešna.}} Ako se nalaziš u EU-u, spor možeš uputiti i certificiranom tijelu za izvansudsko rješavanje sporova. Ništa od navedenog ne utječe na tvoje pravo da se obratiš sudu.\n\n– Sigurnosni tim {product_name}a" }, "dsa_report_verification": { "subject": "Potvrdi svoju e-poštu za prijavu prema Zakonu o digitalnim uslugama", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Pogodnosti tvog iskorištenog poklona su uklonjene", - "body": "Pozdrav {username},\n\nPoklon kod iskorišten na tvom računu izvorno je platio netko drugi. To je plaćanje u međuvremenu poništeno (povrat sredstava putem banke).\n\nZbog toga smo uklonili pogodnosti koje su pri iskorištavanju poklona dodane tvom računu.\n\nAko misliš da je ovo pogreška, kontaktiraj naš tim za podršku i navedi sve podatke koje imaš o poklon kodu i o vremenu njegova iskorištavanja.\n\n– Tim {product_name}a" + "body": "Pozdrav {username},\n\nPoklon kod iskorišten na tvom računu izvorno je platio netko drugi. To je plaćanje u međuvremenu poništeno (povrat sredstava putem banke).\n\nZbog toga smo uklonili pogodnosti koje su pri iskorištavanju poklona dodane tvom računu.\n\n{support_email, select, null {Ako misliš da je ovo pogreška, obrati se administratorima ove instance i navedi sve podatke koje imaš o poklon kodu i o vremenu njegova iskorištavanja.} other {Ako misliš da je ovo pogreška, kontaktiraj naš tim za podršku i navedi sve podatke koje imaš o poklon kodu i o vremenu njegova iskorištavanja.}}\n\n– Tim {product_name}a" }, "harvest_completed": { "subject": "Tvoj izvoz podataka za {product_name} je spreman za preuzimanje", - "body": "Pozdrav {username},\n\nTvoj izvoz podataka je spreman.\n\nPoveznica za preuzimanje:\n{downloadUrl}\n\nUključene poruke: {totalMessages, number}\nVeličina datoteke: {fileSizeMB, number} MB\n\nOva poveznica istječe {expiresAt, date, full} u {expiresAt, time, short}.\n\nAko ovaj izvoz ne dolazi od tebe, odmah promijeni lozinku i kontaktiraj naš tim za podršku.\n\n– Tim {product_name}a" + "body": "Pozdrav {username},\n\nTvoj izvoz podataka je spreman.\n\nPoveznica za preuzimanje:\n{downloadUrl}\n\nUključene poruke: {totalMessages, number}\nVeličina datoteke: {fileSizeMB, number} MB\n\nOva poveznica istječe {expiresAt, date, full} u {expiresAt, time, short}.\n\n{support_email, select, null {Ako ovaj izvoz ne dolazi od tebe, odmah promijeni lozinku i obrati se administratorima ove instance.} other {Ako ovaj izvoz ne dolazi od tebe, odmah promijeni lozinku i kontaktiraj naš tim za podršku.}}\n\n– Tim {product_name}a" }, "inactivity_warning": { "subject": "Tvoj račun na {product_name}u bit će izbrisan zbog neaktivnosti", - "body": "Pozdrav {username},\n\nNismo primijetili nikakvu aktivnost na tvom računu na {product_name}u od {lastActiveDate, date, full}.\n\nAko se ne prijaviš do {deletionDate, date, full} u {deletionDate, time, short}, tvoj račun bit će trajno izbrisan zbog neaktivnosti.\n\nPrijavi se ovdje:\n{loginUrl}\n\nAko u posljednje vrijeme koristiš {product_name}, odmah kontaktiraj naš tim za podršku.\n\n– Tim {product_name}a" + "body": "Pozdrav {username},\n\nNismo primijetili nikakvu aktivnost na tvom računu na {product_name}u od {lastActiveDate, date, full}.\n\nAko se ne prijaviš do {deletionDate, date, full} u {deletionDate, time, short}, tvoj račun bit će trajno izbrisan zbog neaktivnosti.\n\nPrijavi se ovdje:\n{loginUrl}\n\n{support_email, select, null {Ako u posljednje vrijeme koristiš {product_name}, odmah obrati se administratorima ove instance.} other {Ako u posljednje vrijeme koristiš {product_name}, odmah kontaktiraj naš tim za podršku.}}\n\n– Tim {product_name}a" }, "ip_authorization": { "subject": "Odobri prijavu s nove IP adrese", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Tvoja prijava na {product_name}u je pregledana", - "body": "Pozdrav {username},\n\nTvoju prijavu (ID: {reportId}) pregledao je naš sigurnosni tim.{hasComment, select, yes {\n\nOdgovor sigurnosnog tima:\n{publicComment}} other {}}\n\nHvala ti što pomažeš da {product_name} bude siguran za sve. Sve prijave shvaćamo ozbiljno i cijenimo tvoj doprinos zajednici.\n\nAko imaš bilo kakvih pitanja ili nedoumica u vezi s ovim ishodom, kontaktiraj {safety_email}.\n\n– Sigurnosni tim {product_name}a" + "body": "Pozdrav {username},\n\nTvoju prijavu (ID: {reportId}) pregledao je naš sigurnosni tim.{hasComment, select, yes {\n\nOdgovor sigurnosnog tima:\n{publicComment}} other {}}\n\nHvala ti što pomažeš da {product_name} bude siguran za sve. Sve prijave shvaćamo ozbiljno i cijenimo tvoj doprinos zajednici.\n\n{safety_email, select, null {Ako imaš bilo kakvih pitanja ili nedoumica u vezi s ovim ishodom, obrati se administratorima ove instance.} other {Ako imaš bilo kakvih pitanja ili nedoumica u vezi s ovim ishodom, kontaktiraj {safety_email}.}}\n\n– Sigurnosni tim {product_name}a" }, "scheduled_deletion_notification": { "subject": "Tvoj račun na {product_name}u bit će trajno izbrisan", - "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u zakazan je za trajno brisanje.\n\nZakazano brisanje: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Razlog: {reason}}\n}\n\nOvo je ozbiljna mjera. Podaci tvog računa bit će trajno izbrisani na zakazani datum.\n\nAko smatraš da je ova odluka bila netočna, možeš podnijeti žalbu. Pošalji e-poštu na {appeals_email} s ove adrese e-pošte.\n\n– Sigurnosni tim {product_name}a" + "body": "Pozdrav {username},\n\nTvoj račun na {product_name}u zakazan je za trajno brisanje.\n\nZakazano brisanje: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Razlog: {reason}}\n}\n\nOvo je ozbiljna mjera. Podaci tvog računa bit će trajno izbrisani na zakazani datum.\n\nAko smatraš da je ova odluka bila netočna, možeš podnijeti žalbu. {appeals_email, select, null {Obrati se administratorima ove instance.} other {Pošalji e-poštu na {appeals_email} s ove adrese e-pošte.}}\n\n– Sigurnosni tim {product_name}a" }, "self_deletion_scheduled": { "subject": "Brisanje tvog računa na {product_name}u je zakazano", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/hu.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/hu.json index be0b84ab2..5eedec7cd 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/hu.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/hu.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Visszavontuk {product_name}-fiókod törlését", - "body": "Szia, {username}!\n\n{product_name}-fiókod ütemezett törlését visszavontuk. A fiókodat nem töröljük.\n\nHa kérdésed van, írj erre a címre: {safety_email}.\n\n– {product_name} csapata" + "body": "Szia, {username}!\n\n{product_name}-fiókod ütemezett törlését visszavontuk. A fiókodat nem töröljük.\n\n{safety_email, select, null {Ha kérdésed van, fordulj ennek a példánynak az adminisztrátoraihoz.} other {Ha kérdésed van, írj erre a címre: {safety_email}.}}\n\n– {product_name} csapata" }, "account_deletion_scheduled_inactivity": { "subject": "{product_name}-fiókodat inaktivitás miatt törölni fogjuk", - "body": "Szia, {username}!\n\n{product_name}-fiókod hosszú ideje inaktív, ezért végleges törlése a következő időpontra van ütemezve:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nIndok: {reason}}}\n\nHa meg szeretnéd tartani a fiókodat, még az időpont előtt írj erről az e-mail-címről erre a címre: {safety_email}.\n\n– {product_name} csapata" + "body": "Szia, {username}!\n\n{product_name}-fiókod hosszú ideje inaktív, ezért végleges törlése a következő időpontra van ütemezve:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nIndok: {reason}}}\n\n{safety_email, select, null {Ha meg szeretnéd tartani a fiókodat, még az időpont előtt fordulj ennek a példánynak az adminisztrátoraihoz.} other {Ha meg szeretnéd tartani a fiókodat, még az időpont előtt írj erről az e-mail-címről erre a címre: {safety_email}.}}\n\n– {product_name} csapata" }, "account_deletion_scheduled_requested": { "subject": "Ütemeztük {product_name}-fiókod törlését", - "body": "Szia, {username}!\n\nKérésedre {product_name}-fiókod végleges törlése a következő időpontra van ütemezve:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nIndok: {reason}}}\n\nAddig a fiókod zárolva van. Ha nem te kérted ezt, vagy meg szeretnéd tartani a fiókodat, még az időpont előtt írj erről az e-mail-címről erre a címre: {safety_email}.\n\n– {product_name} csapata" + "body": "Szia, {username}!\n\nKérésedre {product_name}-fiókod végleges törlése a következő időpontra van ütemezve:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nIndok: {reason}}}\n\nAddig a fiókod zárolva van. {safety_email, select, null {Ha nem te kérted ezt, vagy meg szeretnéd tartani a fiókodat, még az időpont előtt fordulj ennek a példánynak az adminisztrátoraihoz.} other {Ha nem te kérted ezt, vagy meg szeretnéd tartani a fiókodat, még az időpont előtt írj erről az e-mail-címről erre a címre: {safety_email}.}}\n\n– {product_name} csapata" }, "account_scheduled_deletion": { "subject": "{product_name}-fiókodat véglegesen törölni fogjuk", - "body": "Szia, {username}!\n\n{product_name}-fiókod végleges törlését ütemeztük a szolgáltatási feltételeink vagy a közösségi irányelveink megsértése miatt.\n\nA törlés tervezett időpontja: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Indok: {reason}}\n}\n\nEz súlyos moderációs intézkedés. Fiókod adatait a megadott időpontban véglegesen töröljük.\n\nKérjük, olvasd át az alábbiakat:\n- Szolgáltatási feltételek: {termsUrl}\n- Közösségi irányelvek: {guidelinesUrl}\n\nFellebbezés:\nHa úgy gondolod, hogy ez a döntés hibás vagy indokolatlan volt, 60 napod van fellebbezni. Erről az e-mail-címről írj a következő címre: {appeals_email}.\n\nA fellebbezésben:\n- Világosan fejtsd ki, miért gondolod, hogy a döntés hibás vagy indokolatlan volt.\n- Add meg a kapcsolódó bizonyítékokat és a körülményeket.\n\nA {product_name} biztonsági csapatának egyik tagja elbírálja a fellebbezésedet, és a végleges döntésig felfüggesztheti a tervezett törlést.\n\n– {product_name} biztonsági csapata" + "body": "Szia, {username}!\n\n{product_name}-fiókod végleges törlését ütemeztük a szolgáltatási feltételeink vagy a közösségi irányelveink megsértése miatt.\n\nA törlés tervezett időpontja: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Indok: {reason}}\n}\n\nEz súlyos moderációs intézkedés. Fiókod adatait a megadott időpontban véglegesen töröljük.\n\n{legalLinks, select,\n both {Kérjük, olvasd át az alábbiakat:\n- Szolgáltatási feltételek: {termsUrl}\n- Közösségi irányelvek: {guidelinesUrl}\n\n}\n terms {Kérjük, olvasd át az alábbiakat:\n- Szolgáltatási feltételek: {termsUrl}\n\n}\n guidelines {Kérjük, olvasd át az alábbiakat:\n- Közösségi irányelvek: {guidelinesUrl}\n\n}\n other {}\n}Fellebbezés:\nHa úgy gondolod, hogy ez a döntés hibás vagy indokolatlan volt, 60 napod van fellebbezni. {appeals_email, select, null {Fordulj ennek a példánynak az adminisztrátoraihoz.} other {Erről az e-mail-címről írj a következő címre: {appeals_email}.}}\n\nA fellebbezésben:\n- Világosan fejtsd ki, miért gondolod, hogy a döntés hibás vagy indokolatlan volt.\n- Add meg a kapcsolódó bizonyítékokat és a körülményeket.\n\nA {product_name} biztonsági csapatának egyik tagja elbírálja a fellebbezésedet, és a végleges döntésig felfüggesztheti a tervezett törlést.\n\n– {product_name} biztonsági csapata" }, "account_temp_banned": { "subject": "{product_name}-fiókodat ideiglenesen felfüggesztettük", - "body": "Szia, {username}!\n\n{product_name}-fiókodat ideiglenesen felfüggesztettük a szolgáltatási feltételeink vagy a közösségi irányelveink megsértése miatt.\n\nIdőtartam: {durationHours, plural,\n =1 {1 óra}\n other {# óra}\n}\nA felfüggesztés vége: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Indok: {reason}}\n}\n\nEz idő alatt nem férsz hozzá a fiókodhoz.\n\nKérjük, olvasd át az alábbiakat:\n- Szolgáltatási feltételek: {termsUrl}\n- Közösségi irányelvek: {guidelinesUrl}\n\nHa úgy gondolod, hogy ez a döntés hibás vagy indokolatlan volt, fellebbezhetsz. Erről az e-mail-címről írj a következő címre: {appeals_email}, és világosan fejtsd ki, miért tartod hibásnak a döntést. Elbíráljuk a fellebbezésedet, és értesítünk a döntésünkről.\n\n– {product_name} biztonsági csapata" + "body": "Szia, {username}!\n\n{product_name}-fiókodat ideiglenesen felfüggesztettük a szolgáltatási feltételeink vagy a közösségi irányelveink megsértése miatt.\n\nIdőtartam: {durationHours, plural,\n =1 {1 óra}\n other {# óra}\n}\nA felfüggesztés vége: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Indok: {reason}}\n}\n\nEz idő alatt nem férsz hozzá a fiókodhoz.\n\n{legalLinks, select,\n both {Kérjük, olvasd át az alábbiakat:\n- Szolgáltatási feltételek: {termsUrl}\n- Közösségi irányelvek: {guidelinesUrl}\n\n}\n terms {Kérjük, olvasd át az alábbiakat:\n- Szolgáltatási feltételek: {termsUrl}\n\n}\n guidelines {Kérjük, olvasd át az alábbiakat:\n- Közösségi irányelvek: {guidelinesUrl}\n\n}\n other {}\n}Ha úgy gondolod, hogy ez a döntés hibás vagy indokolatlan volt, fellebbezhetsz. {appeals_email, select, null {Fordulj ennek a példánynak az adminisztrátoraihoz, és világosan fejtsd ki, miért tartod hibásnak a döntést.} other {Erről az e-mail-címről írj a következő címre: {appeals_email}, és világosan fejtsd ki, miért tartod hibásnak a döntést.}} Elbíráljuk a fellebbezésedet, és értesítünk a döntésünkről.\n\n– {product_name} biztonsági csapata" }, "donation_confirmation": { "subject": "Köszönjük, hogy adományoddal támogatod a {product_name} működését", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Döntést hoztunk a {product_name} felületén tett bejelentésedről", - "body": "Szia!\n\nBiztonsági csapatunk elbírálta a digitális szolgáltatásokról szóló rendelet szerinti bejelentésedet (azonosító: {reportId}), és döntést hozott.{hasComment, select, yes {\n\nA biztonsági csapat válasza:\n{publicComment}} other {}}\n\nMás személy fiókjával szemben tett intézkedések részleteit nem osztjuk meg, mert azok az ő személyes adatai.\n\nHa nem értesz egyet a döntéssel, 60 napon belül díjmentesen fellebbezhetsz. Erről az e-mail-címről írj a következő címre: {appeals_email}, add meg a bejelentésed azonosítóját, és fejtsd ki, miért tartod hibásnak a döntést. Ha az EU-ban tartózkodsz, a vitát tanúsított peren kívüli vitarendezési testület elé is viheted. Mindez nem érinti azt a jogodat, hogy bírósághoz fordulj.\n\n– {product_name} biztonsági csapata" + "body": "Szia!\n\nBiztonsági csapatunk elbírálta a digitális szolgáltatásokról szóló rendelet szerinti bejelentésedet (azonosító: {reportId}), és döntést hozott.{hasComment, select, yes {\n\nA biztonsági csapat válasza:\n{publicComment}} other {}}\n\nMás személy fiókjával szemben tett intézkedések részleteit nem osztjuk meg, mert azok az ő személyes adatai.\n\nHa nem értesz egyet a döntéssel, 60 napon belül díjmentesen fellebbezhetsz. {appeals_email, select, null {Fordulj ennek a példánynak az adminisztrátoraihoz, add meg a bejelentésed azonosítóját, és fejtsd ki, miért tartod hibásnak a döntést.} other {Erről az e-mail-címről írj a következő címre: {appeals_email}, add meg a bejelentésed azonosítóját, és fejtsd ki, miért tartod hibásnak a döntést.}} Ha az EU-ban tartózkodsz, a vitát tanúsított peren kívüli vitarendezési testület elé is viheted. Mindez nem érinti azt a jogodat, hogy bírósághoz fordulj.\n\n– {product_name} biztonsági csapata" }, "dsa_report_verification": { "subject": "Erősítsd meg e-mail-címedet a DSA-bejelentéshez", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Megszűntek a beváltott ajándékodhoz tartozó előnyök", - "body": "Szia, {username}!\n\nAz általad beváltott ajándékkódot eredetileg valaki más fizette ki. Ezt a fizetést azóta visszaterhelték (chargeback).\n\nEmiatt megszüntettük azokat az előnyöket, amelyeket az ajándék beváltásakor kapott a fiókod.\n\nHa úgy gondolod, hogy ez tévedés, vedd fel a kapcsolatot ügyfélszolgálatunkkal, és add meg az ajándékkóddal és a beváltás időpontjával kapcsolatos ismert részleteket.\n\n– {product_name} csapata" + "body": "Szia, {username}!\n\nAz általad beváltott ajándékkódot eredetileg valaki más fizette ki. Ezt a fizetést azóta visszaterhelték (chargeback).\n\nEmiatt megszüntettük azokat az előnyöket, amelyeket az ajándék beváltásakor kapott a fiókod.\n\n{support_email, select, null {Ha úgy gondolod, hogy ez tévedés, fordulj ennek a példánynak az adminisztrátoraihoz, és add meg az ajándékkóddal és a beváltás időpontjával kapcsolatos ismert részleteket.} other {Ha úgy gondolod, hogy ez tévedés, vedd fel a kapcsolatot ügyfélszolgálatunkkal, és add meg az ajándékkóddal és a beváltás időpontjával kapcsolatos ismert részleteket.}}\n\n– {product_name} csapata" }, "harvest_completed": { "subject": "A {product_name} adatexportja elkészült, letöltheted az adataidat", - "body": "Szia, {username}!\n\nAz adatexportod elkészült.\n\nLetöltési link:\n{downloadUrl}\n\nÜzenetek száma: {totalMessages, number}\nFájlméret: {fileSizeMB, number} MB\n\nEz a link {expiresAt, date, full} {expiresAt, time, short} időpontban jár le.\n\nHa nem kérted ezt az exportálást, azonnal változtasd meg a jelszavadat, és vedd fel a kapcsolatot az ügyfélszolgálatunkkal.\n\n– {product_name} csapata" + "body": "Szia, {username}!\n\nAz adatexportod elkészült.\n\nLetöltési link:\n{downloadUrl}\n\nÜzenetek száma: {totalMessages, number}\nFájlméret: {fileSizeMB, number} MB\n\nEz a link {expiresAt, date, full} {expiresAt, time, short} időpontban jár le.\n\n{support_email, select, null {Ha nem kérted ezt az exportálást, azonnal változtasd meg a jelszavadat, és fordulj ennek a példánynak az adminisztrátoraihoz.} other {Ha nem kérted ezt az exportálást, azonnal változtasd meg a jelszavadat, és vedd fel a kapcsolatot az ügyfélszolgálatunkkal.}}\n\n– {product_name} csapata" }, "inactivity_warning": { "subject": "{product_name}-fiókodat inaktivitás miatt törölni fogjuk", - "body": "Szia, {username}!\n\nEzen dátum óta nem észleltünk tevékenységet {product_name}-fiókodban: {lastActiveDate, date, full}.\n\nHa nem jelentkezel be az alábbi időpontig, inaktivitás miatt véglegesen töröljük a fiókodat: {deletionDate, date, full} {deletionDate, time, short}.\n\nItt jelentkezhetsz be:\n{loginUrl}\n\nHa mostanában használtad a {product_name} alkalmazást, azonnal vedd fel a kapcsolatot ügyfélszolgálatunkkal.\n\n– {product_name} csapata" + "body": "Szia, {username}!\n\nEzen dátum óta nem észleltünk tevékenységet {product_name}-fiókodban: {lastActiveDate, date, full}.\n\nHa nem jelentkezel be az alábbi időpontig, inaktivitás miatt véglegesen töröljük a fiókodat: {deletionDate, date, full} {deletionDate, time, short}.\n\nItt jelentkezhetsz be:\n{loginUrl}\n\n{support_email, select, null {Ha mostanában használtad a {product_name} alkalmazást, azonnal fordulj ennek a példánynak az adminisztrátoraihoz.} other {Ha mostanában használtad a {product_name} alkalmazást, azonnal vedd fel a kapcsolatot ügyfélszolgálatunkkal.}}\n\n– {product_name} csapata" }, "ip_authorization": { "subject": "Új IP-címről való bejelentkezés engedélyezése", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Elbíráltuk a {product_name} felületén tett bejelentésedet", - "body": "Szia, {username}!\n\nBiztonsági csapatunk elbírálta a bejelentésedet (azonosító: {reportId}).{hasComment, select, yes {\n\nA biztonsági csapat válasza:\n{publicComment}} other {}}\n\nKöszönjük, hogy segítesz mindenki számára biztonságossá tenni a {product_name} közösségét. Minden bejelentést komolyan veszünk, és nagyra értékeljük, hogy segíted a közösséget.\n\nHa kérdésed vagy aggályod van az eredménnyel kapcsolatban, írj erre a címre: {safety_email}.\n\n– {product_name} biztonsági csapata" + "body": "Szia, {username}!\n\nBiztonsági csapatunk elbírálta a bejelentésedet (azonosító: {reportId}).{hasComment, select, yes {\n\nA biztonsági csapat válasza:\n{publicComment}} other {}}\n\nKöszönjük, hogy segítesz mindenki számára biztonságossá tenni a {product_name} közösségét. Minden bejelentést komolyan veszünk, és nagyra értékeljük, hogy segíted a közösséget.\n\n{safety_email, select, null {Ha kérdésed vagy aggályod van az eredménnyel kapcsolatban, fordulj ennek a példánynak az adminisztrátoraihoz.} other {Ha kérdésed vagy aggályod van az eredménnyel kapcsolatban, írj erre a címre: {safety_email}.}}\n\n– {product_name} biztonsági csapata" }, "scheduled_deletion_notification": { "subject": "{product_name}-fiókodat véglegesen törölni fogjuk", - "body": "Szia, {username}!\n\nÜtemeztük {product_name}-fiókod végleges törlését.\n\nA törlés tervezett időpontja: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Indok: {reason}}\n}\n\nEz súlyos moderációs intézkedés. Fiókod adatait a megadott időpontban véglegesen töröljük.\n\nHa úgy gondolod, hogy ez a döntés hibás volt, fellebbezhetsz. Erről az e-mail-címről írj a következő címre: {appeals_email}.\n\n– {product_name} biztonsági csapata" + "body": "Szia, {username}!\n\nÜtemeztük {product_name}-fiókod végleges törlését.\n\nA törlés tervezett időpontja: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Indok: {reason}}\n}\n\nEz súlyos moderációs intézkedés. Fiókod adatait a megadott időpontban véglegesen töröljük.\n\nHa úgy gondolod, hogy ez a döntés hibás volt, fellebbezhetsz. {appeals_email, select, null {Fordulj ennek a példánynak az adminisztrátoraihoz.} other {Erről az e-mail-címről írj a következő címre: {appeals_email}.}}\n\n– {product_name} biztonsági csapata" }, "self_deletion_scheduled": { "subject": "Ütemeztük {product_name}-fiókod törlését", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/id.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/id.json index 2a7fde276..1d7702f76 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/id.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/id.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Penghapusan akun {product_name} kamu telah dibatalkan", - "body": "Halo {username},\n\nPenghapusan terjadwal untuk akun {product_name} kamu telah dibatalkan. Akunmu tidak akan dihapus.\n\nJika kamu punya pertanyaan, silakan hubungi {safety_email}.\n\n– Tim {product_name}" + "body": "Halo {username},\n\nPenghapusan terjadwal untuk akun {product_name} kamu telah dibatalkan. Akunmu tidak akan dihapus.\n\n{safety_email, select, null {Jika kamu punya pertanyaan, silakan hubungi administrator instance ini.} other {Jika kamu punya pertanyaan, silakan hubungi {safety_email}.}}\n\n– Tim {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Akun {product_name} kamu akan dihapus karena tidak aktif", - "body": "Halo {username},\n\nAkun {product_name} kamu sudah lama tidak aktif, sehingga dijadwalkan untuk dihapus permanen pada:\n\n{deletionDate, date, full} pukul {deletionDate, time, short}{reason, select, null {} other {\n\nAlasan: {reason}}}\n\nJika kamu ingin mempertahankan akunmu, hubungi {safety_email} dari alamat email ini sebelum tanggal tersebut.\n\n– Tim {product_name}" + "body": "Halo {username},\n\nAkun {product_name} kamu sudah lama tidak aktif, sehingga dijadwalkan untuk dihapus permanen pada:\n\n{deletionDate, date, full} pukul {deletionDate, time, short}{reason, select, null {} other {\n\nAlasan: {reason}}}\n\n{safety_email, select, null {Jika kamu ingin mempertahankan akunmu, hubungi administrator instance ini sebelum tanggal tersebut.} other {Jika kamu ingin mempertahankan akunmu, hubungi {safety_email} dari alamat email ini sebelum tanggal tersebut.}}\n\n– Tim {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Penghapusan akun {product_name} kamu telah dijadwalkan", - "body": "Halo {username},\n\nSesuai permintaanmu, akun {product_name} kamu dijadwalkan untuk dihapus permanen pada:\n\n{deletionDate, date, full} pukul {deletionDate, time, short}{reason, select, null {} other {\n\nAlasan: {reason}}}\n\nAkunmu dikunci hingga saat itu. Jika kamu tidak meminta ini, atau ingin mempertahankan akunmu, hubungi {safety_email} dari alamat email ini sebelum tanggal tersebut.\n\n– Tim {product_name}" + "body": "Halo {username},\n\nSesuai permintaanmu, akun {product_name} kamu dijadwalkan untuk dihapus permanen pada:\n\n{deletionDate, date, full} pukul {deletionDate, time, short}{reason, select, null {} other {\n\nAlasan: {reason}}}\n\nAkunmu dikunci hingga saat itu. {safety_email, select, null {Jika kamu tidak meminta ini, atau ingin mempertahankan akunmu, hubungi administrator instance ini sebelum tanggal tersebut.} other {Jika kamu tidak meminta ini, atau ingin mempertahankan akunmu, hubungi {safety_email} dari alamat email ini sebelum tanggal tersebut.}}\n\n– Tim {product_name}" }, "account_scheduled_deletion": { "subject": "Akun {product_name} kamu akan dihapus secara permanen", - "body": "Halo {username},\n\nAkun {product_name} kamu telah dijadwalkan untuk dihapus permanen karena melanggar Ketentuan Layanan atau Pedoman Komunitas kami.\n\nPenghapusan terjadwal: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Alasan: {reason}}\n}\n\nIni adalah tindakan penegakan yang serius. Data akunmu akan dihapus permanen pada tanggal yang dijadwalkan.\n\nSilakan tinjau:\n- Ketentuan Layanan: {termsUrl}\n- Pedoman Komunitas: {guidelinesUrl}\n\nProses banding:\nJika kamu yakin keputusan ini keliru atau tidak beralasan, kamu punya 60 hari untuk mengajukan banding. Kirim email ke {appeals_email} dari alamat email ini.\n\nDalam bandingmu:\n- Uraikan dengan jelas kenapa kamu yakin keputusan ini keliru atau tidak beralasan\n- Berikan bukti atau konteks yang relevan\n\nAnggota Tim Keamanan {product_name} akan meninjau bandingmu dan bisa menunda penghapusan sampai keputusan akhir tercapai.\n\n– Tim Keamanan {product_name}" + "body": "Halo {username},\n\nAkun {product_name} kamu telah dijadwalkan untuk dihapus permanen karena melanggar Ketentuan Layanan atau Pedoman Komunitas kami.\n\nPenghapusan terjadwal: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Alasan: {reason}}\n}\n\nIni adalah tindakan penegakan yang serius. Data akunmu akan dihapus permanen pada tanggal yang dijadwalkan.\n\n{legalLinks, select,\n both {Silakan tinjau:\n- Ketentuan Layanan: {termsUrl}\n- Pedoman Komunitas: {guidelinesUrl}\n\n}\n terms {Silakan tinjau:\n- Ketentuan Layanan: {termsUrl}\n\n}\n guidelines {Silakan tinjau:\n- Pedoman Komunitas: {guidelinesUrl}\n\n}\n other {}\n}Proses banding:\nJika kamu yakin keputusan ini keliru atau tidak beralasan, kamu punya 60 hari untuk mengajukan banding. {appeals_email, select, null {Hubungi administrator instance ini.} other {Kirim email ke {appeals_email} dari alamat email ini.}}\n\nDalam bandingmu:\n- Uraikan dengan jelas kenapa kamu yakin keputusan ini keliru atau tidak beralasan\n- Berikan bukti atau konteks yang relevan\n\nAnggota Tim Keamanan {product_name} akan meninjau bandingmu dan bisa menunda penghapusan sampai keputusan akhir tercapai.\n\n– Tim Keamanan {product_name}" }, "account_temp_banned": { "subject": "Akun {product_name} kamu telah ditangguhkan sementara", - "body": "Halo {username},\n\nAkun {product_name} kamu telah ditangguhkan sementara karena melanggar Ketentuan Layanan atau Pedoman Komunitas kami.\n\nDurasi: {durationHours, plural,\n =1 {1 jam}\n other {# jam}\n}\nDitangguhkan hingga: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Alasan: {reason}}\n}\n\nSelama waktu ini, kamu tidak akan bisa mengakses akunmu.\n\nSilakan tinjau:\n- Ketentuan Layanan: {termsUrl}\n- Pedoman Komunitas: {guidelinesUrl}\n\nJika kamu yakin keputusan ini keliru atau tidak beralasan, kamu bisa mengajukan banding. Kirim email ke {appeals_email} dari alamat email ini dan uraikan dengan jelas kenapa kamu yakin keputusan ini keliru. Kami akan meninjau bandingmu dan menyampaikan keputusan kami.\n\n– Tim Keamanan {product_name}" + "body": "Halo {username},\n\nAkun {product_name} kamu telah ditangguhkan sementara karena melanggar Ketentuan Layanan atau Pedoman Komunitas kami.\n\nDurasi: {durationHours, plural,\n =1 {1 jam}\n other {# jam}\n}\nDitangguhkan hingga: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Alasan: {reason}}\n}\n\nSelama waktu ini, kamu tidak akan bisa mengakses akunmu.\n\n{legalLinks, select,\n both {Silakan tinjau:\n- Ketentuan Layanan: {termsUrl}\n- Pedoman Komunitas: {guidelinesUrl}\n\n}\n terms {Silakan tinjau:\n- Ketentuan Layanan: {termsUrl}\n\n}\n guidelines {Silakan tinjau:\n- Pedoman Komunitas: {guidelinesUrl}\n\n}\n other {}\n}Jika kamu yakin keputusan ini keliru atau tidak beralasan, kamu bisa mengajukan banding. {appeals_email, select, null {Hubungi administrator instance ini dan uraikan dengan jelas kenapa kamu yakin keputusan ini keliru.} other {Kirim email ke {appeals_email} dari alamat email ini dan uraikan dengan jelas kenapa kamu yakin keputusan ini keliru.}} Kami akan meninjau bandingmu dan menyampaikan keputusan kami.\n\n– Tim Keamanan {product_name}" }, "donation_confirmation": { "subject": "Terima kasih atas donasimu untuk {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Kami telah mengambil keputusan atas laporanmu di {product_name}", - "body": "Halo,\n\nTim Keamanan kami telah meninjau laporan Digital Services Act kamu (ID: {reportId}) dan mengambil keputusan.{hasComment, select, yes {\n\nTanggapan dari Tim Keamanan:\n{publicComment}} other {}}\n\nKami tidak membagikan detail tindakan yang diambil terhadap akun orang lain, karena itu adalah data pribadi mereka.\n\nJika kamu tidak setuju dengan keputusan ini, kamu bisa mengajukan banding secara gratis dalam waktu 60 hari. Kirim email ke {appeals_email} dari alamat email ini, sertakan ID laporanmu, dan jelaskan kenapa menurutmu keputusan ini keliru. Jika kamu berada di Uni Eropa, kamu juga bisa membawa sengketa ini ke badan penyelesaian sengketa di luar pengadilan yang bersertifikat. Semua ini tidak memengaruhi hakmu untuk menempuh jalur pengadilan.\n\n– Tim Keamanan {product_name}" + "body": "Halo,\n\nTim Keamanan kami telah meninjau laporan Digital Services Act kamu (ID: {reportId}) dan mengambil keputusan.{hasComment, select, yes {\n\nTanggapan dari Tim Keamanan:\n{publicComment}} other {}}\n\nKami tidak membagikan detail tindakan yang diambil terhadap akun orang lain, karena itu adalah data pribadi mereka.\n\nJika kamu tidak setuju dengan keputusan ini, kamu bisa mengajukan banding secara gratis dalam waktu 60 hari. {appeals_email, select, null {Hubungi administrator instance ini, sertakan ID laporanmu, dan jelaskan kenapa menurutmu keputusan ini keliru.} other {Kirim email ke {appeals_email} dari alamat email ini, sertakan ID laporanmu, dan jelaskan kenapa menurutmu keputusan ini keliru.}} Jika kamu berada di Uni Eropa, kamu juga bisa membawa sengketa ini ke badan penyelesaian sengketa di luar pengadilan yang bersertifikat. Semua ini tidak memengaruhi hakmu untuk menempuh jalur pengadilan.\n\n– Tim Keamanan {product_name}" }, "dsa_report_verification": { "subject": "Verifikasi emailmu untuk laporan DSA", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Manfaat dari hadiah yang kamu tukarkan telah dihapus", - "body": "Halo {username},\n\nKode hadiah yang kamu tukarkan awalnya dibayar oleh orang lain. Pembayaran itu kemudian dibatalkan (chargeback).\n\nKarena itu, kami menghapus manfaat yang ditambahkan ke akunmu saat kamu menukarkan hadiah tersebut.\n\nJika kamu merasa ini keliru, silakan hubungi tim dukungan kami dan sertakan detail apa pun yang kamu punya tentang kode hadiah itu dan kapan kamu menukarkannya.\n\n– Tim {product_name}" + "body": "Halo {username},\n\nKode hadiah yang kamu tukarkan awalnya dibayar oleh orang lain. Pembayaran itu kemudian dibatalkan (chargeback).\n\nKarena itu, kami menghapus manfaat yang ditambahkan ke akunmu saat kamu menukarkan hadiah tersebut.\n\n{support_email, select, null {Jika kamu merasa ini keliru, silakan hubungi administrator instance ini dan sertakan detail apa pun yang kamu punya tentang kode hadiah itu dan kapan kamu menukarkannya.} other {Jika kamu merasa ini keliru, silakan hubungi tim dukungan kami dan sertakan detail apa pun yang kamu punya tentang kode hadiah itu dan kapan kamu menukarkannya.}}\n\n– Tim {product_name}" }, "harvest_completed": { "subject": "Ekspor data {product_name} kamu siap diunduh", - "body": "Halo {username},\n\nEkspor datamu sudah siap.\n\nTautan unduh:\n{downloadUrl}\n\nPesan yang disertakan: {totalMessages, number}\nUkuran file: {fileSizeMB, number} MB\n\nTautan ini kedaluwarsa pada {expiresAt, date, full} pukul {expiresAt, time, short}.\n\nJika kamu tidak meminta ekspor ini, segera ubah kata sandimu dan hubungi tim dukungan kami.\n\n– Tim {product_name}" + "body": "Halo {username},\n\nEkspor datamu sudah siap.\n\nTautan unduh:\n{downloadUrl}\n\nPesan yang disertakan: {totalMessages, number}\nUkuran file: {fileSizeMB, number} MB\n\nTautan ini kedaluwarsa pada {expiresAt, date, full} pukul {expiresAt, time, short}.\n\n{support_email, select, null {Jika kamu tidak meminta ekspor ini, segera ubah kata sandimu dan hubungi administrator instance ini.} other {Jika kamu tidak meminta ekspor ini, segera ubah kata sandimu dan hubungi tim dukungan kami.}}\n\n– Tim {product_name}" }, "inactivity_warning": { "subject": "Akun {product_name} kamu akan dihapus karena tidak aktif", - "body": "Halo {username},\n\nKami belum melihat aktivitas apa pun di akun {product_name} kamu sejak {lastActiveDate, date, full}.\n\nJika kamu tidak masuk sebelum {deletionDate, date, full} pukul {deletionDate, time, short}, akunmu akan dihapus permanen karena tidak aktif.\n\nMasuk di sini:\n{loginUrl}\n\nJika kamu baru saja menggunakan {product_name}, segera hubungi tim dukungan kami.\n\n– Tim {product_name}" + "body": "Halo {username},\n\nKami belum melihat aktivitas apa pun di akun {product_name} kamu sejak {lastActiveDate, date, full}.\n\nJika kamu tidak masuk sebelum {deletionDate, date, full} pukul {deletionDate, time, short}, akunmu akan dihapus permanen karena tidak aktif.\n\nMasuk di sini:\n{loginUrl}\n\n{support_email, select, null {Jika kamu baru saja menggunakan {product_name}, segera hubungi administrator instance ini.} other {Jika kamu baru saja menggunakan {product_name}, segera hubungi tim dukungan kami.}}\n\n– Tim {product_name}" }, "ip_authorization": { "subject": "Otorisasi masuk dari alamat IP baru", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Laporanmu di {product_name} telah ditinjau", - "body": "Halo {username},\n\nLaporanmu (ID: {reportId}) telah ditinjau oleh Tim Keamanan kami.{hasComment, select, yes {\n\nTanggapan dari Tim Keamanan:\n{publicComment}} other {}}\n\nTerima kasih telah membantu menjaga {product_name} tetap aman untuk semua orang. Kami menanggapi semua laporan dengan serius dan menghargai kontribusimu bagi komunitas.\n\nJika kamu punya pertanyaan atau kekhawatiran tentang hasil ini, silakan hubungi {safety_email}.\n\n– Tim Keamanan {product_name}" + "body": "Halo {username},\n\nLaporanmu (ID: {reportId}) telah ditinjau oleh Tim Keamanan kami.{hasComment, select, yes {\n\nTanggapan dari Tim Keamanan:\n{publicComment}} other {}}\n\nTerima kasih telah membantu menjaga {product_name} tetap aman untuk semua orang. Kami menanggapi semua laporan dengan serius dan menghargai kontribusimu bagi komunitas.\n\n{safety_email, select, null {Jika kamu punya pertanyaan atau kekhawatiran tentang hasil ini, silakan hubungi administrator instance ini.} other {Jika kamu punya pertanyaan atau kekhawatiran tentang hasil ini, silakan hubungi {safety_email}.}}\n\n– Tim Keamanan {product_name}" }, "scheduled_deletion_notification": { "subject": "Akun {product_name} kamu akan dihapus secara permanen", - "body": "Halo {username},\n\nAkun {product_name} kamu telah dijadwalkan untuk dihapus permanen.\n\nPenghapusan terjadwal: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Alasan: {reason}}\n}\n\nIni adalah tindakan penegakan yang serius. Data akunmu akan dihapus permanen pada tanggal yang dijadwalkan.\n\nJika kamu yakin keputusan ini keliru, kamu bisa mengajukan banding. Kirim email ke {appeals_email} dari alamat email ini.\n\n– Tim Keamanan {product_name}" + "body": "Halo {username},\n\nAkun {product_name} kamu telah dijadwalkan untuk dihapus permanen.\n\nPenghapusan terjadwal: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Alasan: {reason}}\n}\n\nIni adalah tindakan penegakan yang serius. Data akunmu akan dihapus permanen pada tanggal yang dijadwalkan.\n\nJika kamu yakin keputusan ini keliru, kamu bisa mengajukan banding. {appeals_email, select, null {Hubungi administrator instance ini.} other {Kirim email ke {appeals_email} dari alamat email ini.}}\n\n– Tim Keamanan {product_name}" }, "self_deletion_scheduled": { "subject": "Penghapusan akun {product_name} kamu telah dijadwalkan", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/it.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/it.json index 93e7a979f..9fc873caf 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/it.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/it.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "L'eliminazione del tuo account {product_name} è stata annullata", - "body": "Ciao {username},\n\nL'eliminazione programmata del tuo account {product_name} è stata annullata. Il tuo account non verrà eliminato.\n\nPer qualsiasi domanda, contatta {safety_email}.\n\n– Il team di {product_name}" + "body": "Ciao {username},\n\nL'eliminazione programmata del tuo account {product_name} è stata annullata. Il tuo account non verrà eliminato.\n\n{safety_email, select, null {Per qualsiasi domanda, contatta gli amministratori di questa istanza.} other {Per qualsiasi domanda, contatta {safety_email}.}}\n\n– Il team di {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Il tuo account {product_name} verrà eliminato per inattività", - "body": "Ciao {username},\n\nIl tuo account {product_name} è inattivo da molto tempo, quindi verrà eliminato definitivamente in questa data:\n\n{deletionDate, date, full} alle {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nSe vuoi mantenere il tuo account, contatta {safety_email} da questo indirizzo email prima di tale data.\n\n– Il team di {product_name}" + "body": "Ciao {username},\n\nIl tuo account {product_name} è inattivo da molto tempo, quindi verrà eliminato definitivamente in questa data:\n\n{deletionDate, date, full} alle {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\n{safety_email, select, null {Se vuoi mantenere il tuo account, contatta gli amministratori di questa istanza prima di tale data.} other {Se vuoi mantenere il tuo account, contatta {safety_email} da questo indirizzo email prima di tale data.}}\n\n– Il team di {product_name}" }, "account_deletion_scheduled_requested": { "subject": "L'eliminazione del tuo account {product_name} è programmata", - "body": "Ciao {username},\n\nCome da tua richiesta, il tuo account {product_name} verrà eliminato definitivamente in questa data:\n\n{deletionDate, date, full} alle {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nFino ad allora il tuo account è bloccato. Se non hai richiesto l'eliminazione o se vuoi mantenere il tuo account, contatta {safety_email} da questo indirizzo email prima di tale data.\n\n– Il team di {product_name}" + "body": "Ciao {username},\n\nCome da tua richiesta, il tuo account {product_name} verrà eliminato definitivamente in questa data:\n\n{deletionDate, date, full} alle {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nFino ad allora il tuo account è bloccato. {safety_email, select, null {Se non hai richiesto l'eliminazione o se vuoi mantenere il tuo account, contatta gli amministratori di questa istanza prima di tale data.} other {Se non hai richiesto l'eliminazione o se vuoi mantenere il tuo account, contatta {safety_email} da questo indirizzo email prima di tale data.}}\n\n– Il team di {product_name}" }, "account_scheduled_deletion": { "subject": "Il tuo account {product_name} verrà eliminato definitivamente", - "body": "Ciao {username},\n\nÈ stata programmata l’eliminazione definitiva del tuo account {product_name} a causa di violazioni dei nostri Termini di servizio o delle Linee guida della community.\n\nEliminazione programmata: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nSi tratta di un provvedimento grave. I dati del tuo account verranno eliminati definitivamente alla data programmata.\n\nConsulta:\n- Termini di servizio: {termsUrl}\n- Linee guida della community: {guidelinesUrl}\n\nProcedura di ricorso:\nSe ritieni che questa decisione sia scorretta o ingiustificata, hai 60 giorni per presentare un ricorso. Invia un'email a {appeals_email} da questo indirizzo email.\n\nNel tuo ricorso:\n- Spiega chiaramente perché ritieni che la decisione sia scorretta o ingiustificata\n- Fornisci qualsiasi prova o contesto pertinente\n\nUn membro del team per la sicurezza {product_name} esaminerà il tuo ricorso e potrebbe sospendere l’eliminazione programmata fino a quando non sarà stata raggiunta una decisione finale.\n\n– Il team per la sicurezza di {product_name}" + "body": "Ciao {username},\n\nÈ stata programmata l’eliminazione definitiva del tuo account {product_name} a causa di violazioni dei nostri Termini di servizio o delle Linee guida della community.\n\nEliminazione programmata: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nSi tratta di un provvedimento grave. I dati del tuo account verranno eliminati definitivamente alla data programmata.\n\n{legalLinks, select,\n both {Consulta:\n- Termini di servizio: {termsUrl}\n- Linee guida della community: {guidelinesUrl}\n\n}\n terms {Consulta:\n- Termini di servizio: {termsUrl}\n\n}\n guidelines {Consulta:\n- Linee guida della community: {guidelinesUrl}\n\n}\n other {}\n}Procedura di ricorso:\nSe ritieni che questa decisione sia scorretta o ingiustificata, hai 60 giorni per presentare un ricorso. {appeals_email, select, null {Contatta gli amministratori di questa istanza.} other {Invia un'email a {appeals_email} da questo indirizzo email.}}\n\nNel tuo ricorso:\n- Spiega chiaramente perché ritieni che la decisione sia scorretta o ingiustificata\n- Fornisci qualsiasi prova o contesto pertinente\n\nUn membro del team per la sicurezza {product_name} esaminerà il tuo ricorso e potrebbe sospendere l’eliminazione programmata fino a quando non sarà stata raggiunta una decisione finale.\n\n– Il team per la sicurezza di {product_name}" }, "account_temp_banned": { "subject": "Il tuo account {product_name} è stato temporaneamente sospeso", - "body": "Ciao {username},\n\nIl tuo account {product_name} è stato temporaneamente sospeso per aver violato i nostri Termini di servizio o le Linee guida della community.\n\nDurata: {durationHours, plural,\n =1 {1 ora}\n other {# ore}\n}\nSospeso fino a: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nDurante questo periodo, non potrai accedere al tuo account.\n\nConsulta:\n- Termini di servizio: {termsUrl}\n- Linee guida della community: {guidelinesUrl}\n\nSe ritieni che questa decisione sia scorretta o ingiustificata, puoi presentare un ricorso. Invia un'email a {appeals_email} da questo indirizzo email e spiega chiaramente perché ritieni che la decisione sia scorretta. Esamineremo il tuo ricorso e risponderemo con la nostra decisione.\n\n– Il team per la sicurezza di {product_name}" + "body": "Ciao {username},\n\nIl tuo account {product_name} è stato temporaneamente sospeso per aver violato i nostri Termini di servizio o le Linee guida della community.\n\nDurata: {durationHours, plural,\n =1 {1 ora}\n other {# ore}\n}\nSospeso fino a: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nDurante questo periodo, non potrai accedere al tuo account.\n\n{legalLinks, select,\n both {Consulta:\n- Termini di servizio: {termsUrl}\n- Linee guida della community: {guidelinesUrl}\n\n}\n terms {Consulta:\n- Termini di servizio: {termsUrl}\n\n}\n guidelines {Consulta:\n- Linee guida della community: {guidelinesUrl}\n\n}\n other {}\n}Se ritieni che questa decisione sia scorretta o ingiustificata, puoi presentare un ricorso. {appeals_email, select, null {Contatta gli amministratori di questa istanza e spiega chiaramente perché ritieni che la decisione sia scorretta.} other {Invia un'email a {appeals_email} da questo indirizzo email e spiega chiaramente perché ritieni che la decisione sia scorretta.}} Esamineremo il tuo ricorso e risponderemo con la nostra decisione.\n\n– Il team per la sicurezza di {product_name}" }, "donation_confirmation": { "subject": "Grazie per la tua donazione a {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Abbiamo preso una decisione sulla tua segnalazione su {product_name}", - "body": "Ciao,\n\nIl nostro team per la sicurezza ha esaminato la tua segnalazione ai sensi del Digital Services Act (ID: {reportId}) e ha preso una decisione.{hasComment, select, yes {\n\nRisposta dal team per la sicurezza:\n{publicComment}} other {}}\n\nNon condividiamo i dettagli delle misure adottate nei confronti dell'account di un'altra persona, perché si tratta dei suoi dati personali.\n\nSe non sei d'accordo con questa decisione, puoi presentare un ricorso gratuitamente entro 60 giorni. Invia un'email a {appeals_email} da questo indirizzo email, indica l'ID della tua segnalazione e spiega perché ritieni che la decisione sia scorretta. Se ti trovi nell'UE, puoi anche sottoporre la controversia a un organismo certificato di risoluzione extragiudiziale delle controversie. Tutto questo non pregiudica il tuo diritto di rivolgerti a un tribunale.\n\n– Il team per la sicurezza di {product_name}" + "body": "Ciao,\n\nIl nostro team per la sicurezza ha esaminato la tua segnalazione ai sensi del Digital Services Act (ID: {reportId}) e ha preso una decisione.{hasComment, select, yes {\n\nRisposta dal team per la sicurezza:\n{publicComment}} other {}}\n\nNon condividiamo i dettagli delle misure adottate nei confronti dell'account di un'altra persona, perché si tratta dei suoi dati personali.\n\nSe non sei d'accordo con questa decisione, puoi presentare un ricorso gratuitamente entro 60 giorni. {appeals_email, select, null {Contatta gli amministratori di questa istanza, indica l'ID della tua segnalazione e spiega perché ritieni che la decisione sia scorretta.} other {Invia un'email a {appeals_email} da questo indirizzo email, indica l'ID della tua segnalazione e spiega perché ritieni che la decisione sia scorretta.}} Se ti trovi nell'UE, puoi anche sottoporre la controversia a un organismo certificato di risoluzione extragiudiziale delle controversie. Tutto questo non pregiudica il tuo diritto di rivolgerti a un tribunale.\n\n– Il team per la sicurezza di {product_name}" }, "dsa_report_verification": { "subject": "Verifica la tua email per una segnalazione DSA", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "I vantaggi del tuo regalo riscattato sono stati rimossi", - "body": "Ciao {username},\n\nUn codice regalo che hai riscattato era stato originariamente pagato da qualcun altro. Tale pagamento è stato successivamente annullato (un chargeback).\n\nPer questo motivo, abbiamo rimosso i vantaggi che erano stati aggiunti al tuo account quando hai riscattato il regalo.\n\nSe ritieni che si tratti di un errore, contatta il nostro team di assistenza e includi tutti i dettagli che hai sul codice regalo e su quando lo hai riscattato.\n\n– Il team di {product_name}" + "body": "Ciao {username},\n\nUn codice regalo che hai riscattato era stato originariamente pagato da qualcun altro. Tale pagamento è stato successivamente annullato (un chargeback).\n\nPer questo motivo, abbiamo rimosso i vantaggi che erano stati aggiunti al tuo account quando hai riscattato il regalo.\n\n{support_email, select, null {Se ritieni che si tratti di un errore, contatta gli amministratori di questa istanza e includi tutti i dettagli che hai sul codice regalo e su quando lo hai riscattato.} other {Se ritieni che si tratti di un errore, contatta il nostro team di assistenza e includi tutti i dettagli che hai sul codice regalo e su quando lo hai riscattato.}}\n\n– Il team di {product_name}" }, "harvest_completed": { "subject": "La tua esportazione dati {product_name} è pronta per il download", - "body": "Ciao {username},\n\nLa tua esportazione dei dati è pronta.\n\nLink per il download:\n{downloadUrl}\n\nMessaggi inclusi: {totalMessages, number}\nDimensione file: {fileSizeMB, number} MB\n\nQuesto link scade il {expiresAt, date, full} alle {expiresAt, time, short}.\n\nSe non hai richiesto questa esportazione, cambia immediatamente la password e contatta il nostro team di assistenza.\n\n– Il team di {product_name}" + "body": "Ciao {username},\n\nLa tua esportazione dei dati è pronta.\n\nLink per il download:\n{downloadUrl}\n\nMessaggi inclusi: {totalMessages, number}\nDimensione file: {fileSizeMB, number} MB\n\nQuesto link scade il {expiresAt, date, full} alle {expiresAt, time, short}.\n\n{support_email, select, null {Se non hai richiesto questa esportazione, cambia immediatamente la password e contatta gli amministratori di questa istanza.} other {Se non hai richiesto questa esportazione, cambia immediatamente la password e contatta il nostro team di assistenza.}}\n\n– Il team di {product_name}" }, "inactivity_warning": { "subject": "Il tuo account {product_name} verrà eliminato per inattività", - "body": "Ciao {username},\n\nNon abbiamo rilevato alcuna attività sul tuo account {product_name} dal {lastActiveDate, date, full}.\n\nSe non effettui l'accesso entro il {deletionDate, date, full} alle {deletionDate, time, short}, il tuo account verrà eliminato definitivamente a causa di inattività.\n\nAccedi qui:\n{loginUrl}\n\nSe hai usato {product_name} di recente, contatta subito il nostro team di assistenza.\n\n– Il team di {product_name}" + "body": "Ciao {username},\n\nNon abbiamo rilevato alcuna attività sul tuo account {product_name} dal {lastActiveDate, date, full}.\n\nSe non effettui l'accesso entro il {deletionDate, date, full} alle {deletionDate, time, short}, il tuo account verrà eliminato definitivamente a causa di inattività.\n\nAccedi qui:\n{loginUrl}\n\n{support_email, select, null {Se hai usato {product_name} di recente, contatta subito gli amministratori di questa istanza.} other {Se hai usato {product_name} di recente, contatta subito il nostro team di assistenza.}}\n\n– Il team di {product_name}" }, "ip_authorization": { "subject": "Autorizza l'accesso da un nuovo indirizzo IP", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "La tua segnalazione {product_name} è stata esaminata", - "body": "Ciao {username},\n\nLa tua segnalazione (ID: {reportId}) è stata esaminata dal nostro team per la sicurezza.{hasComment, select, yes {\n\nRisposta dal team per la sicurezza:\n{publicComment}} other {}}\n\nGrazie per aver contribuito a mantenere {product_name} sicuro per tutti. Prendiamo sul serio tutte le segnalazioni e apprezziamo il tuo contributo alla community.\n\nSe hai domande o preoccupazioni riguardo a questo esito, contatta {safety_email}.\n\n– Il team per la sicurezza di {product_name}" + "body": "Ciao {username},\n\nLa tua segnalazione (ID: {reportId}) è stata esaminata dal nostro team per la sicurezza.{hasComment, select, yes {\n\nRisposta dal team per la sicurezza:\n{publicComment}} other {}}\n\nGrazie per aver contribuito a mantenere {product_name} sicuro per tutti. Prendiamo sul serio tutte le segnalazioni e apprezziamo il tuo contributo alla community.\n\n{safety_email, select, null {Se hai domande o preoccupazioni riguardo a questo esito, contatta gli amministratori di questa istanza.} other {Se hai domande o preoccupazioni riguardo a questo esito, contatta {safety_email}.}}\n\n– Il team per la sicurezza di {product_name}" }, "scheduled_deletion_notification": { "subject": "Il tuo account {product_name} verrà eliminato definitivamente", - "body": "Ciao {username},\n\nÈ stata programmata l’eliminazione definitiva del tuo account {product_name}.\n\nEliminazione programmata: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nSi tratta di un provvedimento grave. I dati del tuo account verranno eliminati definitivamente alla data programmata.\n\nSe ritieni che questa decisione sia scorretta, puoi presentare un ricorso. Invia un'email a {appeals_email} da questo indirizzo email.\n\n– Il team per la sicurezza di {product_name}" + "body": "Ciao {username},\n\nÈ stata programmata l’eliminazione definitiva del tuo account {product_name}.\n\nEliminazione programmata: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nSi tratta di un provvedimento grave. I dati del tuo account verranno eliminati definitivamente alla data programmata.\n\nSe ritieni che questa decisione sia scorretta, puoi presentare un ricorso. {appeals_email, select, null {Contatta gli amministratori di questa istanza.} other {Invia un'email a {appeals_email} da questo indirizzo email.}}\n\n– Il team per la sicurezza di {product_name}" }, "self_deletion_scheduled": { "subject": "L'eliminazione del tuo account {product_name} è programmata", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ja.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ja.json index 226738358..035fa2a3d 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ja.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ja.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "{product_name}アカウントの削除予定は取り消されました", - "body": "こんにちは、{username}さん\n\n{product_name}アカウントの削除予定は取り消されました。アカウントは削除されません。\n\nご質問がございましたら、{safety_email}までお問い合わせください。\n\n– {product_name}チーム" + "body": "こんにちは、{username}さん\n\n{product_name}アカウントの削除予定は取り消されました。アカウントは削除されません。\n\n{safety_email, select, null {ご質問がございましたら、このインスタンスの管理者にお問い合わせください。} other {ご質問がございましたら、{safety_email}までお問い合わせください。}}\n\n– {product_name}チーム" }, "account_deletion_scheduled_inactivity": { "subject": "{product_name}アカウントは非アクティブのため削除されます", - "body": "こんにちは、{username}さん\n\n{product_name}アカウントは長期間利用されていないため、以下の日時に完全に削除される予定です。\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n理由: {reason}}}\n\nアカウントを維持したい場合は、この日時までにこのメールアドレスから{safety_email}へご連絡ください。\n\n– {product_name}チーム" + "body": "こんにちは、{username}さん\n\n{product_name}アカウントは長期間利用されていないため、以下の日時に完全に削除される予定です。\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n理由: {reason}}}\n\n{safety_email, select, null {アカウントを維持したい場合は、この日時までにこのインスタンスの管理者へご連絡ください。} other {アカウントを維持したい場合は、この日時までにこのメールアドレスから{safety_email}へご連絡ください。}}\n\n– {product_name}チーム" }, "account_deletion_scheduled_requested": { "subject": "{product_name}アカウントの削除が予定されています", - "body": "こんにちは、{username}さん\n\nリクエストに基づき、{product_name}アカウントは以下の日時に完全に削除される予定です。\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n理由: {reason}}}\n\nそれまでアカウントはロックされます。ご自身でリクエストしていない場合、またはアカウントを維持したい場合は、この日時までにこのメールアドレスから{safety_email}へご連絡ください。\n\n– {product_name}チーム" + "body": "こんにちは、{username}さん\n\nリクエストに基づき、{product_name}アカウントは以下の日時に完全に削除される予定です。\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n理由: {reason}}}\n\nそれまでアカウントはロックされます。{safety_email, select, null {ご自身でリクエストしていない場合、またはアカウントを維持したい場合は、この日時までにこのインスタンスの管理者へご連絡ください。} other {ご自身でリクエストしていない場合、またはアカウントを維持したい場合は、この日時までにこのメールアドレスから{safety_email}へご連絡ください。}}\n\n– {product_name}チーム" }, "account_scheduled_deletion": { "subject": "{product_name}アカウントは完全に削除されます", - "body": "こんにちは、{username}さん\n\n{product_name}アカウントは、利用規約またはコミュニティガイドラインへの違反のため、完全な削除が予定されています。\n\n削除予定日時: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {理由: {reason}}\n}\n\nこれは重大な措置です。アカウントデータは、予定日に完全に削除されます。\n\n以下をご確認ください。\n- 利用規約: {termsUrl}\n- コミュニティガイドライン: {guidelinesUrl}\n\n異議申し立て手続き:\nこの措置が不正確または不当であると思われる場合は、60日以内に異議申し立てを提出できます。このメールアドレスから{appeals_email}までメールを送信してください。\n\n異議申し立てには、以下を記載してください。\n- 措置が不正確または不当であると考える理由の明確な説明\n- 関連する証拠や背景情報\n\n{product_name}安全チームのメンバーが異議申し立てを審査し、最終決定が下されるまで削除を一時停止する場合があります。\n\n– {product_name}安全チーム" + "body": "こんにちは、{username}さん\n\n{product_name}アカウントは、利用規約またはコミュニティガイドラインへの違反のため、完全な削除が予定されています。\n\n削除予定日時: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {理由: {reason}}\n}\n\nこれは重大な措置です。アカウントデータは、予定日に完全に削除されます。\n\n{legalLinks, select,\n both {以下をご確認ください。\n- 利用規約: {termsUrl}\n- コミュニティガイドライン: {guidelinesUrl}\n\n}\n terms {以下をご確認ください。\n- 利用規約: {termsUrl}\n\n}\n guidelines {以下をご確認ください。\n- コミュニティガイドライン: {guidelinesUrl}\n\n}\n other {}\n}異議申し立て手続き:\nこの措置が不正確または不当であると思われる場合は、60日以内に異議申し立てを提出できます。{appeals_email, select, null {このインスタンスの管理者に連絡してください。} other {このメールアドレスから{appeals_email}までメールを送信してください。}}\n\n異議申し立てには、以下を記載してください。\n- 措置が不正確または不当であると考える理由の明確な説明\n- 関連する証拠や背景情報\n\n{product_name}安全チームのメンバーが異議申し立てを審査し、最終決定が下されるまで削除を一時停止する場合があります。\n\n– {product_name}安全チーム" }, "account_temp_banned": { "subject": "{product_name}アカウントが一時的に停止されました", - "body": "こんにちは、{username}さん\n\n{product_name}アカウントは、利用規約またはコミュニティガイドラインへの違反のため、一時的に停止されました。\n\n期間: {durationHours, plural,\n =1 {1時間}\n other {#時間}\n}\n停止解除日時: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {理由: {reason}}\n}\n\nこの期間中、アカウントにアクセスすることはできません。\n\n以下をご確認ください。\n- 利用規約: {termsUrl}\n- コミュニティガイドライン: {guidelinesUrl}\n\nこの措置が不正確または不当であると思われる場合は、異議申し立てを提出できます。このメールアドレスから{appeals_email}までメールを送信し、決定が不正確であると考える理由を明確に説明してください。異議申し立てを審査し、決定をご連絡いたします。\n\n– {product_name}安全チーム" + "body": "こんにちは、{username}さん\n\n{product_name}アカウントは、利用規約またはコミュニティガイドラインへの違反のため、一時的に停止されました。\n\n期間: {durationHours, plural,\n =1 {1時間}\n other {#時間}\n}\n停止解除日時: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {理由: {reason}}\n}\n\nこの期間中、アカウントにアクセスすることはできません。\n\n{legalLinks, select,\n both {以下をご確認ください。\n- 利用規約: {termsUrl}\n- コミュニティガイドライン: {guidelinesUrl}\n\n}\n terms {以下をご確認ください。\n- 利用規約: {termsUrl}\n\n}\n guidelines {以下をご確認ください。\n- コミュニティガイドライン: {guidelinesUrl}\n\n}\n other {}\n}この措置が不正確または不当であると思われる場合は、異議申し立てを提出できます。{appeals_email, select, null {このインスタンスの管理者に連絡し、決定が不正確であると考える理由を明確に説明してください。} other {このメールアドレスから{appeals_email}までメールを送信し、決定が不正確であると考える理由を明確に説明してください。}}異議申し立てを審査し、決定をご連絡いたします。\n\n– {product_name}安全チーム" }, "donation_confirmation": { "subject": "{product_name}へのご寄付ありがとうございます", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "{product_name}への報告について決定しました", - "body": "こんにちは。\n\nデジタルサービス法に基づくご報告(ID: {reportId})を安全チームが審査し、決定を行いました。{hasComment, select, yes {\n\n安全チームからの回答:\n{publicComment}} other {}}\n\n他の方のアカウントに対して行った措置の詳細は、その方の個人データにあたるため、お伝えしていません。\n\nこの決定に同意できない場合は、60日以内に無料で異議申し立てを行えます。このメールアドレスから{appeals_email}までメールを送信し、報告IDを記載のうえ、決定が誤っていると考える理由を説明してください。EU域内にお住まいの場合は、認定を受けた裁判外紛争解決機関に紛争を付託することもできます。これらはいずれも、裁判所に訴える権利に影響しません。\n\n– {product_name}安全チーム" + "body": "こんにちは。\n\nデジタルサービス法に基づくご報告(ID: {reportId})を安全チームが審査し、決定を行いました。{hasComment, select, yes {\n\n安全チームからの回答:\n{publicComment}} other {}}\n\n他の方のアカウントに対して行った措置の詳細は、その方の個人データにあたるため、お伝えしていません。\n\nこの決定に同意できない場合は、60日以内に無料で異議申し立てを行えます。{appeals_email, select, null {このインスタンスの管理者に連絡し、報告IDを記載のうえ、決定が誤っていると考える理由を説明してください。} other {このメールアドレスから{appeals_email}までメールを送信し、報告IDを記載のうえ、決定が誤っていると考える理由を説明してください。}}EU域内にお住まいの場合は、認定を受けた裁判外紛争解決機関に紛争を付託することもできます。これらはいずれも、裁判所に訴える権利に影響しません。\n\n– {product_name}安全チーム" }, "dsa_report_verification": { "subject": "DSA報告のためのメールアドレスを確認", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "引き換えたギフトの特典が削除されました", - "body": "こんにちは、{username}さん\n\n引き換えたギフトコードは、元は別の方が支払ったものです。その支払いはその後取り消されました(チャージバック)。\n\nそのため、ギフトを引き換えた際にアカウントに追加された特典を削除しました。\n\nこれが間違いであると思われる場合は、ギフトコードと引き換え時期に関する詳細を添えて、サポートチームにお問い合わせください。\n\n– {product_name}チーム" + "body": "こんにちは、{username}さん\n\n引き換えたギフトコードは、元は別の方が支払ったものです。その支払いはその後取り消されました(チャージバック)。\n\nそのため、ギフトを引き換えた際にアカウントに追加された特典を削除しました。\n\n{support_email, select, null {これが間違いであると思われる場合は、ギフトコードと引き換え時期に関する詳細を添えて、このインスタンスの管理者にお問い合わせください。} other {これが間違いであると思われる場合は、ギフトコードと引き換え時期に関する詳細を添えて、サポートチームにお問い合わせください。}}\n\n– {product_name}チーム" }, "harvest_completed": { "subject": "{product_name}データのエクスポート準備が完了しました", - "body": "こんにちは、{username}さん\n\nデータのエクスポート準備が完了しました。\n\nダウンロードリンク:\n{downloadUrl}\n\n含まれるメッセージ数: {totalMessages, number}件\nファイルサイズ: {fileSizeMB, number} MB\n\nこのリンクの有効期限は{expiresAt, date, full} {expiresAt, time, short}です。\n\nご自身でこのエクスポートをリクエストしていない場合は、すぐにパスワードを変更し、サポートチームにお問い合わせください。\n\n– {product_name}チーム" + "body": "こんにちは、{username}さん\n\nデータのエクスポート準備が完了しました。\n\nダウンロードリンク:\n{downloadUrl}\n\n含まれるメッセージ数: {totalMessages, number}件\nファイルサイズ: {fileSizeMB, number} MB\n\nこのリンクの有効期限は{expiresAt, date, full} {expiresAt, time, short}です。\n\n{support_email, select, null {ご自身でこのエクスポートをリクエストしていない場合は、すぐにパスワードを変更し、このインスタンスの管理者にお問い合わせください。} other {ご自身でこのエクスポートをリクエストしていない場合は、すぐにパスワードを変更し、サポートチームにお問い合わせください。}}\n\n– {product_name}チーム" }, "inactivity_warning": { "subject": "{product_name}アカウントは非アクティブのため削除されます", - "body": "こんにちは、{username}さん\n\n{lastActiveDate, date, full}以降、{product_name}アカウントでのアクティビティが確認されていません。\n\n{deletionDate, date, full} {deletionDate, time, short}までにログインしない場合、アカウントは非アクティブのため完全に削除されます。\n\nこちらからログインしてください。\n{loginUrl}\n\n最近{product_name}を利用した場合は、すぐにサポートチームにお問い合わせください。\n\n– {product_name}チーム" + "body": "こんにちは、{username}さん\n\n{lastActiveDate, date, full}以降、{product_name}アカウントでのアクティビティが確認されていません。\n\n{deletionDate, date, full} {deletionDate, time, short}までにログインしない場合、アカウントは非アクティブのため完全に削除されます。\n\nこちらからログインしてください。\n{loginUrl}\n\n{support_email, select, null {最近{product_name}を利用した場合は、すぐにこのインスタンスの管理者にお問い合わせください。} other {最近{product_name}を利用した場合は、すぐにサポートチームにお問い合わせください。}}\n\n– {product_name}チーム" }, "ip_authorization": { "subject": "新しいIPアドレスからのログインを承認", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "{product_name}への報告の審査が完了しました", - "body": "こんにちは、{username}さん\n\nご報告いただいた内容(ID: {reportId})を安全チームが審査しました。{hasComment, select, yes {\n\n安全チームからの回答:\n{publicComment}} other {}}\n\n{product_name}をすべての人にとって安全に保つためのご協力ありがとうございます。すべての報告を真剣に受け止め、コミュニティへのご貢献に感謝します。\n\nこの結果についてご質問やご不明な点がございましたら、{safety_email}までお問い合わせください。\n\n– {product_name}安全チーム" + "body": "こんにちは、{username}さん\n\nご報告いただいた内容(ID: {reportId})を安全チームが審査しました。{hasComment, select, yes {\n\n安全チームからの回答:\n{publicComment}} other {}}\n\n{product_name}をすべての人にとって安全に保つためのご協力ありがとうございます。すべての報告を真剣に受け止め、コミュニティへのご貢献に感謝します。\n\n{safety_email, select, null {この結果についてご質問やご不明な点がございましたら、このインスタンスの管理者にお問い合わせください。} other {この結果についてご質問やご不明な点がございましたら、{safety_email}までお問い合わせください。}}\n\n– {product_name}安全チーム" }, "scheduled_deletion_notification": { "subject": "{product_name}アカウントは完全に削除されます", - "body": "こんにちは、{username}さん\n\n{product_name}アカウントの完全な削除が予定されています。\n\n削除予定日時: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {理由: {reason}}\n}\n\nこれは重大な措置です。アカウントデータは、予定日に完全に削除されます。\n\nこの措置が不正確であると思われる場合は、異議申し立てを提出できます。このメールアドレスから{appeals_email}までメールを送信してください。\n\n– {product_name}安全チーム" + "body": "こんにちは、{username}さん\n\n{product_name}アカウントの完全な削除が予定されています。\n\n削除予定日時: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {理由: {reason}}\n}\n\nこれは重大な措置です。アカウントデータは、予定日に完全に削除されます。\n\nこの措置が不正確であると思われる場合は、異議申し立てを提出できます。{appeals_email, select, null {このインスタンスの管理者に連絡してください。} other {このメールアドレスから{appeals_email}までメールを送信してください。}}\n\n– {product_name}安全チーム" }, "self_deletion_scheduled": { "subject": "{product_name}アカウントの削除が予定されています", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ko.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ko.json index b4a826c4a..a1f04bfe3 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ko.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ko.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "{product_name} 계정 삭제 예정이 취소되었어요", - "body": "안녕하세요, {username}님.\n\n{product_name} 계정의 삭제 예정이 취소되었어요. 계정은 삭제되지 않아요.\n\n궁금한 점이 있다면 {safety_email}으로 문의해 주세요.\n\n– {product_name} 팀" + "body": "안녕하세요, {username}님.\n\n{product_name} 계정의 삭제 예정이 취소되었어요. 계정은 삭제되지 않아요.\n\n{safety_email, select, null {궁금한 점이 있다면 이 인스턴스의 관리자에게 문의해 주세요.} other {궁금한 점이 있다면 {safety_email}으로 문의해 주세요.}}\n\n– {product_name} 팀" }, "account_deletion_scheduled_inactivity": { "subject": "장기간 미접속으로 {product_name} 계정이 삭제될 예정이에요", - "body": "안녕하세요, {username}님.\n\n{product_name} 계정이 오랫동안 사용되지 않아 다음 날짜에 영구적으로 삭제될 예정이에요:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n사유: {reason}}}\n\n계정을 유지하고 싶다면 해당 날짜 전에 이 이메일 주소에서 {safety_email}으로 문의해 주세요.\n\n– {product_name} 팀" + "body": "안녕하세요, {username}님.\n\n{product_name} 계정이 오랫동안 사용되지 않아 다음 날짜에 영구적으로 삭제될 예정이에요:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n사유: {reason}}}\n\n{safety_email, select, null {계정을 유지하고 싶다면 해당 날짜 전에 이 인스턴스의 관리자에게 문의해 주세요.} other {계정을 유지하고 싶다면 해당 날짜 전에 이 이메일 주소에서 {safety_email}으로 문의해 주세요.}}\n\n– {product_name} 팀" }, "account_deletion_scheduled_requested": { "subject": "{product_name} 계정 삭제가 예정되었어요", - "body": "안녕하세요, {username}님.\n\n요청하신 대로 {product_name} 계정이 다음 날짜에 영구적으로 삭제될 예정이에요:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n사유: {reason}}}\n\n그때까지 계정은 잠겨 있어요. 요청하지 않으셨거나 계정을 유지하고 싶다면 해당 날짜 전에 이 이메일 주소에서 {safety_email}으로 문의해 주세요.\n\n– {product_name} 팀" + "body": "안녕하세요, {username}님.\n\n요청하신 대로 {product_name} 계정이 다음 날짜에 영구적으로 삭제될 예정이에요:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n사유: {reason}}}\n\n그때까지 계정은 잠겨 있어요. {safety_email, select, null {요청하지 않으셨거나 계정을 유지하고 싶다면 해당 날짜 전에 이 인스턴스의 관리자에게 문의해 주세요.} other {요청하지 않으셨거나 계정을 유지하고 싶다면 해당 날짜 전에 이 이메일 주소에서 {safety_email}으로 문의해 주세요.}}\n\n– {product_name} 팀" }, "account_scheduled_deletion": { "subject": "{product_name} 계정이 영구적으로 삭제될 예정이에요", - "body": "안녕하세요, {username}님.\n\n서비스 약관 또는 커뮤니티 가이드라인 위반으로 인해 {product_name} 계정이 영구적으로 삭제될 예정이에요.\n\n삭제 예정일: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {사유: {reason}}\n}\n\n이는 중대한 조치이며, 계정 데이터는 예정된 날짜에 영구적으로 삭제될 예정이에요.\n\n다음 내용을 확인해 주세요:\n- 서비스 약관: {termsUrl}\n- 커뮤니티 가이드라인: {guidelinesUrl}\n\n이의 제기 절차:\n이 조치가 잘못되었거나 부당하다고 생각되면 60일 이내에 이의를 제기할 수 있어요. 이 이메일 주소에서 {appeals_email}으로 이메일을 보내 이의를 제기해 주세요.\n\n이의 제기 시에는:\n- 조치가 잘못되었거나 부당하다고 생각하는 이유를 명확하게 설명해 주세요.\n- 관련 증거 또는 맥락을 제공해 주세요.\n\n{product_name} 안전팀 담당자가 이의 제기를 검토하고 최종 결정이 내려질 때까지 삭제를 일시적으로 보류할 수 있어요.\n\n– {product_name} 안전팀" + "body": "안녕하세요, {username}님.\n\n서비스 약관 또는 커뮤니티 가이드라인 위반으로 인해 {product_name} 계정이 영구적으로 삭제될 예정이에요.\n\n삭제 예정일: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {사유: {reason}}\n}\n\n이는 중대한 조치이며, 계정 데이터는 예정된 날짜에 영구적으로 삭제될 예정이에요.\n\n{legalLinks, select,\n both {다음 내용을 확인해 주세요:\n- 서비스 약관: {termsUrl}\n- 커뮤니티 가이드라인: {guidelinesUrl}\n\n}\n terms {다음 내용을 확인해 주세요:\n- 서비스 약관: {termsUrl}\n\n}\n guidelines {다음 내용을 확인해 주세요:\n- 커뮤니티 가이드라인: {guidelinesUrl}\n\n}\n other {}\n}이의 제기 절차:\n이 조치가 잘못되었거나 부당하다고 생각되면 60일 이내에 이의를 제기할 수 있어요. {appeals_email, select, null {이 인스턴스의 관리자에게 연락해 이의를 제기해 주세요.} other {이 이메일 주소에서 {appeals_email}으로 이메일을 보내 이의를 제기해 주세요.}}\n\n이의 제기 시에는:\n- 조치가 잘못되었거나 부당하다고 생각하는 이유를 명확하게 설명해 주세요.\n- 관련 증거 또는 맥락을 제공해 주세요.\n\n{product_name} 안전팀 담당자가 이의 제기를 검토하고 최종 결정이 내려질 때까지 삭제를 일시적으로 보류할 수 있어요.\n\n– {product_name} 안전팀" }, "account_temp_banned": { "subject": "{product_name} 계정이 일시적으로 정지되었어요", - "body": "안녕하세요, {username}님.\n\n서비스 약관 또는 커뮤니티 가이드라인 위반으로 인해 {product_name} 계정이 일시적으로 정지되었어요.\n\n기간: {durationHours, plural,\n =1 {1시간}\n other {#시간}\n}\n정지 해제 일시: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {사유: {reason}}\n}\n\n이 기간 동안에는 계정에 액세스할 수 없어요.\n\n다음 내용을 확인해 주세요:\n- 서비스 약관: {termsUrl}\n- 커뮤니티 가이드라인: {guidelinesUrl}\n\n이 조치가 잘못되었거나 부당하다고 생각되면 이의를 제기할 수 있어요. 이 이메일 주소에서 {appeals_email}으로 이메일을 보내 결정이 잘못되었다고 생각하는 이유를 명확하게 설명해 주세요. 이의 제기를 검토한 후 결과를 알려 드릴 예정이에요.\n\n– {product_name} 안전팀" + "body": "안녕하세요, {username}님.\n\n서비스 약관 또는 커뮤니티 가이드라인 위반으로 인해 {product_name} 계정이 일시적으로 정지되었어요.\n\n기간: {durationHours, plural,\n =1 {1시간}\n other {#시간}\n}\n정지 해제 일시: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {사유: {reason}}\n}\n\n이 기간 동안에는 계정에 액세스할 수 없어요.\n\n{legalLinks, select,\n both {다음 내용을 확인해 주세요:\n- 서비스 약관: {termsUrl}\n- 커뮤니티 가이드라인: {guidelinesUrl}\n\n}\n terms {다음 내용을 확인해 주세요:\n- 서비스 약관: {termsUrl}\n\n}\n guidelines {다음 내용을 확인해 주세요:\n- 커뮤니티 가이드라인: {guidelinesUrl}\n\n}\n other {}\n}이 조치가 잘못되었거나 부당하다고 생각되면 이의를 제기할 수 있어요. {appeals_email, select, null {이 인스턴스의 관리자에게 연락해 결정이 잘못되었다고 생각하는 이유를 명확하게 설명해 주세요.} other {이 이메일 주소에서 {appeals_email}으로 이메일을 보내 결정이 잘못되었다고 생각하는 이유를 명확하게 설명해 주세요.}} 이의 제기를 검토한 후 결과를 알려 드릴 예정이에요.\n\n– {product_name} 안전팀" }, "donation_confirmation": { "subject": "{product_name} 후원에 감사드려요", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "{product_name} 신고에 대한 결정이 내려졌어요", - "body": "안녕하세요,\n\n안전팀에서 디지털 서비스법 신고(ID: {reportId})를 검토하고 결정을 내렸어요.{hasComment, select, yes {\n\n안전팀의 답변:\n{publicComment}} other {}}\n\n다른 사람의 계정에 취한 조치의 세부 내용은 그 사람의 개인 정보이므로 공유하지 않아요.\n\n이 결정에 동의하지 않는다면 60일 이내에 무료로 이의를 제기할 수 있어요. 이 이메일 주소에서 {appeals_email}으로 이메일을 보내 신고 ID를 적고 결정이 잘못되었다고 생각하는 이유를 설명해 주세요. EU에 거주하고 있다면 인증된 법원 외 분쟁 해결 기관에 분쟁을 회부할 수도 있어요. 이 내용은 법원에 소송을 제기할 권리에 영향을 주지 않아요.\n\n– {product_name} 안전팀" + "body": "안녕하세요,\n\n안전팀에서 디지털 서비스법 신고(ID: {reportId})를 검토하고 결정을 내렸어요.{hasComment, select, yes {\n\n안전팀의 답변:\n{publicComment}} other {}}\n\n다른 사람의 계정에 취한 조치의 세부 내용은 그 사람의 개인 정보이므로 공유하지 않아요.\n\n이 결정에 동의하지 않는다면 60일 이내에 무료로 이의를 제기할 수 있어요. {appeals_email, select, null {이 인스턴스의 관리자에게 연락해 신고 ID를 적고 결정이 잘못되었다고 생각하는 이유를 설명해 주세요.} other {이 이메일 주소에서 {appeals_email}으로 이메일을 보내 신고 ID를 적고 결정이 잘못되었다고 생각하는 이유를 설명해 주세요.}} EU에 거주하고 있다면 인증된 법원 외 분쟁 해결 기관에 분쟁을 회부할 수도 있어요. 이 내용은 법원에 소송을 제기할 권리에 영향을 주지 않아요.\n\n– {product_name} 안전팀" }, "dsa_report_verification": { "subject": "DSA 신고를 위한 이메일 인증", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "사용하신 선물 혜택이 제거되었어요", - "body": "안녕하세요, {username}님.\n\n사용하신 선물 코드는 다른 사용자가 결제한 것이었어요. 해당 결제가 취소(차지백)되었어요.\n\n이로 인해 선물을 사용했을 때 계정에 추가되었던 혜택이 제거되었어요.\n\n실수라고 생각되면 고객지원팀에 문의하여 선물 코드 및 사용 시기에 대한 자세한 정보를 알려 주세요.\n\n– {product_name} 팀" + "body": "안녕하세요, {username}님.\n\n사용하신 선물 코드는 다른 사용자가 결제한 것이었어요. 해당 결제가 취소(차지백)되었어요.\n\n이로 인해 선물을 사용했을 때 계정에 추가되었던 혜택이 제거되었어요.\n\n{support_email, select, null {실수라고 생각되면 이 인스턴스의 관리자에게 문의하여 선물 코드 및 사용 시기에 대한 자세한 정보를 알려 주세요.} other {실수라고 생각되면 고객지원팀에 문의하여 선물 코드 및 사용 시기에 대한 자세한 정보를 알려 주세요.}}\n\n– {product_name} 팀" }, "harvest_completed": { "subject": "{product_name} 데이터 내보내기를 다운로드할 수 있어요", - "body": "안녕하세요, {username}님.\n\n데이터 내보내기가 준비되었어요.\n\n다운로드 링크:\n{downloadUrl}\n\n포함된 메시지: {totalMessages, number}개\n파일 크기: {fileSizeMB, number} MB\n\n이 링크는 {expiresAt, date, full} {expiresAt, time, short}에 만료돼요.\n\n이 내보내기를 요청하지 않으셨다면 즉시 비밀번호를 변경하고 고객지원팀에 문의해 주세요.\n\n– {product_name} 팀" + "body": "안녕하세요, {username}님.\n\n데이터 내보내기가 준비되었어요.\n\n다운로드 링크:\n{downloadUrl}\n\n포함된 메시지: {totalMessages, number}개\n파일 크기: {fileSizeMB, number} MB\n\n이 링크는 {expiresAt, date, full} {expiresAt, time, short}에 만료돼요.\n\n{support_email, select, null {이 내보내기를 요청하지 않으셨다면 즉시 비밀번호를 변경하고 이 인스턴스의 관리자에게 문의해 주세요.} other {이 내보내기를 요청하지 않으셨다면 즉시 비밀번호를 변경하고 고객지원팀에 문의해 주세요.}}\n\n– {product_name} 팀" }, "inactivity_warning": { "subject": "장기간 미접속으로 {product_name} 계정이 삭제될 예정이에요", - "body": "안녕하세요, {username}님.\n\n{lastActiveDate, date, full} 이후로 {product_name} 계정에서 활동이 없었어요.\n\n{deletionDate, date, full} {deletionDate, time, short}까지 로그인하지 않으면 장기간 미접속으로 계정이 영구적으로 삭제될 예정이에요.\n\n여기에서 로그인해 주세요:\n{loginUrl}\n\n최근에 {product_name}를 사용하셨다면 즉시 고객지원팀에 문의해 주세요.\n\n– {product_name} 팀" + "body": "안녕하세요, {username}님.\n\n{lastActiveDate, date, full} 이후로 {product_name} 계정에서 활동이 없었어요.\n\n{deletionDate, date, full} {deletionDate, time, short}까지 로그인하지 않으면 장기간 미접속으로 계정이 영구적으로 삭제될 예정이에요.\n\n여기에서 로그인해 주세요:\n{loginUrl}\n\n{support_email, select, null {최근에 {product_name}를 사용하셨다면 즉시 이 인스턴스의 관리자에게 문의해 주세요.} other {최근에 {product_name}를 사용하셨다면 즉시 고객지원팀에 문의해 주세요.}}\n\n– {product_name} 팀" }, "ip_authorization": { "subject": "새 IP 주소 로그인 승인", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "{product_name} 신고 검토가 완료되었어요", - "body": "안녕하세요, {username}님.\n\n접수하신 신고(ID: {reportId})를 안전팀에서 검토했어요.{hasComment, select, yes {\n\n안전팀의 답변:\n{publicComment}} other {}}\n\n모두를 위해 {product_name}를 안전하게 유지하는 데 도움을 주셔서 감사해요. 모든 신고를 진지하게 검토하고 있으며, 커뮤니티에 기여해 주셔서 감사해요.\n\n이 결과에 대해 궁금한 점이나 우려 사항이 있다면 {safety_email}으로 문의해 주세요.\n\n– {product_name} 안전팀" + "body": "안녕하세요, {username}님.\n\n접수하신 신고(ID: {reportId})를 안전팀에서 검토했어요.{hasComment, select, yes {\n\n안전팀의 답변:\n{publicComment}} other {}}\n\n모두를 위해 {product_name}를 안전하게 유지하는 데 도움을 주셔서 감사해요. 모든 신고를 진지하게 검토하고 있으며, 커뮤니티에 기여해 주셔서 감사해요.\n\n{safety_email, select, null {이 결과에 대해 궁금한 점이나 우려 사항이 있다면 이 인스턴스의 관리자에게 문의해 주세요.} other {이 결과에 대해 궁금한 점이나 우려 사항이 있다면 {safety_email}으로 문의해 주세요.}}\n\n– {product_name} 안전팀" }, "scheduled_deletion_notification": { "subject": "{product_name} 계정이 영구적으로 삭제될 예정이에요", - "body": "안녕하세요, {username}님.\n\n{product_name} 계정이 영구적으로 삭제될 예정이에요.\n\n삭제 예정일: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {사유: {reason}}\n}\n\n이는 중대한 조치이며, 계정 데이터는 예정된 날짜에 영구적으로 삭제될 예정이에요.\n\n이 조치가 잘못되었다고 생각되면 이의를 제기할 수 있어요. 이 이메일 주소에서 {appeals_email}으로 이메일을 보내 이의를 제기해 주세요.\n\n– {product_name} 안전팀" + "body": "안녕하세요, {username}님.\n\n{product_name} 계정이 영구적으로 삭제될 예정이에요.\n\n삭제 예정일: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {사유: {reason}}\n}\n\n이는 중대한 조치이며, 계정 데이터는 예정된 날짜에 영구적으로 삭제될 예정이에요.\n\n이 조치가 잘못되었다고 생각되면 이의를 제기할 수 있어요. {appeals_email, select, null {이 인스턴스의 관리자에게 연락해 이의를 제기해 주세요.} other {이 이메일 주소에서 {appeals_email}으로 이메일을 보내 이의를 제기해 주세요.}}\n\n– {product_name} 안전팀" }, "self_deletion_scheduled": { "subject": "{product_name} 계정 삭제가 예정되었어요", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/lt.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/lt.json index be997d9de..35ac4db5c 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/lt.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/lt.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Tavo {product_name} paskyros ištrynimas atšauktas", - "body": "Sveiki, {username},\n\nNumatytas tavo {product_name} paskyros ištrynimas atšauktas. Tavo paskyra nebus ištrinta.\n\nJei turi klausimų, rašyk adresu {safety_email}.\n\n– {product_name} komanda" + "body": "Sveiki, {username},\n\nNumatytas tavo {product_name} paskyros ištrynimas atšauktas. Tavo paskyra nebus ištrinta.\n\n{safety_email, select, null {Jei turi klausimų, susisiek su šios instancijos administratoriais.} other {Jei turi klausimų, rašyk adresu {safety_email}.}}\n\n– {product_name} komanda" }, "account_deletion_scheduled_inactivity": { "subject": "Tavo {product_name} paskyra bus ištrinta dėl neaktyvumo", - "body": "Sveiki, {username},\n\nTavo {product_name} paskyra ilgą laiką buvo neaktyvi, todėl ją numatyta visam laikui ištrinti:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nPriežastis: {reason}}}\n\nJei nori išsaugoti paskyrą, iki šios datos parašyk adresu {safety_email} iš šio el. pašto adreso.\n\n– {product_name} komanda" + "body": "Sveiki, {username},\n\nTavo {product_name} paskyra ilgą laiką buvo neaktyvi, todėl ją numatyta visam laikui ištrinti:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nPriežastis: {reason}}}\n\n{safety_email, select, null {Jei nori išsaugoti paskyrą, iki šios datos susisiek su šios instancijos administratoriais.} other {Jei nori išsaugoti paskyrą, iki šios datos parašyk adresu {safety_email} iš šio el. pašto adreso.}}\n\n– {product_name} komanda" }, "account_deletion_scheduled_requested": { "subject": "Tavo {product_name} paskyros ištrynimas numatytas", - "body": "Sveiki, {username},\n\nTavo prašymu {product_name} paskyrą numatyta visam laikui ištrinti:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nPriežastis: {reason}}}\n\nIki tol tavo paskyra užrakinta. Jei to neprašei arba nori išsaugoti paskyrą, iki šios datos parašyk adresu {safety_email} iš šio el. pašto adreso.\n\n– {product_name} komanda" + "body": "Sveiki, {username},\n\nTavo prašymu {product_name} paskyrą numatyta visam laikui ištrinti:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nPriežastis: {reason}}}\n\nIki tol tavo paskyra užrakinta. {safety_email, select, null {Jei to neprašei arba nori išsaugoti paskyrą, iki šios datos susisiek su šios instancijos administratoriais.} other {Jei to neprašei arba nori išsaugoti paskyrą, iki šios datos parašyk adresu {safety_email} iš šio el. pašto adreso.}}\n\n– {product_name} komanda" }, "account_scheduled_deletion": { "subject": "Tavo {product_name} paskyra bus visam laikui ištrinta", - "body": "Sveiki, {username},\n\nTavo {product_name} paskyrą numatyta visam laikui ištrinti dėl mūsų paslaugų teikimo sąlygų arba bendruomenės gairių pažeidimų.\n\nNumatytas ištrynimas: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Priežastis: {reason}}\n}\n\nTai rimta priemonė. Tavo paskyros duomenys numatytą dieną bus visam laikui ištrinti.\n\nPeržiūrėk:\n- Paslaugų teikimo sąlygos: {termsUrl}\n- Bendruomenės gairės: {guidelinesUrl}\n\nApeliacijos procesas:\nJei manai, kad šis sprendimas neteisingas arba nepagrįstas, apeliaciją gali pateikti per 60 dienų. Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email}.\n\nSavo apeliacijoje:\n- Aiškiai paaiškink, kodėl manai, kad sprendimas neteisingas arba nepagrįstas\n- Pateik visus susijusius įrodymus ar kontekstą\n\n{product_name} saugos komandos narys peržiūrės tavo apeliaciją ir gali sustabdyti numatytą ištrynimą, kol bus priimtas galutinis sprendimas.\n\n– {product_name} saugos komanda" + "body": "Sveiki, {username},\n\nTavo {product_name} paskyrą numatyta visam laikui ištrinti dėl mūsų paslaugų teikimo sąlygų arba bendruomenės gairių pažeidimų.\n\nNumatytas ištrynimas: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Priežastis: {reason}}\n}\n\nTai rimta priemonė. Tavo paskyros duomenys numatytą dieną bus visam laikui ištrinti.\n\n{legalLinks, select,\n both {Peržiūrėk:\n- Paslaugų teikimo sąlygos: {termsUrl}\n- Bendruomenės gairės: {guidelinesUrl}\n\n}\n terms {Peržiūrėk:\n- Paslaugų teikimo sąlygos: {termsUrl}\n\n}\n guidelines {Peržiūrėk:\n- Bendruomenės gairės: {guidelinesUrl}\n\n}\n other {}\n}Apeliacijos procesas:\nJei manai, kad šis sprendimas neteisingas arba nepagrįstas, apeliaciją gali pateikti per 60 dienų. {appeals_email, select, null {Susisiek su šios instancijos administratoriais.} other {Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email}.}}\n\nSavo apeliacijoje:\n- Aiškiai paaiškink, kodėl manai, kad sprendimas neteisingas arba nepagrįstas\n- Pateik visus susijusius įrodymus ar kontekstą\n\n{product_name} saugos komandos narys peržiūrės tavo apeliaciją ir gali sustabdyti numatytą ištrynimą, kol bus priimtas galutinis sprendimas.\n\n– {product_name} saugos komanda" }, "account_temp_banned": { "subject": "Tavo {product_name} paskyra laikinai sustabdyta", - "body": "Sveiki, {username},\n\nTavo {product_name} paskyra laikinai sustabdyta dėl mūsų paslaugų teikimo sąlygų arba bendruomenės gairių pažeidimo.\n\nTrukmė: {durationHours, plural,\n one {# valanda} few {# valandos}\n many {# valandos} other {# valandų}\n}\nSustabdyta iki: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Priežastis: {reason}}\n}\n\nŠiuo laikotarpiu negalėsi pasiekti savo paskyros.\n\nPeržiūrėk:\n- Paslaugų teikimo sąlygos: {termsUrl}\n- Bendruomenės gairės: {guidelinesUrl}\n\nJei manai, kad šis sprendimas neteisingas arba nepagrįstas, gali pateikti apeliaciją. Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email} ir aiškiai paaiškink, kodėl manai, kad sprendimas neteisingas. Peržiūrėsime tavo apeliaciją ir pranešime savo sprendimą.\n\n– {product_name} saugos komanda" + "body": "Sveiki, {username},\n\nTavo {product_name} paskyra laikinai sustabdyta dėl mūsų paslaugų teikimo sąlygų arba bendruomenės gairių pažeidimo.\n\nTrukmė: {durationHours, plural,\n one {# valanda} few {# valandos}\n many {# valandos} other {# valandų}\n}\nSustabdyta iki: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Priežastis: {reason}}\n}\n\nŠiuo laikotarpiu negalėsi pasiekti savo paskyros.\n\n{legalLinks, select,\n both {Peržiūrėk:\n- Paslaugų teikimo sąlygos: {termsUrl}\n- Bendruomenės gairės: {guidelinesUrl}\n\n}\n terms {Peržiūrėk:\n- Paslaugų teikimo sąlygos: {termsUrl}\n\n}\n guidelines {Peržiūrėk:\n- Bendruomenės gairės: {guidelinesUrl}\n\n}\n other {}\n}Jei manai, kad šis sprendimas neteisingas arba nepagrįstas, gali pateikti apeliaciją. {appeals_email, select, null {Susisiek su šios instancijos administratoriais ir aiškiai paaiškink, kodėl manai, kad sprendimas neteisingas.} other {Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email} ir aiškiai paaiškink, kodėl manai, kad sprendimas neteisingas.}} Peržiūrėsime tavo apeliaciją ir pranešime savo sprendimą.\n\n– {product_name} saugos komanda" }, "donation_confirmation": { "subject": "Dėkojame už tavo {product_name} paramą", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Priėmėme sprendimą dėl tavo {product_name} pranešimo", - "body": "Sveiki,\n\nMūsų saugos komanda peržiūrėjo tavo pranešimą pagal Skaitmeninių paslaugų aktą (ID: {reportId}) ir priėmė sprendimą.{hasComment, select, yes {\n\nSaugos komandos atsakymas:\n{publicComment}} other {}}\n\nNesidalijame informacija apie veiksmus, kurių imtasi dėl kito asmens paskyros, nes tai yra jo asmens duomenys.\n\nJei nesutinki su šiuo sprendimu, per 60 dienų gali nemokamai pateikti apeliaciją. Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email}, nurodyk savo pranešimo ID ir paaiškink, kodėl manai, kad sprendimas neteisingas. Jei esi ES, ginčą taip pat gali perduoti sertifikuotai neteisminio ginčų sprendimo įstaigai. Visa tai neturi įtakos tavo teisei kreiptis į teismą.\n\n– {product_name} saugos komanda" + "body": "Sveiki,\n\nMūsų saugos komanda peržiūrėjo tavo pranešimą pagal Skaitmeninių paslaugų aktą (ID: {reportId}) ir priėmė sprendimą.{hasComment, select, yes {\n\nSaugos komandos atsakymas:\n{publicComment}} other {}}\n\nNesidalijame informacija apie veiksmus, kurių imtasi dėl kito asmens paskyros, nes tai yra jo asmens duomenys.\n\nJei nesutinki su šiuo sprendimu, per 60 dienų gali nemokamai pateikti apeliaciją. {appeals_email, select, null {Susisiek su šios instancijos administratoriais, nurodyk savo pranešimo ID ir paaiškink, kodėl manai, kad sprendimas neteisingas.} other {Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email}, nurodyk savo pranešimo ID ir paaiškink, kodėl manai, kad sprendimas neteisingas.}} Jei esi ES, ginčą taip pat gali perduoti sertifikuotai neteisminio ginčų sprendimo įstaigai. Visa tai neturi įtakos tavo teisei kreiptis į teismą.\n\n– {product_name} saugos komanda" }, "dsa_report_verification": { "subject": "Patvirtink savo el. paštą DSA pranešimui pateikti", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Privilegijos, gautos už išpirktą dovaną, pašalintos", - "body": "Sveiki, {username},\n\nDovanos kodą, kurį išpirkai, iš pradžių apmokėjo kitas asmuo. Tas mokėjimas vėliau buvo atšauktas (lėšų grąžinimas).\n\nDėl to pašalinome privilegijas, kurios buvo pridėtos prie tavo paskyros, kai išpirkai dovaną.\n\nJei manai, kad tai klaida, susisiek su mūsų palaikymo komanda ir nurodyk visą turimą informaciją apie dovanos kodą ir apie tai, kada jį išpirkai.\n\n– {product_name} komanda" + "body": "Sveiki, {username},\n\nDovanos kodą, kurį išpirkai, iš pradžių apmokėjo kitas asmuo. Tas mokėjimas vėliau buvo atšauktas (lėšų grąžinimas).\n\nDėl to pašalinome privilegijas, kurios buvo pridėtos prie tavo paskyros, kai išpirkai dovaną.\n\n{support_email, select, null {Jei manai, kad tai klaida, susisiek su šios instancijos administratoriais ir nurodyk visą turimą informaciją apie dovanos kodą ir apie tai, kada jį išpirkai.} other {Jei manai, kad tai klaida, susisiek su mūsų palaikymo komanda ir nurodyk visą turimą informaciją apie dovanos kodą ir apie tai, kada jį išpirkai.}}\n\n– {product_name} komanda" }, "harvest_completed": { "subject": "Tavo {product_name} duomenų eksportas paruoštas atsisiųsti", - "body": "Sveiki, {username},\n\nTavo duomenų eksportas paruoštas.\n\nAtsisiuntimo nuoroda:\n{downloadUrl}\n\nĮtrauktos žinutės: {totalMessages, number}\nFailo dydis: {fileSizeMB, number} MB\n\nŠi nuoroda galioja iki {expiresAt, date, full} {expiresAt, time, short}.\n\nJei šio eksporto neprašei, nedelsiant pakeisk slaptažodį ir susisiek su mūsų palaikymo komanda.\n\n– {product_name} komanda" + "body": "Sveiki, {username},\n\nTavo duomenų eksportas paruoštas.\n\nAtsisiuntimo nuoroda:\n{downloadUrl}\n\nĮtrauktos žinutės: {totalMessages, number}\nFailo dydis: {fileSizeMB, number} MB\n\nŠi nuoroda galioja iki {expiresAt, date, full} {expiresAt, time, short}.\n\n{support_email, select, null {Jei šio eksporto neprašei, nedelsiant pakeisk slaptažodį ir susisiek su šios instancijos administratoriais.} other {Jei šio eksporto neprašei, nedelsiant pakeisk slaptažodį ir susisiek su mūsų palaikymo komanda.}}\n\n– {product_name} komanda" }, "inactivity_warning": { "subject": "Tavo {product_name} paskyra bus ištrinta dėl neaktyvumo", - "body": "Sveiki, {username},\n\nNuo {lastActiveDate, date, full} tavo {product_name} paskyroje nematėme jokios veiklos.\n\nJei neprisijungsi iki {deletionDate, date, full} {deletionDate, time, short}, tavo paskyra bus visam laikui ištrinta dėl neaktyvumo.\n\nPrisijunk čia:\n{loginUrl}\n\nJei neseniai naudojaisi {product_name}, nedelsiant susisiek su mūsų palaikymo komanda.\n\n– {product_name} komanda" + "body": "Sveiki, {username},\n\nNuo {lastActiveDate, date, full} tavo {product_name} paskyroje nematėme jokios veiklos.\n\nJei neprisijungsi iki {deletionDate, date, full} {deletionDate, time, short}, tavo paskyra bus visam laikui ištrinta dėl neaktyvumo.\n\nPrisijunk čia:\n{loginUrl}\n\n{support_email, select, null {Jei neseniai naudojaisi {product_name}, nedelsiant susisiek su šios instancijos administratoriais.} other {Jei neseniai naudojaisi {product_name}, nedelsiant susisiek su mūsų palaikymo komanda.}}\n\n– {product_name} komanda" }, "ip_authorization": { "subject": "Patvirtink prisijungimą iš naujo IP adreso", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Tavo {product_name} pranešimas peržiūrėtas", - "body": "Sveiki, {username},\n\nTavo pranešimą (ID: {reportId}) peržiūrėjo mūsų saugos komanda.{hasComment, select, yes {\n\nSaugos komandos atsakymas:\n{publicComment}} other {}}\n\nDėkojame, kad padedi užtikrinti {product_name} saugumą visiems. Visus pranešimus vertiname rimtai ir esame dėkingi už tavo indėlį į bendruomenę.\n\nJei turi klausimų ar abejonių dėl šio sprendimo, rašyk adresu {safety_email}.\n\n– {product_name} saugos komanda" + "body": "Sveiki, {username},\n\nTavo pranešimą (ID: {reportId}) peržiūrėjo mūsų saugos komanda.{hasComment, select, yes {\n\nSaugos komandos atsakymas:\n{publicComment}} other {}}\n\nDėkojame, kad padedi užtikrinti {product_name} saugumą visiems. Visus pranešimus vertiname rimtai ir esame dėkingi už tavo indėlį į bendruomenę.\n\n{safety_email, select, null {Jei turi klausimų ar abejonių dėl šio sprendimo, susisiek su šios instancijos administratoriais.} other {Jei turi klausimų ar abejonių dėl šio sprendimo, rašyk adresu {safety_email}.}}\n\n– {product_name} saugos komanda" }, "scheduled_deletion_notification": { "subject": "Tavo {product_name} paskyra bus visam laikui ištrinta", - "body": "Sveiki, {username},\n\nTavo {product_name} paskyrą numatyta visam laikui ištrinti.\n\nNumatytas ištrynimas: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Priežastis: {reason}}\n}\n\nTai rimta priemonė. Tavo paskyros duomenys numatytą dieną bus visam laikui ištrinti.\n\nJei manai, kad šis sprendimas neteisingas, gali pateikti apeliaciją. Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email}.\n\n– {product_name} saugos komanda" + "body": "Sveiki, {username},\n\nTavo {product_name} paskyrą numatyta visam laikui ištrinti.\n\nNumatytas ištrynimas: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Priežastis: {reason}}\n}\n\nTai rimta priemonė. Tavo paskyros duomenys numatytą dieną bus visam laikui ištrinti.\n\nJei manai, kad šis sprendimas neteisingas, gali pateikti apeliaciją. {appeals_email, select, null {Susisiek su šios instancijos administratoriais.} other {Iš šio el. pašto adreso siųsk el. laišką adresu {appeals_email}.}}\n\n– {product_name} saugos komanda" }, "self_deletion_scheduled": { "subject": "Tavo {product_name} paskyros ištrynimas numatytas", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/nl.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/nl.json index d5f183e3f..7ab764009 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/nl.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/nl.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "De verwijdering van je {product_name}-account is geannuleerd", - "body": "Hallo {username},\n\nDe geplande verwijdering van je {product_name}-account is geannuleerd. Je account wordt niet verwijderd.\n\nAls je vragen hebt, neem dan contact op met {safety_email}.\n\n– Het team van {product_name}" + "body": "Hallo {username},\n\nDe geplande verwijdering van je {product_name}-account is geannuleerd. Je account wordt niet verwijderd.\n\n{safety_email, select, null {Als je vragen hebt, neem dan contact op met de beheerders van deze instantie.} other {Als je vragen hebt, neem dan contact op met {safety_email}.}}\n\n– Het team van {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Je {product_name}-account wordt verwijderd wegens inactiviteit", - "body": "Hallo {username},\n\nJe {product_name}-account is al lange tijd inactief en staat daarom gepland voor permanente verwijdering op:\n\n{deletionDate, date, full} om {deletionDate, time, short}{reason, select, null {} other {\n\nReden: {reason}}}\n\nAls je je account wilt behouden, neem dan vóór die datum vanaf dit e-mailadres contact op met {safety_email}.\n\n– Het team van {product_name}" + "body": "Hallo {username},\n\nJe {product_name}-account is al lange tijd inactief en staat daarom gepland voor permanente verwijdering op:\n\n{deletionDate, date, full} om {deletionDate, time, short}{reason, select, null {} other {\n\nReden: {reason}}}\n\n{safety_email, select, null {Als je je account wilt behouden, neem dan vóór die datum contact op met de beheerders van deze instantie.} other {Als je je account wilt behouden, neem dan vóór die datum vanaf dit e-mailadres contact op met {safety_email}.}}\n\n– Het team van {product_name}" }, "account_deletion_scheduled_requested": { "subject": "De verwijdering van je {product_name}-account staat gepland", - "body": "Hallo {username},\n\nZoals je hebt verzocht, staat je {product_name}-account gepland voor permanente verwijdering op:\n\n{deletionDate, date, full} om {deletionDate, time, short}{reason, select, null {} other {\n\nReden: {reason}}}\n\nJe account is tot die tijd vergrendeld. Als je dit niet hebt aangevraagd of je account wilt behouden, neem dan vóór die datum vanaf dit e-mailadres contact op met {safety_email}.\n\n– Het team van {product_name}" + "body": "Hallo {username},\n\nZoals je hebt verzocht, staat je {product_name}-account gepland voor permanente verwijdering op:\n\n{deletionDate, date, full} om {deletionDate, time, short}{reason, select, null {} other {\n\nReden: {reason}}}\n\nJe account is tot die tijd vergrendeld. {safety_email, select, null {Als je dit niet hebt aangevraagd of je account wilt behouden, neem dan vóór die datum contact op met de beheerders van deze instantie.} other {Als je dit niet hebt aangevraagd of je account wilt behouden, neem dan vóór die datum vanaf dit e-mailadres contact op met {safety_email}.}}\n\n– Het team van {product_name}" }, "account_scheduled_deletion": { "subject": "Je {product_name}-account wordt permanent verwijderd", - "body": "Hallo {username},\n\nJe {product_name}-account staat gepland voor permanente verwijdering vanwege schendingen van onze Gebruiksvoorwaarden of Communityrichtlijnen.\n\nGeplande verwijdering: {deletionDate, date, full} om {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reden: {reason}}\n}\n\nDit is een ingrijpende handhavingsmaatregel. Je accountgegevens worden permanent verwijderd op de geplande datum.\n\nBekijk ook:\n- Gebruiksvoorwaarden: {termsUrl}\n- Communityrichtlijnen: {guidelinesUrl}\n\nBezwaarprocedure:\nAls je van mening bent dat deze handhavingsbeslissing onjuist of ongerechtvaardigd was, heb je 60 dagen de tijd om bezwaar te maken. Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres.\n\nVermeld in je bezwaar:\n- Een duidelijke uitleg waarom je van mening bent dat de handhavingsbeslissing onjuist of ongerechtvaardigd was\n- Alle relevante bewijzen of context\n\nEen medewerker van het veiligheidsteam van {product_name} zal je bezwaar beoordelen en kan de geplande verwijdering uitstellen totdat een definitieve beslissing is genomen.\n\n– Het veiligheidsteam van {product_name}" + "body": "Hallo {username},\n\nJe {product_name}-account staat gepland voor permanente verwijdering vanwege schendingen van onze Gebruiksvoorwaarden of Communityrichtlijnen.\n\nGeplande verwijdering: {deletionDate, date, full} om {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reden: {reason}}\n}\n\nDit is een ingrijpende handhavingsmaatregel. Je accountgegevens worden permanent verwijderd op de geplande datum.\n\n{legalLinks, select,\n both {Bekijk ook:\n- Gebruiksvoorwaarden: {termsUrl}\n- Communityrichtlijnen: {guidelinesUrl}\n\n}\n terms {Bekijk ook:\n- Gebruiksvoorwaarden: {termsUrl}\n\n}\n guidelines {Bekijk ook:\n- Communityrichtlijnen: {guidelinesUrl}\n\n}\n other {}\n}Bezwaarprocedure:\nAls je van mening bent dat deze handhavingsbeslissing onjuist of ongerechtvaardigd was, heb je 60 dagen de tijd om bezwaar te maken. {appeals_email, select, null {Neem contact op met de beheerders van deze instantie.} other {Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres.}}\n\nVermeld in je bezwaar:\n- Een duidelijke uitleg waarom je van mening bent dat de handhavingsbeslissing onjuist of ongerechtvaardigd was\n- Alle relevante bewijzen of context\n\nEen medewerker van het veiligheidsteam van {product_name} zal je bezwaar beoordelen en kan de geplande verwijdering uitstellen totdat een definitieve beslissing is genomen.\n\n– Het veiligheidsteam van {product_name}" }, "account_temp_banned": { "subject": "Je {product_name}-account is tijdelijk geschorst", - "body": "Hallo {username},\n\nJe {product_name}-account is tijdelijk geschorst wegens schending van onze Gebruiksvoorwaarden of Communityrichtlijnen.\n\nDuur: {durationHours, plural,\n =1 {1 uur}\n other {# uur}\n}\nGeschorst tot: {bannedUntil, date, full} om {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Reden: {reason}}\n}\n\nGedurende deze periode heb je geen toegang tot je account.\n\nBekijk ook:\n- Gebruiksvoorwaarden: {termsUrl}\n- Communityrichtlijnen: {guidelinesUrl}\n\nAls je van mening bent dat deze handhavingsbeslissing onjuist of ongerechtvaardigd was, kun je bezwaar maken. Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres en leg duidelijk uit waarom je van mening bent dat de beslissing onjuist was. We zullen je bezwaar beoordelen en reageren met onze beslissing.\n\n– Het veiligheidsteam van {product_name}" + "body": "Hallo {username},\n\nJe {product_name}-account is tijdelijk geschorst wegens schending van onze Gebruiksvoorwaarden of Communityrichtlijnen.\n\nDuur: {durationHours, plural,\n =1 {1 uur}\n other {# uur}\n}\nGeschorst tot: {bannedUntil, date, full} om {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Reden: {reason}}\n}\n\nGedurende deze periode heb je geen toegang tot je account.\n\n{legalLinks, select,\n both {Bekijk ook:\n- Gebruiksvoorwaarden: {termsUrl}\n- Communityrichtlijnen: {guidelinesUrl}\n\n}\n terms {Bekijk ook:\n- Gebruiksvoorwaarden: {termsUrl}\n\n}\n guidelines {Bekijk ook:\n- Communityrichtlijnen: {guidelinesUrl}\n\n}\n other {}\n}Als je van mening bent dat deze handhavingsbeslissing onjuist of ongerechtvaardigd was, kun je bezwaar maken. {appeals_email, select, null {Neem contact op met de beheerders van deze instantie en leg duidelijk uit waarom je van mening bent dat de beslissing onjuist was.} other {Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres en leg duidelijk uit waarom je van mening bent dat de beslissing onjuist was.}} We zullen je bezwaar beoordelen en reageren met onze beslissing.\n\n– Het veiligheidsteam van {product_name}" }, "donation_confirmation": { "subject": "Bedankt voor je {product_name}-donatie", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "We hebben een beslissing genomen over je melding op {product_name}", - "body": "Hallo,\n\nOns veiligheidsteam heeft je melding op grond van de Digital Services Act (ID: {reportId}) beoordeeld en een beslissing genomen.{hasComment, select, yes {\n\nReactie van het veiligheidsteam:\n{publicComment}} other {}}\n\nWe delen geen details over maatregelen tegen het account van iemand anders, omdat dat persoonsgegevens van die persoon zijn.\n\nAls je het niet eens bent met deze beslissing, kun je binnen 60 dagen kosteloos bezwaar maken. Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres, vermeld je meldings-ID en leg uit waarom je vindt dat de beslissing onjuist is. Als je in de EU bent, kun je het geschil ook voorleggen aan een gecertificeerd orgaan voor buitengerechtelijke geschillenbeslechting. Dit alles doet niets af aan je recht om naar de rechter te stappen.\n\n– Het veiligheidsteam van {product_name}" + "body": "Hallo,\n\nOns veiligheidsteam heeft je melding op grond van de Digital Services Act (ID: {reportId}) beoordeeld en een beslissing genomen.{hasComment, select, yes {\n\nReactie van het veiligheidsteam:\n{publicComment}} other {}}\n\nWe delen geen details over maatregelen tegen het account van iemand anders, omdat dat persoonsgegevens van die persoon zijn.\n\nAls je het niet eens bent met deze beslissing, kun je binnen 60 dagen kosteloos bezwaar maken. {appeals_email, select, null {Neem contact op met de beheerders van deze instantie, vermeld je meldings-ID en leg uit waarom je vindt dat de beslissing onjuist is.} other {Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres, vermeld je meldings-ID en leg uit waarom je vindt dat de beslissing onjuist is.}} Als je in de EU bent, kun je het geschil ook voorleggen aan een gecertificeerd orgaan voor buitengerechtelijke geschillenbeslechting. Dit alles doet niets af aan je recht om naar de rechter te stappen.\n\n– Het veiligheidsteam van {product_name}" }, "dsa_report_verification": { "subject": "Verifieer je e-mailadres voor een DSA-melding", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "De voordelen van je ingewisselde cadeau zijn verwijderd", - "body": "Hallo {username},\n\nEen cadeaucode die je hebt ingewisseld, is oorspronkelijk door iemand anders betaald. Die betaling is sindsdien teruggedraaid (een terugboeking).\n\nHierdoor hebben we de voordelen verwijderd die aan je account zijn toegevoegd toen je het cadeau inwisselde.\n\nAls je denkt dat dit een fout is, neem dan contact op met ons supportteam en vermeld alle details die je hebt over de cadeaucode en wanneer je deze hebt ingewisseld.\n\n– Het team van {product_name}" + "body": "Hallo {username},\n\nEen cadeaucode die je hebt ingewisseld, is oorspronkelijk door iemand anders betaald. Die betaling is sindsdien teruggedraaid (een terugboeking).\n\nHierdoor hebben we de voordelen verwijderd die aan je account zijn toegevoegd toen je het cadeau inwisselde.\n\n{support_email, select, null {Als je denkt dat dit een fout is, neem dan contact op met de beheerders van deze instantie en vermeld alle details die je hebt over de cadeaucode en wanneer je deze hebt ingewisseld.} other {Als je denkt dat dit een fout is, neem dan contact op met ons supportteam en vermeld alle details die je hebt over de cadeaucode en wanneer je deze hebt ingewisseld.}}\n\n– Het team van {product_name}" }, "harvest_completed": { "subject": "Je {product_name}-data-export is klaar om te downloaden", - "body": "Hallo {username},\n\nJe data-export is klaar.\n\nDownloadlink:\n{downloadUrl}\n\nOpgenomen berichten: {totalMessages, number}\nBestandsgrootte: {fileSizeMB, number} MB\n\nDeze link verloopt op {expiresAt, date, full} om {expiresAt, time, short}.\n\nAls je deze export niet hebt aangevraagd, wijzig dan onmiddellijk je wachtwoord en neem contact op met ons supportteam.\n\n– Het team van {product_name}" + "body": "Hallo {username},\n\nJe data-export is klaar.\n\nDownloadlink:\n{downloadUrl}\n\nOpgenomen berichten: {totalMessages, number}\nBestandsgrootte: {fileSizeMB, number} MB\n\nDeze link verloopt op {expiresAt, date, full} om {expiresAt, time, short}.\n\n{support_email, select, null {Als je deze export niet hebt aangevraagd, wijzig dan onmiddellijk je wachtwoord en neem contact op met de beheerders van deze instantie.} other {Als je deze export niet hebt aangevraagd, wijzig dan onmiddellijk je wachtwoord en neem contact op met ons supportteam.}}\n\n– Het team van {product_name}" }, "inactivity_warning": { "subject": "Je {product_name}-account wordt verwijderd wegens inactiviteit", - "body": "Hallo {username},\n\nWe hebben geen activiteit op je {product_name}-account gezien sinds {lastActiveDate, date, full}.\n\nAls je niet inlogt vóór {deletionDate, date, full} om {deletionDate, time, short}, wordt je account permanent verwijderd wegens inactiviteit.\n\nLog hier in:\n{loginUrl}\n\nAls je {product_name} recentelijk hebt gebruikt, neem dan onmiddellijk contact op met ons supportteam.\n\n– Het team van {product_name}" + "body": "Hallo {username},\n\nWe hebben geen activiteit op je {product_name}-account gezien sinds {lastActiveDate, date, full}.\n\nAls je niet inlogt vóór {deletionDate, date, full} om {deletionDate, time, short}, wordt je account permanent verwijderd wegens inactiviteit.\n\nLog hier in:\n{loginUrl}\n\n{support_email, select, null {Als je {product_name} recentelijk hebt gebruikt, neem dan onmiddellijk contact op met de beheerders van deze instantie.} other {Als je {product_name} recentelijk hebt gebruikt, neem dan onmiddellijk contact op met ons supportteam.}}\n\n– Het team van {product_name}" }, "ip_authorization": { "subject": "Sta inloggen vanaf een nieuw IP-adres toe", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Je melding op {product_name} is beoordeeld", - "body": "Hallo {username},\n\nJe melding (ID: {reportId}) is beoordeeld door ons veiligheidsteam.{hasComment, select, yes {\n\nReactie van het veiligheidsteam:\n{publicComment}} other {}}\n\nBedankt dat je helpt {product_name} veilig te houden voor iedereen. We nemen alle meldingen serieus en waarderen je bijdrage aan de community.\n\nAls je vragen of opmerkingen hebt over deze uitkomst, neem dan contact op met {safety_email}.\n\n– Het veiligheidsteam van {product_name}" + "body": "Hallo {username},\n\nJe melding (ID: {reportId}) is beoordeeld door ons veiligheidsteam.{hasComment, select, yes {\n\nReactie van het veiligheidsteam:\n{publicComment}} other {}}\n\nBedankt dat je helpt {product_name} veilig te houden voor iedereen. We nemen alle meldingen serieus en waarderen je bijdrage aan de community.\n\n{safety_email, select, null {Als je vragen of opmerkingen hebt over deze uitkomst, neem dan contact op met de beheerders van deze instantie.} other {Als je vragen of opmerkingen hebt over deze uitkomst, neem dan contact op met {safety_email}.}}\n\n– Het veiligheidsteam van {product_name}" }, "scheduled_deletion_notification": { "subject": "Je {product_name}-account wordt permanent verwijderd", - "body": "Hallo {username},\n\nJe {product_name}-account staat gepland voor permanente verwijdering.\n\nGeplande verwijdering: {deletionDate, date, full} om {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reden: {reason}}\n}\n\nDit is een ingrijpende handhavingsmaatregel. Je accountgegevens worden permanent verwijderd op de geplande datum.\n\nAls je van mening bent dat deze handhavingsbeslissing onjuist was, kun je bezwaar maken. Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres.\n\n– Het veiligheidsteam van {product_name}" + "body": "Hallo {username},\n\nJe {product_name}-account staat gepland voor permanente verwijdering.\n\nGeplande verwijdering: {deletionDate, date, full} om {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reden: {reason}}\n}\n\nDit is een ingrijpende handhavingsmaatregel. Je accountgegevens worden permanent verwijderd op de geplande datum.\n\nAls je van mening bent dat deze handhavingsbeslissing onjuist was, kun je bezwaar maken. {appeals_email, select, null {Neem contact op met de beheerders van deze instantie.} other {Stuur een e-mail naar {appeals_email} vanaf dit e-mailadres.}}\n\n– Het veiligheidsteam van {product_name}" }, "self_deletion_scheduled": { "subject": "De verwijdering van je {product_name}-account staat gepland", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/no.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/no.json index 59a958563..3149555be 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/no.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/no.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Slettingen av {product_name}-kontoen din er avbrutt", - "body": "Hei {username},\n\nDen planlagte slettingen av {product_name}-kontoen din er avbrutt. Kontoen din blir ikke slettet.\n\nHvis du har spørsmål, kan du kontakte {safety_email}.\n\n– {product_name}-teamet" + "body": "Hei {username},\n\nDen planlagte slettingen av {product_name}-kontoen din er avbrutt. Kontoen din blir ikke slettet.\n\n{safety_email, select, null {Hvis du har spørsmål, kan du kontakte administratorene av denne instansen.} other {Hvis du har spørsmål, kan du kontakte {safety_email}.}}\n\n– {product_name}-teamet" }, "account_deletion_scheduled_inactivity": { "subject": "{product_name}-kontoen din vil bli slettet på grunn av inaktivitet", - "body": "Hei {username},\n\n{product_name}-kontoen din har vært inaktiv lenge, så den er planlagt for permanent sletting:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsak: {reason}}}\n\nHvis du vil beholde kontoen din, kan du kontakte {safety_email} fra denne e-postadressen før denne datoen.\n\n– {product_name}-teamet" + "body": "Hei {username},\n\n{product_name}-kontoen din har vært inaktiv lenge, så den er planlagt for permanent sletting:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsak: {reason}}}\n\n{safety_email, select, null {Hvis du vil beholde kontoen din, kan du kontakte administratorene av denne instansen før denne datoen.} other {Hvis du vil beholde kontoen din, kan du kontakte {safety_email} fra denne e-postadressen før denne datoen.}}\n\n– {product_name}-teamet" }, "account_deletion_scheduled_requested": { "subject": "Slettingen av {product_name}-kontoen din er planlagt", - "body": "Hei {username},\n\nSom du ba om, er {product_name}-kontoen din planlagt for permanent sletting:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsak: {reason}}}\n\nKontoen din er låst frem til da. Hvis du ikke ba om dette, eller hvis du vil beholde kontoen din, kan du kontakte {safety_email} fra denne e-postadressen før denne datoen.\n\n– {product_name}-teamet" + "body": "Hei {username},\n\nSom du ba om, er {product_name}-kontoen din planlagt for permanent sletting:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nÅrsak: {reason}}}\n\nKontoen din er låst frem til da. {safety_email, select, null {Hvis du ikke ba om dette, eller hvis du vil beholde kontoen din, kan du kontakte administratorene av denne instansen før denne datoen.} other {Hvis du ikke ba om dette, eller hvis du vil beholde kontoen din, kan du kontakte {safety_email} fra denne e-postadressen før denne datoen.}}\n\n– {product_name}-teamet" }, "account_scheduled_deletion": { "subject": "{product_name}-kontoen din blir permanent slettet", - "body": "Hei {username},\n\nVi har planlagt permanent sletting av {product_name}-kontoen din på grunn av brudd på våre vilkår for bruk eller retningslinjer for fellesskapet.\n\nPlanlagt sletting: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsak: {reason}}\n}\n\nDette er et alvorlig tiltak. Kontodataene dine blir permanent slettet på den planlagte datoen.\n\nLes gjennom:\n- Vilkår for bruk: {termsUrl}\n- Retningslinjer for fellesskapet: {guidelinesUrl}\n\nKlageprosessen:\nHvis du mener avgjørelsen var feil eller uberettiget, har du 60 dager på deg til å sende inn en klage. Send en e-post til {appeals_email} fra denne e-postadressen.\n\nI klagen din:\n- Forklar tydelig hvorfor du mener avgjørelsen var feil eller uberettiget\n- Legg ved relevante bevis eller opplysninger\n\nEt medlem av sikkerhetsteamet hos {product_name} vil vurdere klagen din og kan utsette slettingen til en endelig avgjørelse er tatt.\n\n– Sikkerhetsteamet hos {product_name}" + "body": "Hei {username},\n\nVi har planlagt permanent sletting av {product_name}-kontoen din på grunn av brudd på våre vilkår for bruk eller retningslinjer for fellesskapet.\n\nPlanlagt sletting: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsak: {reason}}\n}\n\nDette er et alvorlig tiltak. Kontodataene dine blir permanent slettet på den planlagte datoen.\n\n{legalLinks, select,\n both {Les gjennom:\n- Vilkår for bruk: {termsUrl}\n- Retningslinjer for fellesskapet: {guidelinesUrl}\n\n}\n terms {Les gjennom:\n- Vilkår for bruk: {termsUrl}\n\n}\n guidelines {Les gjennom:\n- Retningslinjer for fellesskapet: {guidelinesUrl}\n\n}\n other {}\n}Klageprosessen:\nHvis du mener avgjørelsen var feil eller uberettiget, har du 60 dager på deg til å sende inn en klage. {appeals_email, select, null {Kontakt administratorene av denne instansen.} other {Send en e-post til {appeals_email} fra denne e-postadressen.}}\n\nI klagen din:\n- Forklar tydelig hvorfor du mener avgjørelsen var feil eller uberettiget\n- Legg ved relevante bevis eller opplysninger\n\nEt medlem av sikkerhetsteamet hos {product_name} vil vurdere klagen din og kan utsette slettingen til en endelig avgjørelse er tatt.\n\n– Sikkerhetsteamet hos {product_name}" }, "account_temp_banned": { "subject": "{product_name}-kontoen din er midlertidig suspendert", - "body": "Hei {username},\n\n{product_name}-kontoen din er midlertidig suspendert på grunn av brudd på våre vilkår for bruk eller retningslinjer for fellesskapet.\n\nVarighet: {durationHours, plural,\n =1 {1 time}\n other {# timer}\n}\nSuspendert til: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Årsak: {reason}}\n}\n\nDu har ikke tilgang til kontoen din i denne perioden.\n\nLes gjennom:\n- Vilkår for bruk: {termsUrl}\n- Retningslinjer for fellesskapet: {guidelinesUrl}\n\nHvis du mener avgjørelsen var feil eller uberettiget, kan du sende inn en klage. Send en e-post til {appeals_email} fra denne e-postadressen, og forklar tydelig hvorfor du mener avgjørelsen var feil. Vi vil vurdere klagen din og gi deg beskjed om avgjørelsen vår.\n\n– Sikkerhetsteamet hos {product_name}" + "body": "Hei {username},\n\n{product_name}-kontoen din er midlertidig suspendert på grunn av brudd på våre vilkår for bruk eller retningslinjer for fellesskapet.\n\nVarighet: {durationHours, plural,\n =1 {1 time}\n other {# timer}\n}\nSuspendert til: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Årsak: {reason}}\n}\n\nDu har ikke tilgang til kontoen din i denne perioden.\n\n{legalLinks, select,\n both {Les gjennom:\n- Vilkår for bruk: {termsUrl}\n- Retningslinjer for fellesskapet: {guidelinesUrl}\n\n}\n terms {Les gjennom:\n- Vilkår for bruk: {termsUrl}\n\n}\n guidelines {Les gjennom:\n- Retningslinjer for fellesskapet: {guidelinesUrl}\n\n}\n other {}\n}Hvis du mener avgjørelsen var feil eller uberettiget, kan du sende inn en klage. {appeals_email, select, null {Kontakt administratorene av denne instansen, og forklar tydelig hvorfor du mener avgjørelsen var feil.} other {Send en e-post til {appeals_email} fra denne e-postadressen, og forklar tydelig hvorfor du mener avgjørelsen var feil.}} Vi vil vurdere klagen din og gi deg beskjed om avgjørelsen vår.\n\n– Sikkerhetsteamet hos {product_name}" }, "donation_confirmation": { "subject": "Takk for bidraget ditt til {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Vi har tatt en avgjørelse om {product_name}-rapporten din", - "body": "Hei,\n\nSikkerhetsteamet vårt har gjennomgått rapporten din i henhold til Digital Services Act (ID: {reportId}) og tatt en avgjørelse.{hasComment, select, yes {\n\nSvar fra sikkerhetsteamet:\n{publicComment}} other {}}\n\nVi deler ikke detaljer om tiltak mot en annen persons konto, fordi det er personopplysningene til den personen.\n\nHvis du er uenig i avgjørelsen, kan du klage gratis innen 60 dager. Send en e-post til {appeals_email} fra denne e-postadressen, oppgi rapport-ID-en din, og forklar hvorfor du mener avgjørelsen er feil. Hvis du befinner deg i EU, kan du også bringe tvisten inn for et sertifisert organ for utenrettslig tvisteløsning. Ingenting av dette påvirker retten din til å gå til domstolene.\n\n– Sikkerhetsteamet hos {product_name}" + "body": "Hei,\n\nSikkerhetsteamet vårt har gjennomgått rapporten din i henhold til Digital Services Act (ID: {reportId}) og tatt en avgjørelse.{hasComment, select, yes {\n\nSvar fra sikkerhetsteamet:\n{publicComment}} other {}}\n\nVi deler ikke detaljer om tiltak mot en annen persons konto, fordi det er personopplysningene til den personen.\n\nHvis du er uenig i avgjørelsen, kan du klage gratis innen 60 dager. {appeals_email, select, null {Kontakt administratorene av denne instansen, oppgi rapport-ID-en din, og forklar hvorfor du mener avgjørelsen er feil.} other {Send en e-post til {appeals_email} fra denne e-postadressen, oppgi rapport-ID-en din, og forklar hvorfor du mener avgjørelsen er feil.}} Hvis du befinner deg i EU, kan du også bringe tvisten inn for et sertifisert organ for utenrettslig tvisteløsning. Ingenting av dette påvirker retten din til å gå til domstolene.\n\n– Sikkerhetsteamet hos {product_name}" }, "dsa_report_verification": { "subject": "Bekreft e-postadressen din for en DSA-rapport", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Fordelene fra gaven du løste inn, er fjernet", - "body": "Hei {username},\n\nDu løste inn en gavekode som opprinnelig var betalt av noen andre. Betalingen har senere blitt tilbakeført.\n\nDerfor har vi fjernet fordelene som ble lagt til kontoen din da du løste inn gaven.\n\nHvis du mener dette er en feil, kan du kontakte kundestøtten vår. Ta med opplysningene du har om gavekoden og når du løste den inn.\n\n– {product_name}-teamet" + "body": "Hei {username},\n\nDu løste inn en gavekode som opprinnelig var betalt av noen andre. Betalingen har senere blitt tilbakeført.\n\nDerfor har vi fjernet fordelene som ble lagt til kontoen din da du løste inn gaven.\n\n{support_email, select, null {Hvis du mener dette er en feil, kan du kontakte administratorene av denne instansen. Ta med opplysningene du har om gavekoden og når du løste den inn.} other {Hvis du mener dette er en feil, kan du kontakte kundestøtten vår. Ta med opplysningene du har om gavekoden og når du løste den inn.}}\n\n– {product_name}-teamet" }, "harvest_completed": { "subject": "{product_name}-dataeksporten din er klar til nedlasting", - "body": "Hei {username},\n\nDataeksporten din er klar.\n\nNedlastingslenke:\n{downloadUrl}\n\nAntall meldinger: {totalMessages, number}\nFilstørrelse: {fileSizeMB, number} MB\n\nDenne lenken utløper {expiresAt, date, full} kl. {expiresAt, time, short}.\n\nHvis du ikke ba om denne eksporten, må du endre passordet ditt umiddelbart og kontakte kundestøtten vår.\n\n– {product_name}-teamet" + "body": "Hei {username},\n\nDataeksporten din er klar.\n\nNedlastingslenke:\n{downloadUrl}\n\nAntall meldinger: {totalMessages, number}\nFilstørrelse: {fileSizeMB, number} MB\n\nDenne lenken utløper {expiresAt, date, full} kl. {expiresAt, time, short}.\n\n{support_email, select, null {Hvis du ikke ba om denne eksporten, må du endre passordet ditt umiddelbart og kontakte administratorene av denne instansen.} other {Hvis du ikke ba om denne eksporten, må du endre passordet ditt umiddelbart og kontakte kundestøtten vår.}}\n\n– {product_name}-teamet" }, "inactivity_warning": { "subject": "{product_name}-kontoen din vil bli slettet på grunn av inaktivitet", - "body": "Hei {username},\n\nVi har ikke sett noen aktivitet på {product_name}-kontoen din siden {lastActiveDate, date, full}.\n\nHvis du ikke logger inn innen {deletionDate, date, full} kl. {deletionDate, time, short}, blir kontoen din permanent slettet på grunn av inaktivitet.\n\nLogg inn her:\n{loginUrl}\n\nHvis du har brukt {product_name} nylig, må du kontakte kundestøtten vår med en gang.\n\n– {product_name}-teamet" + "body": "Hei {username},\n\nVi har ikke sett noen aktivitet på {product_name}-kontoen din siden {lastActiveDate, date, full}.\n\nHvis du ikke logger inn innen {deletionDate, date, full} kl. {deletionDate, time, short}, blir kontoen din permanent slettet på grunn av inaktivitet.\n\nLogg inn her:\n{loginUrl}\n\n{support_email, select, null {Hvis du har brukt {product_name} nylig, må du kontakte administratorene av denne instansen med en gang.} other {Hvis du har brukt {product_name} nylig, må du kontakte kundestøtten vår med en gang.}}\n\n– {product_name}-teamet" }, "ip_authorization": { "subject": "Godkjenn pålogging fra en ny IP-adresse", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "{product_name}-rapporten din er gjennomgått", - "body": "Hei {username},\n\nRapporten din (ID: {reportId}) er gjennomgått av sikkerhetsteamet vårt.{hasComment, select, yes {\n\nSvar fra sikkerhetsteamet:\n{publicComment}} other {}}\n\nTakk for at du bidrar til å holde {product_name} trygt for alle. Vi tar alle rapporter på alvor og setter pris på bidraget ditt til fellesskapet.\n\nHvis du har spørsmål eller er bekymret for utfallet, kan du kontakte {safety_email}.\n\n– Sikkerhetsteamet hos {product_name}" + "body": "Hei {username},\n\nRapporten din (ID: {reportId}) er gjennomgått av sikkerhetsteamet vårt.{hasComment, select, yes {\n\nSvar fra sikkerhetsteamet:\n{publicComment}} other {}}\n\nTakk for at du bidrar til å holde {product_name} trygt for alle. Vi tar alle rapporter på alvor og setter pris på bidraget ditt til fellesskapet.\n\n{safety_email, select, null {Hvis du har spørsmål eller er bekymret for utfallet, kan du kontakte administratorene av denne instansen.} other {Hvis du har spørsmål eller er bekymret for utfallet, kan du kontakte {safety_email}.}}\n\n– Sikkerhetsteamet hos {product_name}" }, "scheduled_deletion_notification": { "subject": "{product_name}-kontoen din blir permanent slettet", - "body": "Hei {username},\n\n{product_name}-kontoen din er planlagt for permanent sletting.\n\nPlanlagt sletting: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsak: {reason}}\n}\n\nDette er et alvorlig tiltak. Kontodataene dine blir permanent slettet på den planlagte datoen.\n\nHvis du mener avgjørelsen var feil, kan du sende inn en klage. Send en e-post til {appeals_email} fra denne e-postadressen.\n\n– Sikkerhetsteamet hos {product_name}" + "body": "Hei {username},\n\n{product_name}-kontoen din er planlagt for permanent sletting.\n\nPlanlagt sletting: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Årsak: {reason}}\n}\n\nDette er et alvorlig tiltak. Kontodataene dine blir permanent slettet på den planlagte datoen.\n\nHvis du mener avgjørelsen var feil, kan du sende inn en klage. {appeals_email, select, null {Kontakt administratorene av denne instansen.} other {Send en e-post til {appeals_email} fra denne e-postadressen.}}\n\n– Sikkerhetsteamet hos {product_name}" }, "self_deletion_scheduled": { "subject": "Slettingen av {product_name}-kontoen din er planlagt", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/pl.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/pl.json index 4a78c7b1b..509220880 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/pl.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/pl.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Usunięcie Twojego konta {product_name} zostało anulowane", - "body": "Witaj {username},\n\nZaplanowane usunięcie Twojego konta {product_name} zostało anulowane. Twoje konto nie zostanie usunięte.\n\nJeśli masz pytania, skontaktuj się z {safety_email}.\n\n– Zespół {product_name}" + "body": "Witaj {username},\n\nZaplanowane usunięcie Twojego konta {product_name} zostało anulowane. Twoje konto nie zostanie usunięte.\n\n{safety_email, select, null {Jeśli masz pytania, skontaktuj się z administratorami tej instancji.} other {Jeśli masz pytania, skontaktuj się z {safety_email}.}}\n\n– Zespół {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Twoje konto {product_name} zostanie usunięte z powodu braku aktywności", - "body": "Witaj {username},\n\nTwoje konto {product_name} od dawna jest nieaktywne, dlatego zostało zaplanowane do trwałego usunięcia. Termin usunięcia:\n\n{deletionDate, date, full} o {deletionDate, time, short}{reason, select, null {} other {\n\nPowód: {reason}}}\n\nJeśli chcesz zachować konto, skontaktuj się z {safety_email} z tego adresu e-mail przed tym terminem.\n\n– Zespół {product_name}" + "body": "Witaj {username},\n\nTwoje konto {product_name} od dawna jest nieaktywne, dlatego zostało zaplanowane do trwałego usunięcia. Termin usunięcia:\n\n{deletionDate, date, full} o {deletionDate, time, short}{reason, select, null {} other {\n\nPowód: {reason}}}\n\n{safety_email, select, null {Jeśli chcesz zachować konto, skontaktuj się z administratorami tej instancji przed tym terminem.} other {Jeśli chcesz zachować konto, skontaktuj się z {safety_email} z tego adresu e-mail przed tym terminem.}}\n\n– Zespół {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Usunięcie Twojego konta {product_name} zostało zaplanowane", - "body": "Witaj {username},\n\nZgodnie z Twoją prośbą zaplanowaliśmy trwałe usunięcie konta {product_name}. Termin usunięcia:\n\n{deletionDate, date, full} o {deletionDate, time, short}{reason, select, null {} other {\n\nPowód: {reason}}}\n\nDo tego czasu Twoje konto jest zablokowane. Jeśli nie prosiłeś o to lub chcesz zachować konto, skontaktuj się z {safety_email} z tego adresu e-mail przed tym terminem.\n\n– Zespół {product_name}" + "body": "Witaj {username},\n\nZgodnie z Twoją prośbą zaplanowaliśmy trwałe usunięcie konta {product_name}. Termin usunięcia:\n\n{deletionDate, date, full} o {deletionDate, time, short}{reason, select, null {} other {\n\nPowód: {reason}}}\n\nDo tego czasu Twoje konto jest zablokowane. {safety_email, select, null {Jeśli nie prosiłeś o to lub chcesz zachować konto, skontaktuj się z administratorami tej instancji przed tym terminem.} other {Jeśli nie prosiłeś o to lub chcesz zachować konto, skontaktuj się z {safety_email} z tego adresu e-mail przed tym terminem.}}\n\n– Zespół {product_name}" }, "account_scheduled_deletion": { "subject": "Twoje konto {product_name} zostanie trwale usunięte", - "body": "Witaj {username},\n\nZaplanowaliśmy trwałe usunięcie Twojego konta {product_name} z powodu naruszenia naszych warunków korzystania z usługi lub zasad społeczności.\n\nZaplanowane usunięcie: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Powód: {reason}}\n}\n\nJest to poważna sankcja. Dane Twojego konta zostaną usunięte na stałe w zaplanowanym terminie.\n\nSprawdź:\n- Warunki korzystania z usługi: {termsUrl}\n- Zasady społeczności: {guidelinesUrl}\n\nProces odwoławczy:\nJeśli uważasz, że ta decyzja była błędna lub nieuzasadniona, masz 60 dni na złożenie odwołania. Wyślij e-mail na adres {appeals_email} z tego adresu e-mail.\n\nW swoim odwołaniu:\n- Wyjaśnij jasno, dlaczego uważasz, że decyzja była błędna lub nieuzasadniona\n- Przedstaw wszelkie istotne dowody lub kontekst\n\nCzłonek zespołu ds. bezpieczeństwa {product_name} rozpatrzy Twoje odwołanie i może wstrzymać usunięcie do czasu podjęcia ostatecznej decyzji.\n\n– Zespół ds. bezpieczeństwa {product_name}" + "body": "Witaj {username},\n\nZaplanowaliśmy trwałe usunięcie Twojego konta {product_name} z powodu naruszenia naszych warunków korzystania z usługi lub zasad społeczności.\n\nZaplanowane usunięcie: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Powód: {reason}}\n}\n\nJest to poważna sankcja. Dane Twojego konta zostaną usunięte na stałe w zaplanowanym terminie.\n\n{legalLinks, select,\n both {Sprawdź:\n- Warunki korzystania z usługi: {termsUrl}\n- Zasady społeczności: {guidelinesUrl}\n\n}\n terms {Sprawdź:\n- Warunki korzystania z usługi: {termsUrl}\n\n}\n guidelines {Sprawdź:\n- Zasady społeczności: {guidelinesUrl}\n\n}\n other {}\n}Proces odwoławczy:\nJeśli uważasz, że ta decyzja była błędna lub nieuzasadniona, masz 60 dni na złożenie odwołania. {appeals_email, select, null {Skontaktuj się z administratorami tej instancji.} other {Wyślij e-mail na adres {appeals_email} z tego adresu e-mail.}}\n\nW swoim odwołaniu:\n- Wyjaśnij jasno, dlaczego uważasz, że decyzja była błędna lub nieuzasadniona\n- Przedstaw wszelkie istotne dowody lub kontekst\n\nCzłonek zespołu ds. bezpieczeństwa {product_name} rozpatrzy Twoje odwołanie i może wstrzymać usunięcie do czasu podjęcia ostatecznej decyzji.\n\n– Zespół ds. bezpieczeństwa {product_name}" }, "account_temp_banned": { "subject": "Twoje konto {product_name} zostało tymczasowo zawieszone", - "body": "Witaj {username},\n\nTwoje konto {product_name} zostało tymczasowo zawieszone za naruszenie naszych warunków korzystania z usługi lub zasad społeczności.\n\nCzas trwania: {durationHours, plural,\n one {1 godzina} few {# godziny}\n many {# godzin} other {# godziny}\n}\nZawieszone do: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Powód: {reason}}\n}\n\nW tym czasie nie będziesz mieć dostępu do swojego konta.\n\nSprawdź:\n- Warunki korzystania z usługi: {termsUrl}\n- Zasady społeczności: {guidelinesUrl}\n\nJeśli uważasz, że ta decyzja była błędna lub nieuzasadniona, możesz złożyć odwołanie. Wyślij e-mail na adres {appeals_email} z tego adresu e-mail i jasno wyjaśnij, dlaczego uważasz, że decyzja była błędna. Rozpatrzymy Twoje odwołanie i poinformujemy Cię o naszej decyzji.\n\n– Zespół ds. bezpieczeństwa {product_name}" + "body": "Witaj {username},\n\nTwoje konto {product_name} zostało tymczasowo zawieszone za naruszenie naszych warunków korzystania z usługi lub zasad społeczności.\n\nCzas trwania: {durationHours, plural,\n one {1 godzina} few {# godziny}\n many {# godzin} other {# godziny}\n}\nZawieszone do: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Powód: {reason}}\n}\n\nW tym czasie nie będziesz mieć dostępu do swojego konta.\n\n{legalLinks, select,\n both {Sprawdź:\n- Warunki korzystania z usługi: {termsUrl}\n- Zasady społeczności: {guidelinesUrl}\n\n}\n terms {Sprawdź:\n- Warunki korzystania z usługi: {termsUrl}\n\n}\n guidelines {Sprawdź:\n- Zasady społeczności: {guidelinesUrl}\n\n}\n other {}\n}Jeśli uważasz, że ta decyzja była błędna lub nieuzasadniona, możesz złożyć odwołanie. {appeals_email, select, null {Skontaktuj się z administratorami tej instancji i jasno wyjaśnij, dlaczego uważasz, że decyzja była błędna.} other {Wyślij e-mail na adres {appeals_email} z tego adresu e-mail i jasno wyjaśnij, dlaczego uważasz, że decyzja była błędna.}} Rozpatrzymy Twoje odwołanie i poinformujemy Cię o naszej decyzji.\n\n– Zespół ds. bezpieczeństwa {product_name}" }, "donation_confirmation": { "subject": "Dziękujemy za darowiznę dla {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Podjęliśmy decyzję w sprawie Twojego zgłoszenia w {product_name}", - "body": "Witaj,\n\nNasz zespół ds. bezpieczeństwa rozpatrzył Twoje zgłoszenie w ramach aktu o usługach cyfrowych (ID: {reportId}) i podjął decyzję.{hasComment, select, yes {\n\nOdpowiedź od zespołu ds. bezpieczeństwa:\n{publicComment}} other {}}\n\nNie udostępniamy szczegółów działań podjętych wobec konta innej osoby, ponieważ są to jej dane osobowe.\n\nJeśli nie zgadzasz się z tą decyzją, możesz bezpłatnie złożyć odwołanie w ciągu 60 dni. Wyślij e-mail na adres {appeals_email} z tego adresu e-mail, podaj ID zgłoszenia i wyjaśnij, dlaczego uważasz, że decyzja jest błędna. Jeśli przebywasz w UE, możesz też skierować spór do certyfikowanego organu pozasądowego rozstrzygania sporów. Nic z tego nie wpływa na Twoje prawo do skierowania sprawy do sądu.\n\n– Zespół ds. bezpieczeństwa {product_name}" + "body": "Witaj,\n\nNasz zespół ds. bezpieczeństwa rozpatrzył Twoje zgłoszenie w ramach aktu o usługach cyfrowych (ID: {reportId}) i podjął decyzję.{hasComment, select, yes {\n\nOdpowiedź od zespołu ds. bezpieczeństwa:\n{publicComment}} other {}}\n\nNie udostępniamy szczegółów działań podjętych wobec konta innej osoby, ponieważ są to jej dane osobowe.\n\nJeśli nie zgadzasz się z tą decyzją, możesz bezpłatnie złożyć odwołanie w ciągu 60 dni. {appeals_email, select, null {Skontaktuj się z administratorami tej instancji, podaj ID zgłoszenia i wyjaśnij, dlaczego uważasz, że decyzja jest błędna.} other {Wyślij e-mail na adres {appeals_email} z tego adresu e-mail, podaj ID zgłoszenia i wyjaśnij, dlaczego uważasz, że decyzja jest błędna.}} Jeśli przebywasz w UE, możesz też skierować spór do certyfikowanego organu pozasądowego rozstrzygania sporów. Nic z tego nie wpływa na Twoje prawo do skierowania sprawy do sądu.\n\n– Zespół ds. bezpieczeństwa {product_name}" }, "dsa_report_verification": { "subject": "Zweryfikuj adres e-mail na potrzeby zgłoszenia DSA", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Usunięto bonusy z wykorzystanego prezentu", - "body": "Witaj {username},\n\nKod podarunkowy wykorzystany na Twoim koncie został pierwotnie opłacony przez inną osobę. Płatność ta została następnie cofnięta (chargeback).\n\nZ tego powodu usunęliśmy bonusy, które zostały dodane do Twojego konta po wykorzystaniu prezentu.\n\nJeśli uważasz, że to pomyłka, skontaktuj się z naszym zespołem wsparcia i podaj wszelkie szczegóły dotyczące kodu podarunkowego oraz daty jego wykorzystania.\n\n– Zespół {product_name}" + "body": "Witaj {username},\n\nKod podarunkowy wykorzystany na Twoim koncie został pierwotnie opłacony przez inną osobę. Płatność ta została następnie cofnięta (chargeback).\n\nZ tego powodu usunęliśmy bonusy, które zostały dodane do Twojego konta po wykorzystaniu prezentu.\n\n{support_email, select, null {Jeśli uważasz, że to pomyłka, skontaktuj się z administratorami tej instancji i podaj wszelkie szczegóły dotyczące kodu podarunkowego oraz daty jego wykorzystania.} other {Jeśli uważasz, że to pomyłka, skontaktuj się z naszym zespołem wsparcia i podaj wszelkie szczegóły dotyczące kodu podarunkowego oraz daty jego wykorzystania.}}\n\n– Zespół {product_name}" }, "harvest_completed": { "subject": "Twój eksport danych z {product_name} jest gotowy do pobrania", - "body": "Witaj {username},\n\nTwój eksport danych jest gotowy.\n\nLink do pobrania:\n{downloadUrl}\n\nLiczba uwzględnionych wiadomości: {totalMessages, number}\nRozmiar pliku: {fileSizeMB, number} MB\n\nTen link wygasa {expiresAt, date, full} o {expiresAt, time, short}.\n\nJeśli nie prosiłeś o ten eksport, natychmiast zmień hasło i skontaktuj się z naszym zespołem wsparcia.\n\n– Zespół {product_name}" + "body": "Witaj {username},\n\nTwój eksport danych jest gotowy.\n\nLink do pobrania:\n{downloadUrl}\n\nLiczba uwzględnionych wiadomości: {totalMessages, number}\nRozmiar pliku: {fileSizeMB, number} MB\n\nTen link wygasa {expiresAt, date, full} o {expiresAt, time, short}.\n\n{support_email, select, null {Jeśli nie prosiłeś o ten eksport, natychmiast zmień hasło i skontaktuj się z administratorami tej instancji.} other {Jeśli nie prosiłeś o ten eksport, natychmiast zmień hasło i skontaktuj się z naszym zespołem wsparcia.}}\n\n– Zespół {product_name}" }, "inactivity_warning": { "subject": "Twoje konto {product_name} zostanie usunięte z powodu braku aktywności", - "body": "Witaj {username},\n\nNie odnotowaliśmy żadnej aktywności na Twoim koncie {product_name} od {lastActiveDate, date, full}.\n\nJeśli nie zalogujesz się do {deletionDate, date, full} o {deletionDate, time, short}, Twoje konto zostanie usunięte na stałe z powodu nieaktywności.\n\nZaloguj się tutaj:\n{loginUrl}\n\nJeśli ostatnio korzystałeś z {product_name}, natychmiast skontaktuj się z naszym zespołem wsparcia.\n\n– Zespół {product_name}" + "body": "Witaj {username},\n\nNie odnotowaliśmy żadnej aktywności na Twoim koncie {product_name} od {lastActiveDate, date, full}.\n\nJeśli nie zalogujesz się do {deletionDate, date, full} o {deletionDate, time, short}, Twoje konto zostanie usunięte na stałe z powodu nieaktywności.\n\nZaloguj się tutaj:\n{loginUrl}\n\n{support_email, select, null {Jeśli ostatnio korzystałeś z {product_name}, natychmiast skontaktuj się z administratorami tej instancji.} other {Jeśli ostatnio korzystałeś z {product_name}, natychmiast skontaktuj się z naszym zespołem wsparcia.}}\n\n– Zespół {product_name}" }, "ip_authorization": { "subject": "Autoryzuj logowanie z nowego adresu IP", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Twoje zgłoszenie w {product_name} zostało rozpatrzone", - "body": "Witaj {username},\n\nTwoje zgłoszenie (ID: {reportId}) zostało rozpatrzone przez nasz zespół ds. bezpieczeństwa.{hasComment, select, yes {\n\nOdpowiedź od zespołu ds. bezpieczeństwa:\n{publicComment}} other {}}\n\nDziękujemy za pomoc w utrzymaniu bezpieczeństwa {product_name} dla wszystkich. Traktujemy wszystkie zgłoszenia poważnie i doceniamy Twój wkład w społeczność.\n\nJeśli masz pytania lub wątpliwości dotyczące tej decyzji, skontaktuj się z {safety_email}.\n\n– Zespół ds. bezpieczeństwa {product_name}" + "body": "Witaj {username},\n\nTwoje zgłoszenie (ID: {reportId}) zostało rozpatrzone przez nasz zespół ds. bezpieczeństwa.{hasComment, select, yes {\n\nOdpowiedź od zespołu ds. bezpieczeństwa:\n{publicComment}} other {}}\n\nDziękujemy za pomoc w utrzymaniu bezpieczeństwa {product_name} dla wszystkich. Traktujemy wszystkie zgłoszenia poważnie i doceniamy Twój wkład w społeczność.\n\n{safety_email, select, null {Jeśli masz pytania lub wątpliwości dotyczące tej decyzji, skontaktuj się z administratorami tej instancji.} other {Jeśli masz pytania lub wątpliwości dotyczące tej decyzji, skontaktuj się z {safety_email}.}}\n\n– Zespół ds. bezpieczeństwa {product_name}" }, "scheduled_deletion_notification": { "subject": "Twoje konto {product_name} zostanie trwale usunięte", - "body": "Witaj {username},\n\nZaplanowaliśmy trwałe usunięcie Twojego konta {product_name}.\n\nZaplanowane usunięcie: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Powód: {reason}}\n}\n\nJest to poważna sankcja. Dane Twojego konta zostaną usunięte na stałe w zaplanowanym terminie.\n\nJeśli uważasz, że ta decyzja była błędna, możesz złożyć odwołanie. Wyślij e-mail na adres {appeals_email} z tego adresu e-mail.\n\n– Zespół ds. bezpieczeństwa {product_name}" + "body": "Witaj {username},\n\nZaplanowaliśmy trwałe usunięcie Twojego konta {product_name}.\n\nZaplanowane usunięcie: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Powód: {reason}}\n}\n\nJest to poważna sankcja. Dane Twojego konta zostaną usunięte na stałe w zaplanowanym terminie.\n\nJeśli uważasz, że ta decyzja była błędna, możesz złożyć odwołanie. {appeals_email, select, null {Skontaktuj się z administratorami tej instancji.} other {Wyślij e-mail na adres {appeals_email} z tego adresu e-mail.}}\n\n– Zespół ds. bezpieczeństwa {product_name}" }, "self_deletion_scheduled": { "subject": "Usunięcie Twojego konta {product_name} zostało zaplanowane", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/pt-BR.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/pt-BR.json index b9355d18d..c8f081cbe 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/pt-BR.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/pt-BR.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "A exclusão da sua conta do {product_name} foi cancelada", - "body": "Olá, {username},\n\nA exclusão agendada da sua conta do {product_name} foi cancelada. Sua conta não será excluída.\n\nSe tiver alguma dúvida, entre em contato com {safety_email}.\n\n– Equipe do {product_name}" + "body": "Olá, {username},\n\nA exclusão agendada da sua conta do {product_name} foi cancelada. Sua conta não será excluída.\n\n{safety_email, select, null {Se tiver alguma dúvida, entre em contato com os administradores desta instância.} other {Se tiver alguma dúvida, entre em contato com {safety_email}.}}\n\n– Equipe do {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "A sua conta do {product_name} será excluída devido à inatividade", - "body": "Olá, {username},\n\nSua conta do {product_name} está inativa há muito tempo, por isso está agendada para exclusão permanente em:\n\n{deletionDate, date, full} às {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nSe quiser manter sua conta, entre em contato com {safety_email} usando este endereço de e-mail antes dessa data.\n\n– Equipe do {product_name}" + "body": "Olá, {username},\n\nSua conta do {product_name} está inativa há muito tempo, por isso está agendada para exclusão permanente em:\n\n{deletionDate, date, full} às {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\n{safety_email, select, null {Se quiser manter sua conta, entre em contato com os administradores desta instância antes dessa data.} other {Se quiser manter sua conta, entre em contato com {safety_email} usando este endereço de e-mail antes dessa data.}}\n\n– Equipe do {product_name}" }, "account_deletion_scheduled_requested": { "subject": "A exclusão da sua conta do {product_name} está agendada", - "body": "Olá, {username},\n\nConforme solicitado, sua conta do {product_name} está agendada para exclusão permanente em:\n\n{deletionDate, date, full} às {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nSua conta permanecerá bloqueada até lá. Se você não solicitou isso, ou se quiser manter sua conta, entre em contato com {safety_email} usando este endereço de e-mail antes dessa data.\n\n– Equipe do {product_name}" + "body": "Olá, {username},\n\nConforme solicitado, sua conta do {product_name} está agendada para exclusão permanente em:\n\n{deletionDate, date, full} às {deletionDate, time, short}{reason, select, null {} other {\n\nMotivo: {reason}}}\n\nSua conta permanecerá bloqueada até lá. {safety_email, select, null {Se você não solicitou isso, ou se quiser manter sua conta, entre em contato com os administradores desta instância antes dessa data.} other {Se você não solicitou isso, ou se quiser manter sua conta, entre em contato com {safety_email} usando este endereço de e-mail antes dessa data.}}\n\n– Equipe do {product_name}" }, "account_scheduled_deletion": { "subject": "Sua conta do {product_name} será excluída permanentemente", - "body": "Olá, {username},\n\nA exclusão permanente da sua conta do {product_name} foi agendada devido a violações de nossos Termos de serviço ou Diretrizes da comunidade.\n\nExclusão agendada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta é uma medida séria. Os dados da sua conta serão excluídos permanentemente na data agendada.\n\nPor favor, revise:\n- Termos de serviço: {termsUrl}\n- Diretrizes da comunidade: {guidelinesUrl}\n\nProcesso de recurso:\nSe você acredita que esta decisão foi incorreta ou injustificada, você tem 60 dias para enviar um recurso. Envie um e-mail para {appeals_email} a partir deste endereço de e-mail.\n\nEm seu recurso:\n- Explique claramente por que você acredita que a decisão foi incorreta ou injustificada\n- Forneça quaisquer evidências ou contexto relevantes\n\nUm membro da equipe de segurança do {product_name} revisará seu recurso e poderá pausar a exclusão pendente até que uma decisão final seja tomada.\n\n– equipe de segurança do {product_name}" + "body": "Olá, {username},\n\nA exclusão permanente da sua conta do {product_name} foi agendada devido a violações de nossos Termos de serviço ou Diretrizes da comunidade.\n\nExclusão agendada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta é uma medida séria. Os dados da sua conta serão excluídos permanentemente na data agendada.\n\n{legalLinks, select,\n both {Por favor, revise:\n- Termos de serviço: {termsUrl}\n- Diretrizes da comunidade: {guidelinesUrl}\n\n}\n terms {Por favor, revise:\n- Termos de serviço: {termsUrl}\n\n}\n guidelines {Por favor, revise:\n- Diretrizes da comunidade: {guidelinesUrl}\n\n}\n other {}\n}Processo de recurso:\nSe você acredita que esta decisão foi incorreta ou injustificada, você tem 60 dias para enviar um recurso. {appeals_email, select, null {Entre em contato com os administradores desta instância.} other {Envie um e-mail para {appeals_email} a partir deste endereço de e-mail.}}\n\nEm seu recurso:\n- Explique claramente por que você acredita que a decisão foi incorreta ou injustificada\n- Forneça quaisquer evidências ou contexto relevantes\n\nUm membro da equipe de segurança do {product_name} revisará seu recurso e poderá pausar a exclusão pendente até que uma decisão final seja tomada.\n\n– equipe de segurança do {product_name}" }, "account_temp_banned": { "subject": "Sua conta do {product_name} foi suspensa temporariamente", - "body": "Olá, {username},\n\nSua conta do {product_name} foi suspensa temporariamente por violar nossos Termos de serviço ou Diretrizes da comunidade.\n\nDuração: {durationHours, plural,\n =1 {1 hora} other {# horas}}\nSuspensa até: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {} other {Motivo: {reason}}}\n\nDurante este período, você não poderá acessar sua conta.\n\nPor favor, revise:\n- Termos de serviço: {termsUrl}\n- Diretrizes da comunidade: {guidelinesUrl}\n\nSe você acredita que esta decisão foi incorreta ou injustificada, você pode enviar um recurso. Envie um e-mail para {appeals_email} a partir deste endereço de e-mail e explique claramente por que você acredita que a decisão foi incorreta. Revisaremos seu recurso e responderemos com nossa decisão.\n\n– equipe de segurança do {product_name}" + "body": "Olá, {username},\n\nSua conta do {product_name} foi suspensa temporariamente por violar nossos Termos de serviço ou Diretrizes da comunidade.\n\nDuração: {durationHours, plural,\n =1 {1 hora} other {# horas}}\nSuspensa até: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {} other {Motivo: {reason}}}\n\nDurante este período, você não poderá acessar sua conta.\n\n{legalLinks, select,\n both {Por favor, revise:\n- Termos de serviço: {termsUrl}\n- Diretrizes da comunidade: {guidelinesUrl}\n\n}\n terms {Por favor, revise:\n- Termos de serviço: {termsUrl}\n\n}\n guidelines {Por favor, revise:\n- Diretrizes da comunidade: {guidelinesUrl}\n\n}\n other {}\n}Se você acredita que esta decisão foi incorreta ou injustificada, você pode enviar um recurso. {appeals_email, select, null {Entre em contato com os administradores desta instância e explique claramente por que você acredita que a decisão foi incorreta.} other {Envie um e-mail para {appeals_email} a partir deste endereço de e-mail e explique claramente por que você acredita que a decisão foi incorreta.}} Revisaremos seu recurso e responderemos com nossa decisão.\n\n– equipe de segurança do {product_name}" }, "donation_confirmation": { "subject": "Agradecemos pela sua doação ao {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Tomamos uma decisão sobre sua denúncia no {product_name}", - "body": "Olá,\n\nNossa equipe de segurança analisou sua denúncia nos termos da Lei dos Serviços Digitais (ID: {reportId}) e tomou uma decisão.{hasComment, select, yes {\n\nResposta da equipe de segurança:\n{publicComment}} other {}}\n\nNão compartilhamos detalhes de medidas tomadas contra a conta de outra pessoa, pois são dados pessoais dela.\n\nSe você não concordar com esta decisão, pode enviar um recurso gratuitamente em até 60 dias. Envie um e-mail para {appeals_email} a partir deste endereço de e-mail, inclua o ID da sua denúncia e explique por que você acredita que a decisão está incorreta. Se você estiver na UE, também pode encaminhar a disputa a um órgão certificado de resolução extrajudicial de litígios. Nada disso afeta seu direito de recorrer à Justiça.\n\n– equipe de segurança do {product_name}" + "body": "Olá,\n\nNossa equipe de segurança analisou sua denúncia nos termos da Lei dos Serviços Digitais (ID: {reportId}) e tomou uma decisão.{hasComment, select, yes {\n\nResposta da equipe de segurança:\n{publicComment}} other {}}\n\nNão compartilhamos detalhes de medidas tomadas contra a conta de outra pessoa, pois são dados pessoais dela.\n\nSe você não concordar com esta decisão, pode enviar um recurso gratuitamente em até 60 dias. {appeals_email, select, null {Entre em contato com os administradores desta instância, inclua o ID da sua denúncia e explique por que você acredita que a decisão está incorreta.} other {Envie um e-mail para {appeals_email} a partir deste endereço de e-mail, inclua o ID da sua denúncia e explique por que você acredita que a decisão está incorreta.}} Se você estiver na UE, também pode encaminhar a disputa a um órgão certificado de resolução extrajudicial de litígios. Nada disso afeta seu direito de recorrer à Justiça.\n\n– equipe de segurança do {product_name}" }, "dsa_report_verification": { "subject": "Verifique seu e-mail para enviar uma denúncia nos termos do DSA", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Os benefícios do presente que você resgatou foram removidos", - "body": "Olá, {username},\n\nUm código de presente que você resgatou foi originalmente pago por outra pessoa. Esse pagamento foi revertido (um estorno).\n\nPor causa disso, removemos os benefícios que foram adicionados à sua conta quando você resgatou o presente.\n\nSe você acha que isso é um erro, entre em contato com nossa equipe de suporte e inclua quaisquer detalhes que você tenha sobre o código do presente e quando você o resgatou.\n\n– Equipe do {product_name}" + "body": "Olá, {username},\n\nUm código de presente que você resgatou foi originalmente pago por outra pessoa. Esse pagamento foi revertido (um estorno).\n\nPor causa disso, removemos os benefícios que foram adicionados à sua conta quando você resgatou o presente.\n\n{support_email, select, null {Se você acha que isso é um erro, entre em contato com os administradores desta instância e inclua quaisquer detalhes que você tenha sobre o código do presente e quando você o resgatou.} other {Se você acha que isso é um erro, entre em contato com nossa equipe de suporte e inclua quaisquer detalhes que você tenha sobre o código do presente e quando você o resgatou.}}\n\n– Equipe do {product_name}" }, "harvest_completed": { "subject": "Sua exportação de dados do {product_name} está pronta para download", - "body": "Olá, {username},\n\nSua exportação de dados está pronta.\n\nLink para download:\n{downloadUrl}\n\nMensagens incluídas: {totalMessages, number}\nTamanho do arquivo: {fileSizeMB, number} MB\n\nEste link expira em {expiresAt, date, full} às {expiresAt, time, short}.\n\nSe você não solicitou esta exportação, por favor, altere sua senha imediatamente e entre em contato com nossa equipe de suporte.\n\n– Equipe do {product_name}" + "body": "Olá, {username},\n\nSua exportação de dados está pronta.\n\nLink para download:\n{downloadUrl}\n\nMensagens incluídas: {totalMessages, number}\nTamanho do arquivo: {fileSizeMB, number} MB\n\nEste link expira em {expiresAt, date, full} às {expiresAt, time, short}.\n\n{support_email, select, null {Se você não solicitou esta exportação, por favor, altere sua senha imediatamente e entre em contato com os administradores desta instância.} other {Se você não solicitou esta exportação, por favor, altere sua senha imediatamente e entre em contato com nossa equipe de suporte.}}\n\n– Equipe do {product_name}" }, "inactivity_warning": { "subject": "A sua conta do {product_name} será excluída devido à inatividade", - "body": "Olá, {username},\n\nNão vimos nenhuma atividade em sua conta do {product_name} desde {lastActiveDate, date, full}.\n\nSe você não entrar até {deletionDate, date, full} às {deletionDate, time, short}, sua conta será excluída permanentemente devido à inatividade.\n\nEntre aqui:\n{loginUrl}\n\nSe você usou o {product_name} recentemente, entre em contato com nossa equipe de suporte imediatamente.\n\n– Equipe do {product_name}" + "body": "Olá, {username},\n\nNão vimos nenhuma atividade em sua conta do {product_name} desde {lastActiveDate, date, full}.\n\nSe você não entrar até {deletionDate, date, full} às {deletionDate, time, short}, sua conta será excluída permanentemente devido à inatividade.\n\nEntre aqui:\n{loginUrl}\n\n{support_email, select, null {Se você usou o {product_name} recentemente, entre em contato com os administradores desta instância imediatamente.} other {Se você usou o {product_name} recentemente, entre em contato com nossa equipe de suporte imediatamente.}}\n\n– Equipe do {product_name}" }, "ip_authorization": { "subject": "Autorizar login de um novo endereço IP", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Sua denúncia no {product_name} foi analisada", - "body": "Olá, {username},\n\nSua denúncia (ID: {reportId}) foi analisada por nossa equipe de segurança.{hasComment, select, yes {\n\nResposta da equipe de segurança:\n{publicComment}} other {}}\n\nAgradecemos por ajudar a manter o {product_name} seguro para todos. Levamos todas as denúncias a sério e agradecemos sua contribuição para a comunidade.\n\nSe você tiver alguma dúvida ou preocupação sobre este resultado, entre em contato com {safety_email}.\n\n– equipe de segurança do {product_name}" + "body": "Olá, {username},\n\nSua denúncia (ID: {reportId}) foi analisada por nossa equipe de segurança.{hasComment, select, yes {\n\nResposta da equipe de segurança:\n{publicComment}} other {}}\n\nAgradecemos por ajudar a manter o {product_name} seguro para todos. Levamos todas as denúncias a sério e agradecemos sua contribuição para a comunidade.\n\n{safety_email, select, null {Se você tiver alguma dúvida ou preocupação sobre este resultado, entre em contato com os administradores desta instância.} other {Se você tiver alguma dúvida ou preocupação sobre este resultado, entre em contato com {safety_email}.}}\n\n– equipe de segurança do {product_name}" }, "scheduled_deletion_notification": { "subject": "Sua conta do {product_name} será excluída permanentemente", - "body": "Olá, {username},\n\nA exclusão permanente da sua conta do {product_name} foi agendada.\n\nExclusão agendada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta é uma medida séria. Os dados da sua conta serão excluídos permanentemente na data agendada.\n\nSe você acredita que esta decisão foi incorreta, você pode enviar um recurso. Envie um e-mail para {appeals_email} a partir deste endereço de e-mail.\n\n– equipe de segurança do {product_name}" + "body": "Olá, {username},\n\nA exclusão permanente da sua conta do {product_name} foi agendada.\n\nExclusão agendada: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nEsta é uma medida séria. Os dados da sua conta serão excluídos permanentemente na data agendada.\n\nSe você acredita que esta decisão foi incorreta, você pode enviar um recurso. {appeals_email, select, null {Entre em contato com os administradores desta instância.} other {Envie um e-mail para {appeals_email} a partir deste endereço de e-mail.}}\n\n– equipe de segurança do {product_name}" }, "self_deletion_scheduled": { "subject": "A exclusão da sua conta do {product_name} está agendada", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ro.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ro.json index d884eb8a7..e05a17b2a 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ro.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ro.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Ștergerea contului {product_name} a fost anulată", - "body": "Salut {username},\n\nȘtergerea programată a contului tău {product_name} a fost anulată. Contul tău nu va fi șters.\n\nDacă ai întrebări, te rugăm să scrii la {safety_email}.\n\n– Echipa {product_name}" + "body": "Salut {username},\n\nȘtergerea programată a contului tău {product_name} a fost anulată. Contul tău nu va fi șters.\n\n{safety_email, select, null {Dacă ai întrebări, te rugăm să contactezi administratorii acestei instanțe.} other {Dacă ai întrebări, te rugăm să scrii la {safety_email}.}}\n\n– Echipa {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Contul tău {product_name} va fi șters din cauza inactivității", - "body": "Salut {username},\n\nContul tău {product_name} a fost inactiv o perioadă lungă, așa că este programat pentru ștergere permanentă la:\n\n{deletionDate, date, full} la ora {deletionDate, time, short}{reason, select, null {} other {\n\nMotiv: {reason}}}\n\nDacă vrei să îți păstrezi contul, scrie la {safety_email} de pe această adresă de e-mail înainte de această dată.\n\n– Echipa {product_name}" + "body": "Salut {username},\n\nContul tău {product_name} a fost inactiv o perioadă lungă, așa că este programat pentru ștergere permanentă la:\n\n{deletionDate, date, full} la ora {deletionDate, time, short}{reason, select, null {} other {\n\nMotiv: {reason}}}\n\n{safety_email, select, null {Dacă vrei să îți păstrezi contul, contactează administratorii acestei instanțe înainte de această dată.} other {Dacă vrei să îți păstrezi contul, scrie la {safety_email} de pe această adresă de e-mail înainte de această dată.}}\n\n– Echipa {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Ștergerea contului {product_name} a fost programată", - "body": "Salut {username},\n\nConform solicitării tale, contul tău {product_name} este programat pentru ștergere permanentă la:\n\n{deletionDate, date, full} la ora {deletionDate, time, short}{reason, select, null {} other {\n\nMotiv: {reason}}}\n\nPână atunci, contul tău este blocat. Dacă nu ai solicitat acest lucru sau vrei să îți păstrezi contul, scrie la {safety_email} de pe această adresă de e-mail înainte de această dată.\n\n– Echipa {product_name}" + "body": "Salut {username},\n\nConform solicitării tale, contul tău {product_name} este programat pentru ștergere permanentă la:\n\n{deletionDate, date, full} la ora {deletionDate, time, short}{reason, select, null {} other {\n\nMotiv: {reason}}}\n\nPână atunci, contul tău este blocat. {safety_email, select, null {Dacă nu ai solicitat acest lucru sau vrei să îți păstrezi contul, contactează administratorii acestei instanțe înainte de această dată.} other {Dacă nu ai solicitat acest lucru sau vrei să îți păstrezi contul, scrie la {safety_email} de pe această adresă de e-mail înainte de această dată.}}\n\n– Echipa {product_name}" }, "account_scheduled_deletion": { "subject": "Contul tău {product_name} va fi șters permanent", - "body": "Salut {username},\n\nContul tău {product_name} a fost programat pentru ștergere permanentă din cauza încălcării Termenilor și condițiilor sau a regulilor comunității.\n\nȘtergere programată: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motiv: {reason}}\n}\n\nAceasta este o măsură disciplinară serioasă. Datele contului tău vor fi șterse permanent la data programată.\n\nTe rugăm să consulți:\n- Termeni și condiții: {termsUrl}\n- Regulile comunității: {guidelinesUrl}\n\nProcesul de contestare:\nDacă crezi că această decizie a fost incorectă sau nejustificată, ai la dispoziție 60 de zile pentru a depune o contestație. Trimite un e-mail la {appeals_email} de la această adresă.\n\nÎn contestația ta:\n- Explică clar de ce crezi că decizia a fost incorectă sau nejustificată\n- Adaugă orice dovadă sau context relevant\n\nUn membru al echipei de siguranță {product_name} va analiza contestația ta și poate suspenda ștergerea programată până la luarea unei decizii finale.\n\n– Echipa de siguranță {product_name}" + "body": "Salut {username},\n\nContul tău {product_name} a fost programat pentru ștergere permanentă din cauza încălcării Termenilor și condițiilor sau a regulilor comunității.\n\nȘtergere programată: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motiv: {reason}}\n}\n\nAceasta este o măsură disciplinară serioasă. Datele contului tău vor fi șterse permanent la data programată.\n\n{legalLinks, select,\n both {Te rugăm să consulți:\n- Termeni și condiții: {termsUrl}\n- Regulile comunității: {guidelinesUrl}\n\n}\n terms {Te rugăm să consulți:\n- Termeni și condiții: {termsUrl}\n\n}\n guidelines {Te rugăm să consulți:\n- Regulile comunității: {guidelinesUrl}\n\n}\n other {}\n}Procesul de contestare:\nDacă crezi că această decizie a fost incorectă sau nejustificată, ai la dispoziție 60 de zile pentru a depune o contestație. {appeals_email, select, null {Contactează administratorii acestei instanțe.} other {Trimite un e-mail la {appeals_email} de la această adresă.}}\n\nÎn contestația ta:\n- Explică clar de ce crezi că decizia a fost incorectă sau nejustificată\n- Adaugă orice dovadă sau context relevant\n\nUn membru al echipei de siguranță {product_name} va analiza contestația ta și poate suspenda ștergerea programată până la luarea unei decizii finale.\n\n– Echipa de siguranță {product_name}" }, "account_temp_banned": { "subject": "Contul tău {product_name} a fost suspendat temporar", - "body": "Salut {username},\n\nContul tău {product_name} a fost suspendat temporar pentru încălcarea Termenilor și condițiilor sau a regulilor comunității.\n\nDurată: {durationHours, plural,\n one {1 oră}\n few {# ore}\n other {# de ore}\n}\nSuspendat până la: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motiv: {reason}}\n}\n\nÎn acest timp, nu vei putea accesa contul.\n\nTe rugăm să consulți:\n- Termeni și condiții: {termsUrl}\n- Regulile comunității: {guidelinesUrl}\n\nDacă crezi că această decizie a fost incorectă sau nejustificată, poți depune o contestație. Trimite un e-mail la {appeals_email} de la această adresă și explică clar de ce crezi că decizia a fost incorectă. Vom analiza contestația ta și îți vom comunica decizia noastră.\n\n– Echipa de siguranță {product_name}" + "body": "Salut {username},\n\nContul tău {product_name} a fost suspendat temporar pentru încălcarea Termenilor și condițiilor sau a regulilor comunității.\n\nDurată: {durationHours, plural,\n one {1 oră}\n few {# ore}\n other {# de ore}\n}\nSuspendat până la: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Motiv: {reason}}\n}\n\nÎn acest timp, nu vei putea accesa contul.\n\n{legalLinks, select,\n both {Te rugăm să consulți:\n- Termeni și condiții: {termsUrl}\n- Regulile comunității: {guidelinesUrl}\n\n}\n terms {Te rugăm să consulți:\n- Termeni și condiții: {termsUrl}\n\n}\n guidelines {Te rugăm să consulți:\n- Regulile comunității: {guidelinesUrl}\n\n}\n other {}\n}Dacă crezi că această decizie a fost incorectă sau nejustificată, poți depune o contestație. {appeals_email, select, null {Contactează administratorii acestei instanțe și explică clar de ce crezi că decizia a fost incorectă.} other {Trimite un e-mail la {appeals_email} de la această adresă și explică clar de ce crezi că decizia a fost incorectă.}} Vom analiza contestația ta și îți vom comunica decizia noastră.\n\n– Echipa de siguranță {product_name}" }, "donation_confirmation": { "subject": "Îți mulțumim pentru donația către {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Am luat o decizie cu privire la raportul tău de pe {product_name}", - "body": "Salut,\n\nEchipa noastră de siguranță a analizat raportul tău conform Digital Services Act (ID: {reportId}) și a luat o decizie.{hasComment, select, yes {\n\nRăspuns de la echipa de siguranță:\n{publicComment}} other {}}\n\nNu oferim detalii despre măsurile luate împotriva contului altei persoane, deoarece acestea sunt datele sale personale.\n\nDacă nu ești de acord cu această decizie, poți depune gratuit o contestație în termen de 60 de zile. Trimite un e-mail la {appeals_email} de la această adresă, include ID-ul raportului tău și explică de ce crezi că decizia este incorectă. Dacă te afli în UE, poți, de asemenea, să înaintezi litigiul unui organism certificat de soluționare extrajudiciară a litigiilor. Nimic din toate acestea nu îți afectează dreptul de a te adresa instanței.\n\n– Echipa de siguranță {product_name}" + "body": "Salut,\n\nEchipa noastră de siguranță a analizat raportul tău conform Digital Services Act (ID: {reportId}) și a luat o decizie.{hasComment, select, yes {\n\nRăspuns de la echipa de siguranță:\n{publicComment}} other {}}\n\nNu oferim detalii despre măsurile luate împotriva contului altei persoane, deoarece acestea sunt datele sale personale.\n\nDacă nu ești de acord cu această decizie, poți depune gratuit o contestație în termen de 60 de zile. {appeals_email, select, null {Contactează administratorii acestei instanțe, include ID-ul raportului tău și explică de ce crezi că decizia este incorectă.} other {Trimite un e-mail la {appeals_email} de la această adresă, include ID-ul raportului tău și explică de ce crezi că decizia este incorectă.}} Dacă te afli în UE, poți, de asemenea, să înaintezi litigiul unui organism certificat de soluționare extrajudiciară a litigiilor. Nimic din toate acestea nu îți afectează dreptul de a te adresa instanței.\n\n– Echipa de siguranță {product_name}" }, "dsa_report_verification": { "subject": "Verifică-ți e-mailul pentru un raport DSA", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Beneficiile din cadoul pe care l-ai valorificat au fost eliminate", - "body": "Salut {username},\n\nUn cod cadou pe care l-ai valorificat a fost plătit inițial de altcineva. De atunci, plata respectivă a fost retrasă (o anulare a plății).\n\nDin această cauză, am eliminat beneficiile care au fost adăugate contului tău atunci când ai valorificat cadoul.\n\nDacă crezi că este o greșeală, te rugăm să contactezi asistența și să incluzi orice detalii ai despre codul cadou și despre momentul în care l-ai valorificat.\n\n– Echipa {product_name}" + "body": "Salut {username},\n\nUn cod cadou pe care l-ai valorificat a fost plătit inițial de altcineva. De atunci, plata respectivă a fost retrasă (o anulare a plății).\n\nDin această cauză, am eliminat beneficiile care au fost adăugate contului tău atunci când ai valorificat cadoul.\n\n{support_email, select, null {Dacă crezi că este o greșeală, te rugăm să contactezi administratorii acestei instanțe și să incluzi orice detalii ai despre codul cadou și despre momentul în care l-ai valorificat.} other {Dacă crezi că este o greșeală, te rugăm să contactezi asistența și să incluzi orice detalii ai despre codul cadou și despre momentul în care l-ai valorificat.}}\n\n– Echipa {product_name}" }, "harvest_completed": { "subject": "Exportul datelor din {product_name} este gata pentru descărcare", - "body": "Salut {username},\n\nExportul datelor tale este gata.\n\nLink de descărcare:\n{downloadUrl}\n\nMesaje incluse: {totalMessages, number}\nDimensiune fișier: {fileSizeMB, number} MB\n\nAcest link expiră la data de {expiresAt, date, full} la ora {expiresAt, time, short}.\n\nDacă nu ai solicitat acest export, te rugăm să-ți schimbi parola imediat și să contactezi asistența.\n\n– Echipa {product_name}" + "body": "Salut {username},\n\nExportul datelor tale este gata.\n\nLink de descărcare:\n{downloadUrl}\n\nMesaje incluse: {totalMessages, number}\nDimensiune fișier: {fileSizeMB, number} MB\n\nAcest link expiră la data de {expiresAt, date, full} la ora {expiresAt, time, short}.\n\n{support_email, select, null {Dacă nu ai solicitat acest export, te rugăm să-ți schimbi parola imediat și să contactezi administratorii acestei instanțe.} other {Dacă nu ai solicitat acest export, te rugăm să-ți schimbi parola imediat și să contactezi asistența.}}\n\n– Echipa {product_name}" }, "inactivity_warning": { "subject": "Contul tău {product_name} va fi șters din cauza inactivității", - "body": "Salut {username},\n\nNu am înregistrat nicio activitate pe contul tău {product_name} de la data de {lastActiveDate, date, full}.\n\nDacă nu te conectezi până la data de {deletionDate, date, full} la ora {deletionDate, time, short}, contul tău va fi șters permanent din cauza inactivității.\n\nConectează-te aici:\n{loginUrl}\n\nDacă ai folosit {product_name} recent, te rugăm să contactezi imediat asistența.\n\n– Echipa {product_name}" + "body": "Salut {username},\n\nNu am înregistrat nicio activitate pe contul tău {product_name} de la data de {lastActiveDate, date, full}.\n\nDacă nu te conectezi până la data de {deletionDate, date, full} la ora {deletionDate, time, short}, contul tău va fi șters permanent din cauza inactivității.\n\nConectează-te aici:\n{loginUrl}\n\n{support_email, select, null {Dacă ai folosit {product_name} recent, te rugăm să contactezi imediat administratorii acestei instanțe.} other {Dacă ai folosit {product_name} recent, te rugăm să contactezi imediat asistența.}}\n\n– Echipa {product_name}" }, "ip_authorization": { "subject": "Autorizează conectarea de la o nouă adresă IP", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Raportul tău de pe {product_name} a fost analizat", - "body": "Salut {username},\n\nRaportul tău (ID: {reportId}) a fost analizat de echipa noastră de siguranță.{hasComment, select, yes {\n\nRăspuns de la echipa de siguranță:\n{publicComment}} other {}}\n\nÎți mulțumim că ne ajuți să păstrăm {product_name} în siguranță pentru toată lumea. Luăm în serios toate rapoartele și apreciem contribuția ta la comunitate.\n\nDacă ai întrebări sau nelămuriri cu privire la acest rezultat, te rugăm să scrii la {safety_email}.\n\n– Echipa de siguranță {product_name}" + "body": "Salut {username},\n\nRaportul tău (ID: {reportId}) a fost analizat de echipa noastră de siguranță.{hasComment, select, yes {\n\nRăspuns de la echipa de siguranță:\n{publicComment}} other {}}\n\nÎți mulțumim că ne ajuți să păstrăm {product_name} în siguranță pentru toată lumea. Luăm în serios toate rapoartele și apreciem contribuția ta la comunitate.\n\n{safety_email, select, null {Dacă ai întrebări sau nelămuriri cu privire la acest rezultat, te rugăm să contactezi administratorii acestei instanțe.} other {Dacă ai întrebări sau nelămuriri cu privire la acest rezultat, te rugăm să scrii la {safety_email}.}}\n\n– Echipa de siguranță {product_name}" }, "scheduled_deletion_notification": { "subject": "Contul tău {product_name} va fi șters permanent", - "body": "Salut {username},\n\nContul tău {product_name} a fost programat pentru ștergere permanentă.\n\nȘtergere programată: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motiv: {reason}}\n}\n\nAceasta este o măsură disciplinară serioasă. Datele contului tău vor fi șterse permanent la data programată.\n\nDacă crezi că această decizie a fost incorectă, poți depune o contestație. Trimite un e-mail la {appeals_email} de la această adresă.\n\n– Echipa de siguranță {product_name}" + "body": "Salut {username},\n\nContul tău {product_name} a fost programat pentru ștergere permanentă.\n\nȘtergere programată: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Motiv: {reason}}\n}\n\nAceasta este o măsură disciplinară serioasă. Datele contului tău vor fi șterse permanent la data programată.\n\nDacă crezi că această decizie a fost incorectă, poți depune o contestație. {appeals_email, select, null {Contactează administratorii acestei instanțe.} other {Trimite un e-mail la {appeals_email} de la această adresă.}}\n\n– Echipa de siguranță {product_name}" }, "self_deletion_scheduled": { "subject": "Ștergerea contului {product_name} a fost programată", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ru.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ru.json index 1e5e54e83..17623b83b 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ru.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/ru.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Удаление твоего аккаунта {product_name} отменено", - "body": "Привет, {username},\n\nЗапланированное удаление твоего аккаунта {product_name} отменено. Твой аккаунт не будет удалён.\n\nЕсли у тебя есть вопросы, напиши на {safety_email}.\n\n– Команда {product_name}" + "body": "Привет, {username},\n\nЗапланированное удаление твоего аккаунта {product_name} отменено. Твой аккаунт не будет удалён.\n\n{safety_email, select, null {Если у тебя есть вопросы, свяжись с администраторами этого экземпляра.} other {Если у тебя есть вопросы, напиши на {safety_email}.}}\n\n– Команда {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Твой аккаунт {product_name} будет удалён из-за неактивности", - "body": "Привет, {username},\n\nТвой аккаунт {product_name} долгое время был неактивен, поэтому его безвозвратное удаление запланировано на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nЕсли хочешь сохранить аккаунт, напиши на {safety_email} с этого адреса электронной почты до этой даты.\n\n– Команда {product_name}" + "body": "Привет, {username},\n\nТвой аккаунт {product_name} долгое время был неактивен, поэтому его безвозвратное удаление запланировано на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\n{safety_email, select, null {Если хочешь сохранить аккаунт, свяжись с администраторами этого экземпляра до этой даты.} other {Если хочешь сохранить аккаунт, напиши на {safety_email} с этого адреса электронной почты до этой даты.}}\n\n– Команда {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Запланировано удаление твоего аккаунта {product_name}", - "body": "Привет, {username},\n\nПо твоему запросу безвозвратное удаление аккаунта {product_name} запланировано на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nДо этого момента твой аккаунт заблокирован. Если ты не запрашивал удаление или хочешь сохранить аккаунт, напиши на {safety_email} с этого адреса электронной почты до этой даты.\n\n– Команда {product_name}" + "body": "Привет, {username},\n\nПо твоему запросу безвозвратное удаление аккаунта {product_name} запланировано на:\n\n{deletionDate, date, full} в {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nДо этого момента твой аккаунт заблокирован. {safety_email, select, null {Если ты не запрашивал удаление или хочешь сохранить аккаунт, свяжись с администраторами этого экземпляра до этой даты.} other {Если ты не запрашивал удаление или хочешь сохранить аккаунт, напиши на {safety_email} с этого адреса электронной почты до этой даты.}}\n\n– Команда {product_name}" }, "account_scheduled_deletion": { "subject": "Твой аккаунт {product_name} будет безвозвратно удалён", - "body": "Привет, {username},\n\nМы запланировали безвозвратное удаление твоего аккаунта {product_name} из-за нарушения наших Условий использования или Правил сообщества.\n\nЗапланированное удаление: {deletionDate, date, full} в {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЭто серьёзная мера. Данные твоего аккаунта будут безвозвратно удалены в запланированную дату.\n\nПожалуйста, ознакомься:\n- Условия использования: {termsUrl}\n- Правила сообщества: {guidelinesUrl}\n\nПроцесс апелляции:\nЕсли ты считаешь, что это решение было неверным или необоснованным, у тебя есть 60 дней, чтобы подать апелляцию. Отправь письмо на {appeals_email} с этого адреса электронной почты.\n\nВ своей апелляции:\n- Чётко объясни, почему ты считаешь, что решение было неверным или необоснованным\n- Предоставь любые соответствующие доказательства или контекст\n\nСотрудник команды безопасности {product_name} рассмотрит твою апелляцию и может приостановить запланированное удаление до принятия окончательного решения.\n\n– Команда безопасности {product_name}" + "body": "Привет, {username},\n\nМы запланировали безвозвратное удаление твоего аккаунта {product_name} из-за нарушения наших Условий использования или Правил сообщества.\n\nЗапланированное удаление: {deletionDate, date, full} в {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЭто серьёзная мера. Данные твоего аккаунта будут безвозвратно удалены в запланированную дату.\n\n{legalLinks, select,\n both {Пожалуйста, ознакомься:\n- Условия использования: {termsUrl}\n- Правила сообщества: {guidelinesUrl}\n\n}\n terms {Пожалуйста, ознакомься:\n- Условия использования: {termsUrl}\n\n}\n guidelines {Пожалуйста, ознакомься:\n- Правила сообщества: {guidelinesUrl}\n\n}\n other {}\n}Процесс апелляции:\nЕсли ты считаешь, что это решение было неверным или необоснованным, у тебя есть 60 дней, чтобы подать апелляцию. {appeals_email, select, null {Свяжись с администраторами этого экземпляра.} other {Отправь письмо на {appeals_email} с этого адреса электронной почты.}}\n\nВ своей апелляции:\n- Чётко объясни, почему ты считаешь, что решение было неверным или необоснованным\n- Предоставь любые соответствующие доказательства или контекст\n\nСотрудник команды безопасности {product_name} рассмотрит твою апелляцию и может приостановить запланированное удаление до принятия окончательного решения.\n\n– Команда безопасности {product_name}" }, "account_temp_banned": { "subject": "Твой аккаунт {product_name} временно заблокирован", - "body": "Привет, {username},\n\nТвой аккаунт {product_name} временно заблокирован за нарушение наших Условий использования или Правил сообщества.\n\nДлительность: {durationHours, plural,\n one {# час}\n few {# часа}\n many {# часов}\n other {# часа}\n}\nЗаблокирован до: {bannedUntil, date, full} в {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nВ течение этого времени ты не сможешь получить доступ к своему аккаунту.\n\nПожалуйста, ознакомься:\n- Условия использования: {termsUrl}\n- Правила сообщества: {guidelinesUrl}\n\nЕсли ты считаешь, что это решение было неверным или необоснованным, ты можешь подать апелляцию. Отправь письмо на {appeals_email} с этого адреса электронной почты и чётко объясни, почему ты считаешь решение неверным. Мы рассмотрим твою апелляцию и сообщим о нашем решении.\n\n– Команда безопасности {product_name}" + "body": "Привет, {username},\n\nТвой аккаунт {product_name} временно заблокирован за нарушение наших Условий использования или Правил сообщества.\n\nДлительность: {durationHours, plural,\n one {# час}\n few {# часа}\n many {# часов}\n other {# часа}\n}\nЗаблокирован до: {bannedUntil, date, full} в {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nВ течение этого времени ты не сможешь получить доступ к своему аккаунту.\n\n{legalLinks, select,\n both {Пожалуйста, ознакомься:\n- Условия использования: {termsUrl}\n- Правила сообщества: {guidelinesUrl}\n\n}\n terms {Пожалуйста, ознакомься:\n- Условия использования: {termsUrl}\n\n}\n guidelines {Пожалуйста, ознакомься:\n- Правила сообщества: {guidelinesUrl}\n\n}\n other {}\n}Если ты считаешь, что это решение было неверным или необоснованным, ты можешь подать апелляцию. {appeals_email, select, null {Свяжись с администраторами этого экземпляра и чётко объясни, почему ты считаешь решение неверным.} other {Отправь письмо на {appeals_email} с этого адреса электронной почты и чётко объясни, почему ты считаешь решение неверным.}} Мы рассмотрим твою апелляцию и сообщим о нашем решении.\n\n– Команда безопасности {product_name}" }, "donation_confirmation": { "subject": "Спасибо за твоё пожертвование для {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Мы приняли решение по твоей жалобе в {product_name}", - "body": "Привет,\n\nНаша команда безопасности рассмотрела твою жалобу по Закону о цифровых услугах (ID: {reportId}) и приняла решение.{hasComment, select, yes {\n\nОтвет команды безопасности:\n{publicComment}} other {}}\n\nМы не раскрываем подробности мер, принятых в отношении аккаунта другого человека, так как это его персональные данные.\n\nЕсли ты не согласен с этим решением, ты можешь бесплатно подать апелляцию в течение 60 дней. Отправь письмо на {appeals_email} с этого адреса электронной почты, укажи ID жалобы и объясни, почему считаешь решение неверным. Если ты находишься в ЕС, ты также можешь передать спор в сертифицированный орган по внесудебному урегулированию споров. Всё это не влияет на твоё право обратиться в суд.\n\n– Команда безопасности {product_name}" + "body": "Привет,\n\nНаша команда безопасности рассмотрела твою жалобу по Закону о цифровых услугах (ID: {reportId}) и приняла решение.{hasComment, select, yes {\n\nОтвет команды безопасности:\n{publicComment}} other {}}\n\nМы не раскрываем подробности мер, принятых в отношении аккаунта другого человека, так как это его персональные данные.\n\nЕсли ты не согласен с этим решением, ты можешь бесплатно подать апелляцию в течение 60 дней. {appeals_email, select, null {Свяжись с администраторами этого экземпляра, укажи ID жалобы и объясни, почему считаешь решение неверным.} other {Отправь письмо на {appeals_email} с этого адреса электронной почты, укажи ID жалобы и объясни, почему считаешь решение неверным.}} Если ты находишься в ЕС, ты также можешь передать спор в сертифицированный орган по внесудебному урегулированию споров. Всё это не влияет на твоё право обратиться в суд.\n\n– Команда безопасности {product_name}" }, "dsa_report_verification": { "subject": "Подтверди свой адрес электронной почты для жалобы по DSA", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Привилегии за активированный подарок были удалены", - "body": "Привет, {username},\n\nПодарочный код, который ты активировал, изначально был оплачен другим человеком. Этот платёж был впоследствии отменён (возвратный платёж).\n\nИз-за этого мы удалили привилегии, которые были добавлены в твой аккаунт при активации подарка.\n\nЕсли ты считаешь, что это ошибка, пожалуйста, свяжись с нашей службой поддержки и укажи все имеющиеся детали о подарочном коде и дате его активации.\n\n– Команда {product_name}" + "body": "Привет, {username},\n\nПодарочный код, который ты активировал, изначально был оплачен другим человеком. Этот платёж был впоследствии отменён (возвратный платёж).\n\nИз-за этого мы удалили привилегии, которые были добавлены в твой аккаунт при активации подарка.\n\n{support_email, select, null {Если ты считаешь, что это ошибка, пожалуйста, свяжись с администраторами этого экземпляра и укажи все имеющиеся детали о подарочном коде и дате его активации.} other {Если ты считаешь, что это ошибка, пожалуйста, свяжись с нашей службой поддержки и укажи все имеющиеся детали о подарочном коде и дате его активации.}}\n\n– Команда {product_name}" }, "harvest_completed": { "subject": "Твой экспорт данных {product_name} готов к скачиванию", - "body": "Привет, {username},\n\nТвой экспорт данных готов.\n\nСсылка для скачивания:\n{downloadUrl}\n\nВключено сообщений: {totalMessages, number}\nРазмер файла: {fileSizeMB, number} МБ\n\nСрок действия ссылки истекает {expiresAt, date, full} в {expiresAt, time, short}.\n\nЕсли ты не запрашивал этот экспорт, пожалуйста, немедленно смени пароль и свяжись с нашей службой поддержки.\n\n– Команда {product_name}" + "body": "Привет, {username},\n\nТвой экспорт данных готов.\n\nСсылка для скачивания:\n{downloadUrl}\n\nВключено сообщений: {totalMessages, number}\nРазмер файла: {fileSizeMB, number} МБ\n\nСрок действия ссылки истекает {expiresAt, date, full} в {expiresAt, time, short}.\n\n{support_email, select, null {Если ты не запрашивал этот экспорт, пожалуйста, немедленно смени пароль и свяжись с администраторами этого экземпляра.} other {Если ты не запрашивал этот экспорт, пожалуйста, немедленно смени пароль и свяжись с нашей службой поддержки.}}\n\n– Команда {product_name}" }, "inactivity_warning": { "subject": "Твой аккаунт {product_name} будет удалён из-за неактивности", - "body": "Привет, {username},\n\nМы не замечали активности в твоём аккаунте {product_name} с {lastActiveDate, date, full}.\n\nЕсли ты не войдёшь в аккаунт до {deletionDate, date, full} в {deletionDate, time, short}, твой аккаунт будет безвозвратно удалён из-за неактивности.\n\nВойти можно здесь:\n{loginUrl}\n\nЕсли ты недавно пользовался {product_name}, пожалуйста, немедленно свяжись с нашей службой поддержки.\n\n– Команда {product_name}" + "body": "Привет, {username},\n\nМы не замечали активности в твоём аккаунте {product_name} с {lastActiveDate, date, full}.\n\nЕсли ты не войдёшь в аккаунт до {deletionDate, date, full} в {deletionDate, time, short}, твой аккаунт будет безвозвратно удалён из-за неактивности.\n\nВойти можно здесь:\n{loginUrl}\n\n{support_email, select, null {Если ты недавно пользовался {product_name}, пожалуйста, немедленно свяжись с администраторами этого экземпляра.} other {Если ты недавно пользовался {product_name}, пожалуйста, немедленно свяжись с нашей службой поддержки.}}\n\n– Команда {product_name}" }, "ip_authorization": { "subject": "Подтверди вход с нового IP-адреса", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Твоя жалоба в {product_name} рассмотрена", - "body": "Привет, {username},\n\nТвоя жалоба (ID: {reportId}) была рассмотрена нашей командой безопасности.{hasComment, select, yes {\n\nОтвет команды безопасности:\n{publicComment}} other {}}\n\nСпасибо за помощь в обеспечении безопасности {product_name} для всех. Мы серьёзно относимся ко всем жалобам и ценим твой вклад в сообщество.\n\nЕсли у тебя есть вопросы или сомнения по поводу этого результата, пожалуйста, напиши на {safety_email}.\n\n– Команда безопасности {product_name}" + "body": "Привет, {username},\n\nТвоя жалоба (ID: {reportId}) была рассмотрена нашей командой безопасности.{hasComment, select, yes {\n\nОтвет команды безопасности:\n{publicComment}} other {}}\n\nСпасибо за помощь в обеспечении безопасности {product_name} для всех. Мы серьёзно относимся ко всем жалобам и ценим твой вклад в сообщество.\n\n{safety_email, select, null {Если у тебя есть вопросы или сомнения по поводу этого результата, пожалуйста, свяжись с администраторами этого экземпляра.} other {Если у тебя есть вопросы или сомнения по поводу этого результата, пожалуйста, напиши на {safety_email}.}}\n\n– Команда безопасности {product_name}" }, "scheduled_deletion_notification": { "subject": "Твой аккаунт {product_name} будет безвозвратно удалён", - "body": "Привет, {username},\n\nМы запланировали безвозвратное удаление твоего аккаунта {product_name}.\n\nЗапланированное удаление: {deletionDate, date, full} в {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЭто серьёзная мера. Данные твоего аккаунта будут безвозвратно удалены в запланированную дату.\n\nЕсли ты считаешь, что это решение было неверным, ты можешь подать апелляцию. Отправь письмо на {appeals_email} с этого адреса электронной почты.\n\n– Команда безопасности {product_name}" + "body": "Привет, {username},\n\nМы запланировали безвозвратное удаление твоего аккаунта {product_name}.\n\nЗапланированное удаление: {deletionDate, date, full} в {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЭто серьёзная мера. Данные твоего аккаунта будут безвозвратно удалены в запланированную дату.\n\nЕсли ты считаешь, что это решение было неверным, ты можешь подать апелляцию. {appeals_email, select, null {Свяжись с администраторами этого экземпляра.} other {Отправь письмо на {appeals_email} с этого адреса электронной почты.}}\n\n– Команда безопасности {product_name}" }, "self_deletion_scheduled": { "subject": "Запланировано удаление твоего аккаунта {product_name}", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/sv-SE.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/sv-SE.json index 05611b779..41459242e 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/sv-SE.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/sv-SE.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Raderingen av ditt {product_name}-konto har avbrutits", - "body": "Hej {username},\n\nDen schemalagda raderingen av ditt {product_name}-konto har avbrutits. Ditt konto kommer inte att raderas.\n\nOm du har några frågor, kontakta {safety_email}.\n\n– {product_name}-teamet" + "body": "Hej {username},\n\nDen schemalagda raderingen av ditt {product_name}-konto har avbrutits. Ditt konto kommer inte att raderas.\n\n{safety_email, select, null {Om du har några frågor, kontakta administratörerna för den här instansen.} other {Om du har några frågor, kontakta {safety_email}.}}\n\n– {product_name}-teamet" }, "account_deletion_scheduled_inactivity": { "subject": "Ditt {product_name}-konto kommer att raderas på grund av inaktivitet", - "body": "Hej {username},\n\nDitt {product_name}-konto har varit inaktivt länge, så permanent radering av kontot är planerad till följande tidpunkt:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nAnledning: {reason}}}\n\nOm du vill behålla ditt konto, kontakta {safety_email} från den här e-postadressen före det datumet.\n\n– {product_name}-teamet" + "body": "Hej {username},\n\nDitt {product_name}-konto har varit inaktivt länge, så permanent radering av kontot är planerad till följande tidpunkt:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nAnledning: {reason}}}\n\n{safety_email, select, null {Om du vill behålla ditt konto, kontakta administratörerna för den här instansen före det datumet.} other {Om du vill behålla ditt konto, kontakta {safety_email} från den här e-postadressen före det datumet.}}\n\n– {product_name}-teamet" }, "account_deletion_scheduled_requested": { "subject": "Raderingen av ditt {product_name}-konto är schemalagd", - "body": "Hej {username},\n\nSom du har begärt är permanent radering av ditt {product_name}-konto planerad till följande tidpunkt:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nAnledning: {reason}}}\n\nDitt konto är låst fram till dess. Om du inte begärde detta, eller om du vill behålla ditt konto, kontakta {safety_email} från den här e-postadressen före det datumet.\n\n– {product_name}-teamet" + "body": "Hej {username},\n\nSom du har begärt är permanent radering av ditt {product_name}-konto planerad till följande tidpunkt:\n\n{deletionDate, date, full} kl. {deletionDate, time, short}{reason, select, null {} other {\n\nAnledning: {reason}}}\n\nDitt konto är låst fram till dess. {safety_email, select, null {Om du inte begärde detta, eller om du vill behålla ditt konto, kontakta administratörerna för den här instansen före det datumet.} other {Om du inte begärde detta, eller om du vill behålla ditt konto, kontakta {safety_email} från den här e-postadressen före det datumet.}}\n\n– {product_name}-teamet" }, "account_scheduled_deletion": { "subject": "Ditt {product_name}-konto kommer att raderas permanent", - "body": "Hej {username},\n\nDitt {product_name}-konto har schemalagts för permanent radering på grund av brott mot våra användarvillkor eller communityriktlinjer.\n\nSchemalagd radering: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Anledning: {reason}}\n}\n\nDetta är en allvarlig åtgärd. Dina kontodata kommer att raderas permanent på det schemalagda datumet.\n\nGranska:\n- Användarvillkor: {termsUrl}\n- Communityriktlinjer: {guidelinesUrl}\n\nÖverklagandeprocess:\nOm du anser att detta beslut var felaktigt eller obefogat har du 60 dagar på dig att överklaga. Mejla {appeals_email} från den här e-postadressen.\n\nI ditt överklagande:\n- Förklara tydligt varför du anser att beslutet var felaktigt eller obefogat\n- Bifoga relevanta bevis eller bakgrundsinformation\n\nEn medarbetare i säkerhetsteamet på {product_name} kommer att granska ditt överklagande och kan pausa den planerade raderingen tills ett slutgiltigt beslut har fattats.\n\n– Säkerhetsteamet på {product_name}" + "body": "Hej {username},\n\nDitt {product_name}-konto har schemalagts för permanent radering på grund av brott mot våra användarvillkor eller communityriktlinjer.\n\nSchemalagd radering: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Anledning: {reason}}\n}\n\nDetta är en allvarlig åtgärd. Dina kontodata kommer att raderas permanent på det schemalagda datumet.\n\n{legalLinks, select,\n both {Granska:\n- Användarvillkor: {termsUrl}\n- Communityriktlinjer: {guidelinesUrl}\n\n}\n terms {Granska:\n- Användarvillkor: {termsUrl}\n\n}\n guidelines {Granska:\n- Communityriktlinjer: {guidelinesUrl}\n\n}\n other {}\n}Överklagandeprocess:\nOm du anser att detta beslut var felaktigt eller obefogat har du 60 dagar på dig att överklaga. {appeals_email, select, null {Kontakta administratörerna för den här instansen.} other {Mejla {appeals_email} från den här e-postadressen.}}\n\nI ditt överklagande:\n- Förklara tydligt varför du anser att beslutet var felaktigt eller obefogat\n- Bifoga relevanta bevis eller bakgrundsinformation\n\nEn medarbetare i säkerhetsteamet på {product_name} kommer att granska ditt överklagande och kan pausa den planerade raderingen tills ett slutgiltigt beslut har fattats.\n\n– Säkerhetsteamet på {product_name}" }, "account_temp_banned": { "subject": "Ditt {product_name}-konto har tillfälligt stängts av", - "body": "Hej {username},\n\nDitt {product_name}-konto har tillfälligt stängts av på grund av brott mot våra användarvillkor eller communityriktlinjer.\n\nVaraktighet: {durationHours, plural,\n =1 {1 timme}\n other {# timmar}\n}\nAvstängningen upphör: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Anledning: {reason}}\n}\n\nUnder denna tid kommer du inte att kunna komma åt ditt konto.\n\nGranska:\n- Användarvillkor: {termsUrl}\n- Communityriktlinjer: {guidelinesUrl}\n\nOm du anser att detta beslut var felaktigt eller obefogat kan du överklaga. Kontakta vårt supportteam på {appeals_email} från den här e-postadressen och förklara tydligt varför du anser att beslutet var felaktigt. Vi kommer att granska ditt överklagande och svara med vårt beslut.\n\n– Säkerhetsteamet på {product_name}" + "body": "Hej {username},\n\nDitt {product_name}-konto har tillfälligt stängts av på grund av brott mot våra användarvillkor eller communityriktlinjer.\n\nVaraktighet: {durationHours, plural,\n =1 {1 timme}\n other {# timmar}\n}\nAvstängningen upphör: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Anledning: {reason}}\n}\n\nUnder denna tid kommer du inte att kunna komma åt ditt konto.\n\n{legalLinks, select,\n both {Granska:\n- Användarvillkor: {termsUrl}\n- Communityriktlinjer: {guidelinesUrl}\n\n}\n terms {Granska:\n- Användarvillkor: {termsUrl}\n\n}\n guidelines {Granska:\n- Communityriktlinjer: {guidelinesUrl}\n\n}\n other {}\n}Om du anser att detta beslut var felaktigt eller obefogat kan du överklaga. {appeals_email, select, null {Kontakta administratörerna för den här instansen och förklara tydligt varför du anser att beslutet var felaktigt.} other {Kontakta vårt supportteam på {appeals_email} från den här e-postadressen och förklara tydligt varför du anser att beslutet var felaktigt.}} Vi kommer att granska ditt överklagande och svara med vårt beslut.\n\n– Säkerhetsteamet på {product_name}" }, "donation_confirmation": { "subject": "Tack för din donation till {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Vi har fattat ett beslut om din anmälan på {product_name}", - "body": "Hej,\n\nVårt säkerhetsteam har granskat din anmälan enligt förordningen om digitala tjänster (ID: {reportId}) och fattat ett beslut.{hasComment, select, yes {\n\nSvar från säkerhetsteamet:\n{publicComment}} other {}}\n\nVi delar inte uppgifter om åtgärder mot någon annans konto, eftersom det är den personens personuppgifter.\n\nOm du inte håller med om beslutet kan du överklaga kostnadsfritt inom 60 dagar. Mejla {appeals_email} från den här e-postadressen, ange ditt anmälnings-ID och förklara varför du anser att beslutet är felaktigt. Om du befinner dig i EU kan du också hänskjuta tvisten till ett certifierat organ för tvistlösning utanför domstol. Inget av detta påverkar din rätt att vända dig till domstol.\n\n– Säkerhetsteamet på {product_name}" + "body": "Hej,\n\nVårt säkerhetsteam har granskat din anmälan enligt förordningen om digitala tjänster (ID: {reportId}) och fattat ett beslut.{hasComment, select, yes {\n\nSvar från säkerhetsteamet:\n{publicComment}} other {}}\n\nVi delar inte uppgifter om åtgärder mot någon annans konto, eftersom det är den personens personuppgifter.\n\nOm du inte håller med om beslutet kan du överklaga kostnadsfritt inom 60 dagar. {appeals_email, select, null {Kontakta administratörerna för den här instansen, ange ditt anmälnings-ID och förklara varför du anser att beslutet är felaktigt.} other {Mejla {appeals_email} från den här e-postadressen, ange ditt anmälnings-ID och förklara varför du anser att beslutet är felaktigt.}} Om du befinner dig i EU kan du också hänskjuta tvisten till ett certifierat organ för tvistlösning utanför domstol. Inget av detta påverkar din rätt att vända dig till domstol.\n\n– Säkerhetsteamet på {product_name}" }, "dsa_report_verification": { "subject": "Verifiera din e-postadress för en DSA-anmälan", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Förmånerna från din inlösta present har tagits bort", - "body": "Hej {username},\n\nEn presentkod du löste in betalades ursprungligen av någon annan. Den betalningen har sedan dess återförts genom en kortreklamation (chargeback).\n\nPå grund av detta har vi tagit bort de förmåner som lades till ditt konto när du löste in presenten.\n\nOm du tror att detta är ett misstag, kontakta vårt supportteam och ta med den information du har om presentkoden och när du löste in den.\n\n– {product_name}-teamet" + "body": "Hej {username},\n\nEn presentkod du löste in betalades ursprungligen av någon annan. Den betalningen har sedan dess återförts genom en kortreklamation (chargeback).\n\nPå grund av detta har vi tagit bort de förmåner som lades till ditt konto när du löste in presenten.\n\n{support_email, select, null {Om du tror att detta är ett misstag, kontakta administratörerna för den här instansen och ta med den information du har om presentkoden och när du löste in den.} other {Om du tror att detta är ett misstag, kontakta vårt supportteam och ta med den information du har om presentkoden och när du löste in den.}}\n\n– {product_name}-teamet" }, "harvest_completed": { "subject": "Din dataexport från {product_name} är klar att ladda ner", - "body": "Hej {username},\n\nDin dataexport är klar.\n\nNedladdningslänk:\n{downloadUrl}\n\nAntal meddelanden: {totalMessages, number}\nFilstorlek: {fileSizeMB, number} MB\n\nDen här länken upphör att gälla {expiresAt, date, full} kl. {expiresAt, time, short}.\n\nOm du inte begärde denna export, ändra ditt lösenord omedelbart och kontakta vårt supportteam.\n\n– {product_name}-teamet" + "body": "Hej {username},\n\nDin dataexport är klar.\n\nNedladdningslänk:\n{downloadUrl}\n\nAntal meddelanden: {totalMessages, number}\nFilstorlek: {fileSizeMB, number} MB\n\nDen här länken upphör att gälla {expiresAt, date, full} kl. {expiresAt, time, short}.\n\n{support_email, select, null {Om du inte begärde denna export, ändra ditt lösenord omedelbart och kontakta administratörerna för den här instansen.} other {Om du inte begärde denna export, ändra ditt lösenord omedelbart och kontakta vårt supportteam.}}\n\n– {product_name}-teamet" }, "inactivity_warning": { "subject": "Ditt {product_name}-konto kommer att raderas på grund av inaktivitet", - "body": "Hej {username},\n\nVi har inte sett någon aktivitet på ditt {product_name}-konto sedan {lastActiveDate, date, full}.\n\nOm du inte loggar in senast {deletionDate, date, full} kl. {deletionDate, time, short} kommer ditt konto att raderas permanent på grund av inaktivitet.\n\nLogga in här:\n{loginUrl}\n\nKontakta vårt supportteam omedelbart om du har använt {product_name} nyligen.\n\n– {product_name}-teamet" + "body": "Hej {username},\n\nVi har inte sett någon aktivitet på ditt {product_name}-konto sedan {lastActiveDate, date, full}.\n\nOm du inte loggar in senast {deletionDate, date, full} kl. {deletionDate, time, short} kommer ditt konto att raderas permanent på grund av inaktivitet.\n\nLogga in här:\n{loginUrl}\n\n{support_email, select, null {Kontakta administratörerna för den här instansen omedelbart om du har använt {product_name} nyligen.} other {Kontakta vårt supportteam omedelbart om du har använt {product_name} nyligen.}}\n\n– {product_name}-teamet" }, "ip_authorization": { "subject": "Godkänn inloggning från en ny IP-adress", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Din anmälan på {product_name} har granskats", - "body": "Hej {username},\n\nDin anmälan (ID: {reportId}) har granskats av vårt säkerhetsteam.{hasComment, select, yes {\n\nSvar från säkerhetsteamet:\n{publicComment}} other {}}\n\nTack för att du hjälper till att göra {product_name} tryggt för alla. Vi tar alla anmälningar på allvar och uppskattar ditt bidrag till communityn.\n\nOm du har några frågor eller funderingar kring detta resultat, kontakta oss på {safety_email}.\n\n– Säkerhetsteamet på {product_name}" + "body": "Hej {username},\n\nDin anmälan (ID: {reportId}) har granskats av vårt säkerhetsteam.{hasComment, select, yes {\n\nSvar från säkerhetsteamet:\n{publicComment}} other {}}\n\nTack för att du hjälper till att göra {product_name} tryggt för alla. Vi tar alla anmälningar på allvar och uppskattar ditt bidrag till communityn.\n\n{safety_email, select, null {Om du har några frågor eller funderingar kring detta resultat, kontakta administratörerna för den här instansen.} other {Om du har några frågor eller funderingar kring detta resultat, kontakta oss på {safety_email}.}}\n\n– Säkerhetsteamet på {product_name}" }, "scheduled_deletion_notification": { "subject": "Ditt {product_name}-konto kommer att raderas permanent", - "body": "Hej {username},\n\nDitt {product_name}-konto har schemalagts för permanent radering.\n\nSchemalagd radering: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Anledning: {reason}}\n}\n\nDetta är en allvarlig åtgärd. Dina kontodata kommer att raderas permanent på det schemalagda datumet.\n\nOm du anser att detta beslut var felaktigt kan du överklaga. Mejla {appeals_email} från den här e-postadressen.\n\n– Säkerhetsteamet på {product_name}" + "body": "Hej {username},\n\nDitt {product_name}-konto har schemalagts för permanent radering.\n\nSchemalagd radering: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Anledning: {reason}}\n}\n\nDetta är en allvarlig åtgärd. Dina kontodata kommer att raderas permanent på det schemalagda datumet.\n\nOm du anser att detta beslut var felaktigt kan du överklaga. {appeals_email, select, null {Kontakta administratörerna för den här instansen.} other {Mejla {appeals_email} från den här e-postadressen.}}\n\n– Säkerhetsteamet på {product_name}" }, "self_deletion_scheduled": { "subject": "Raderingen av ditt {product_name}-konto är schemalagd", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/th.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/th.json index 193070e2e..e782b6cf3 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/th.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/th.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "การลบบัญชี {product_name} ของคุณถูกยกเลิกแล้ว", - "body": "สวัสดี {username},\n\nการลบบัญชี {product_name} ของคุณที่กำหนดไว้ถูกยกเลิกแล้ว บัญชีของคุณจะไม่ถูกลบ\n\nหากคุณมีคำถามใด ๆ โปรดติดต่อ {safety_email}\n\n– ทีม {product_name}" + "body": "สวัสดี {username},\n\nการลบบัญชี {product_name} ของคุณที่กำหนดไว้ถูกยกเลิกแล้ว บัญชีของคุณจะไม่ถูกลบ\n\n{safety_email, select, null {หากคุณมีคำถามใด ๆ โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้} other {หากคุณมีคำถามใด ๆ โปรดติดต่อ {safety_email}}}\n\n– ทีม {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "บัญชี {product_name} ของคุณจะถูกลบเนื่องจากไม่มีการใช้งาน", - "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณไม่มีการใช้งานมาเป็นเวลานาน จึงถูกกำหนดให้ลบอย่างถาวรในวันที่:\n\n{deletionDate, date, full} เวลา {deletionDate, time, short}{reason, select, null {} other {\n\nเหตุผล: {reason}}}\n\nหากคุณต้องการเก็บบัญชีไว้ โปรดติดต่อ {safety_email} จากที่อยู่อีเมลนี้ก่อนวันดังกล่าว\n\n– ทีม {product_name}" + "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณไม่มีการใช้งานมาเป็นเวลานาน จึงถูกกำหนดให้ลบอย่างถาวรในวันที่:\n\n{deletionDate, date, full} เวลา {deletionDate, time, short}{reason, select, null {} other {\n\nเหตุผล: {reason}}}\n\n{safety_email, select, null {หากคุณต้องการเก็บบัญชีไว้ โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้ก่อนวันดังกล่าว} other {หากคุณต้องการเก็บบัญชีไว้ โปรดติดต่อ {safety_email} จากที่อยู่อีเมลนี้ก่อนวันดังกล่าว}}\n\n– ทีม {product_name}" }, "account_deletion_scheduled_requested": { "subject": "บัญชี {product_name} ของคุณถูกกำหนดให้ลบแล้ว", - "body": "สวัสดี {username},\n\nตามที่คุณร้องขอ บัญชี {product_name} ของคุณถูกกำหนดให้ลบอย่างถาวรในวันที่:\n\n{deletionDate, date, full} เวลา {deletionDate, time, short}{reason, select, null {} other {\n\nเหตุผล: {reason}}}\n\nบัญชีของคุณจะถูกล็อกจนถึงวันนั้น หากคุณไม่ได้ร้องขอ หรือต้องการเก็บบัญชีไว้ โปรดติดต่อ {safety_email} จากที่อยู่อีเมลนี้ก่อนวันดังกล่าว\n\n– ทีม {product_name}" + "body": "สวัสดี {username},\n\nตามที่คุณร้องขอ บัญชี {product_name} ของคุณถูกกำหนดให้ลบอย่างถาวรในวันที่:\n\n{deletionDate, date, full} เวลา {deletionDate, time, short}{reason, select, null {} other {\n\nเหตุผล: {reason}}}\n\nบัญชีของคุณจะถูกล็อกจนถึงวันนั้น {safety_email, select, null {หากคุณไม่ได้ร้องขอ หรือต้องการเก็บบัญชีไว้ โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้ก่อนวันดังกล่าว} other {หากคุณไม่ได้ร้องขอ หรือต้องการเก็บบัญชีไว้ โปรดติดต่อ {safety_email} จากที่อยู่อีเมลนี้ก่อนวันดังกล่าว}}\n\n– ทีม {product_name}" }, "account_scheduled_deletion": { "subject": "บัญชี {product_name} ของคุณจะถูกลบอย่างถาวร", - "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณถูกกำหนดให้ลบอย่างถาวรเนื่องจากละเมิดข้อกำหนดในการให้บริการหรือแนวทางปฏิบัติของคอมมูนิตี้ของเรา\n\nกำหนดการลบ: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}}\n}\n\nนี่เป็นการดำเนินการบังคับใช้ที่ร้ายแรง ข้อมูลบัญชีของคุณจะถูกลบอย่างถาวรตามวันที่กำหนด\n\nโปรดตรวจสอบ:\n- ข้อกำหนดในการให้บริการ: {termsUrl}\n- แนวทางปฏิบัติของคอมมูนิตี้: {guidelinesUrl}\n\nกระบวนการอุทธรณ์:\nหากคุณเชื่อว่าการตัดสินใจนี้ไม่ถูกต้องหรือไม่ยุติธรรม คุณมีเวลา 60 วันในการยื่นอุทธรณ์ ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้\n\nในการอุทธรณ์ของคุณ:\n- อธิบายให้ชัดเจนว่าทำไมคุณถึงเชื่อว่าการตัดสินใจนั้นไม่ถูกต้องหรือไม่ยุติธรรม\n- แนบหลักฐานหรือบริบทที่เกี่ยวข้อง\n\nสมาชิกของทีมความปลอดภัย {product_name} จะตรวจสอบคำอุทธรณ์ของคุณและอาจระงับการลบที่รอดำเนินการไว้จนกว่าจะมีการตัดสินใจขั้นสุดท้าย\n\n– ทีมความปลอดภัย {product_name}" + "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณถูกกำหนดให้ลบอย่างถาวรเนื่องจากละเมิดข้อกำหนดในการให้บริการหรือแนวทางปฏิบัติของคอมมูนิตี้ของเรา\n\nกำหนดการลบ: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}}\n}\n\nนี่เป็นการดำเนินการบังคับใช้ที่ร้ายแรง ข้อมูลบัญชีของคุณจะถูกลบอย่างถาวรตามวันที่กำหนด\n\n{legalLinks, select,\n both {โปรดตรวจสอบ:\n- ข้อกำหนดในการให้บริการ: {termsUrl}\n- แนวทางปฏิบัติของคอมมูนิตี้: {guidelinesUrl}\n\n}\n terms {โปรดตรวจสอบ:\n- ข้อกำหนดในการให้บริการ: {termsUrl}\n\n}\n guidelines {โปรดตรวจสอบ:\n- แนวทางปฏิบัติของคอมมูนิตี้: {guidelinesUrl}\n\n}\n other {}\n}กระบวนการอุทธรณ์:\nหากคุณเชื่อว่าการตัดสินใจนี้ไม่ถูกต้องหรือไม่ยุติธรรม คุณมีเวลา 60 วันในการยื่นอุทธรณ์ {appeals_email, select, null {ติดต่อผู้ดูแลระบบของอินสแตนซ์นี้} other {ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้}}\n\nในการอุทธรณ์ของคุณ:\n- อธิบายให้ชัดเจนว่าทำไมคุณถึงเชื่อว่าการตัดสินใจนั้นไม่ถูกต้องหรือไม่ยุติธรรม\n- แนบหลักฐานหรือบริบทที่เกี่ยวข้อง\n\nสมาชิกของทีมความปลอดภัย {product_name} จะตรวจสอบคำอุทธรณ์ของคุณและอาจระงับการลบที่รอดำเนินการไว้จนกว่าจะมีการตัดสินใจขั้นสุดท้าย\n\n– ทีมความปลอดภัย {product_name}" }, "account_temp_banned": { "subject": "บัญชี {product_name} ของคุณถูกระงับชั่วคราว", - "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณถูกระงับชั่วคราวเนื่องจากละเมิดข้อกำหนดในการให้บริการหรือแนวทางปฏิบัติของคอมมูนิตี้ของเรา\n\nระยะเวลา: {durationHours, plural,\n =1 {1 ชั่วโมง}\n other {# ชั่วโมง}\n}\nระงับจนถึง: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}}\n}\n\nในช่วงเวลานี้ คุณจะไม่สามารถเข้าถึงบัญชีของคุณได้\n\nโปรดตรวจสอบ:\n- ข้อกำหนดในการให้บริการ: {termsUrl}\n- แนวทางปฏิบัติของคอมมูนิตี้: {guidelinesUrl}\n\nหากคุณเชื่อว่าการตัดสินใจนี้ไม่ถูกต้องหรือไม่ยุติธรรม คุณสามารถยื่นอุทธรณ์ได้ ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้และอธิบายให้ชัดเจนว่าทำไมคุณถึงเชื่อว่าการตัดสินใจนั้นไม่ถูกต้อง เราจะตรวจสอบคำอุทธรณ์ของคุณและตอบกลับด้วยการตัดสินใจของเรา\n\n– ทีมความปลอดภัย {product_name}" + "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณถูกระงับชั่วคราวเนื่องจากละเมิดข้อกำหนดในการให้บริการหรือแนวทางปฏิบัติของคอมมูนิตี้ของเรา\n\nระยะเวลา: {durationHours, plural,\n =1 {1 ชั่วโมง}\n other {# ชั่วโมง}\n}\nระงับจนถึง: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}}\n}\n\nในช่วงเวลานี้ คุณจะไม่สามารถเข้าถึงบัญชีของคุณได้\n\n{legalLinks, select,\n both {โปรดตรวจสอบ:\n- ข้อกำหนดในการให้บริการ: {termsUrl}\n- แนวทางปฏิบัติของคอมมูนิตี้: {guidelinesUrl}\n\n}\n terms {โปรดตรวจสอบ:\n- ข้อกำหนดในการให้บริการ: {termsUrl}\n\n}\n guidelines {โปรดตรวจสอบ:\n- แนวทางปฏิบัติของคอมมูนิตี้: {guidelinesUrl}\n\n}\n other {}\n}หากคุณเชื่อว่าการตัดสินใจนี้ไม่ถูกต้องหรือไม่ยุติธรรม คุณสามารถยื่นอุทธรณ์ได้ {appeals_email, select, null {ติดต่อผู้ดูแลระบบของอินสแตนซ์นี้และอธิบายให้ชัดเจนว่าทำไมคุณถึงเชื่อว่าการตัดสินใจนั้นไม่ถูกต้อง} other {ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้และอธิบายให้ชัดเจนว่าทำไมคุณถึงเชื่อว่าการตัดสินใจนั้นไม่ถูกต้อง}} เราจะตรวจสอบคำอุทธรณ์ของคุณและตอบกลับด้วยการตัดสินใจของเรา\n\n– ทีมความปลอดภัย {product_name}" }, "donation_confirmation": { "subject": "ขอบคุณสำหรับการบริจาคให้ {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "เราได้ตัดสินใจเกี่ยวกับรายงานของคุณใน {product_name} แล้ว", - "body": "สวัสดี,\n\nทีมความปลอดภัยของเราได้ตรวจสอบรายงาน Digital Services Act ของคุณ (ID: {reportId}) และตัดสินใจแล้ว{hasComment, select, yes {\n\nการตอบกลับจากทีมความปลอดภัย:\n{publicComment}} other {}}\n\nเราไม่เปิดเผยรายละเอียดการดำเนินการกับบัญชีของบุคคลอื่น เนื่องจากเป็นข้อมูลส่วนบุคคลของบุคคลนั้น\n\nหากคุณไม่เห็นด้วยกับการตัดสินใจนี้ คุณสามารถยื่นอุทธรณ์ได้โดยไม่มีค่าใช้จ่ายภายใน 60 วัน ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้ ระบุ ID รายงานของคุณ และอธิบายว่าทำไมคุณถึงคิดว่าการตัดสินใจนั้นไม่ถูกต้อง หากคุณอยู่ในสหภาพยุโรป คุณยังสามารถส่งข้อพิพาทไปยังหน่วยงานระงับข้อพิพาทนอกศาลที่ได้รับการรับรองได้ ทั้งหมดนี้ไม่กระทบต่อสิทธิ์ของคุณในการฟ้องร้องต่อศาล\n\n– ทีมความปลอดภัย {product_name}" + "body": "สวัสดี,\n\nทีมความปลอดภัยของเราได้ตรวจสอบรายงานตามกฎหมายบริการดิจิทัล (Digital Services Act) ของคุณ (ID: {reportId}) และตัดสินใจแล้ว{hasComment, select, yes {\n\nการตอบกลับจากทีมความปลอดภัย:\n{publicComment}} other {}}\n\nเราไม่เปิดเผยรายละเอียดการดำเนินการกับบัญชีของบุคคลอื่น เนื่องจากเป็นข้อมูลส่วนบุคคลของบุคคลนั้น\n\nหากคุณไม่เห็นด้วยกับการตัดสินใจนี้ คุณสามารถยื่นอุทธรณ์ได้โดยไม่มีค่าใช้จ่ายภายใน 60 วัน {appeals_email, select, null {ติดต่อผู้ดูแลระบบของอินสแตนซ์นี้ ระบุ ID รายงานของคุณ และอธิบายว่าทำไมคุณถึงคิดว่าการตัดสินใจนั้นไม่ถูกต้อง} other {ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้ ระบุ ID รายงานของคุณ และอธิบายว่าทำไมคุณถึงคิดว่าการตัดสินใจนั้นไม่ถูกต้อง}} หากคุณอยู่ในสหภาพยุโรป คุณยังสามารถส่งข้อพิพาทไปยังหน่วยงานระงับข้อพิพาทนอกศาลที่ได้รับการรับรองได้ ทั้งหมดนี้ไม่กระทบต่อสิทธิ์ของคุณในการฟ้องร้องต่อศาล\n\n– ทีมความปลอดภัย {product_name}" }, "dsa_report_verification": { "subject": "ยืนยันอีเมลสำหรับการรายงาน DSA", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "สิทธิประโยชน์จากของขวัญที่คุณแลกรับถูกนำออกแล้ว", - "body": "สวัสดี {username},\n\nรหัสของขวัญที่คุณแลกรับนั้นเดิมทีชำระโดยผู้อื่น การชำระเงินดังกล่าวถูกยกเลิกในภายหลัง (การเรียกเก็บเงินคืน)\n\nด้วยเหตุนี้ เราจึงลบสิทธิประโยชน์ที่เพิ่มเข้าบัญชีของคุณตอนที่คุณแลกรับของขวัญ\n\nหากคุณคิดว่านี่เป็นข้อผิดพลาด โปรดติดต่อทีมสนับสนุนของเราและระบุรายละเอียดใด ๆ ที่คุณมีเกี่ยวกับรหัสของขวัญและเวลาที่คุณแลกรับ\n\n– ทีม {product_name}" + "body": "สวัสดี {username},\n\nรหัสของขวัญที่คุณแลกรับนั้นเดิมทีชำระโดยผู้อื่น การชำระเงินดังกล่าวถูกยกเลิกในภายหลัง (การเรียกเก็บเงินคืน)\n\nด้วยเหตุนี้ เราจึงลบสิทธิประโยชน์ที่เพิ่มเข้าบัญชีของคุณตอนที่คุณแลกรับของขวัญ\n\n{support_email, select, null {หากคุณคิดว่านี่เป็นข้อผิดพลาด โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้และระบุรายละเอียดใด ๆ ที่คุณมีเกี่ยวกับรหัสของขวัญและเวลาที่คุณแลกรับ} other {หากคุณคิดว่านี่เป็นข้อผิดพลาด โปรดติดต่อทีมสนับสนุนของเราและระบุรายละเอียดใด ๆ ที่คุณมีเกี่ยวกับรหัสของขวัญและเวลาที่คุณแลกรับ}}\n\n– ทีม {product_name}" }, "harvest_completed": { "subject": "ข้อมูลที่ส่งออกจาก {product_name} พร้อมให้ดาวน์โหลดแล้ว", - "body": "สวัสดี {username},\n\nข้อมูลที่ส่งออกของคุณพร้อมแล้ว\n\nลิงก์ดาวน์โหลด:\n{downloadUrl}\n\nจำนวนข้อความ: {totalMessages, number}\nขนาดไฟล์: {fileSizeMB, number} MB\n\nลิงก์นี้จะหมดอายุในวันที่ {expiresAt, date, full} เวลา {expiresAt, time, short}\n\nหากคุณไม่ได้ร้องขอการส่งออกนี้ โปรดเปลี่ยนรหัสผ่านทันทีและติดต่อทีมสนับสนุนของเรา\n\n– ทีม {product_name}" + "body": "สวัสดี {username},\n\nข้อมูลที่ส่งออกของคุณพร้อมแล้ว\n\nลิงก์ดาวน์โหลด:\n{downloadUrl}\n\nจำนวนข้อความ: {totalMessages, number}\nขนาดไฟล์: {fileSizeMB, number} MB\n\nลิงก์นี้จะหมดอายุในวันที่ {expiresAt, date, full} เวลา {expiresAt, time, short}\n\n{support_email, select, null {หากคุณไม่ได้ร้องขอการส่งออกนี้ โปรดเปลี่ยนรหัสผ่านทันทีและติดต่อผู้ดูแลระบบของอินสแตนซ์นี้} other {หากคุณไม่ได้ร้องขอการส่งออกนี้ โปรดเปลี่ยนรหัสผ่านทันทีและติดต่อทีมสนับสนุนของเรา}}\n\n– ทีม {product_name}" }, "inactivity_warning": { "subject": "บัญชี {product_name} ของคุณจะถูกลบเนื่องจากไม่มีการใช้งาน", - "body": "สวัสดี {username},\n\nเราไม่พบกิจกรรมในบัญชี {product_name} ของคุณตั้งแต่ {lastActiveDate, date, full}\n\nหากคุณไม่เข้าสู่ระบบภายในวันที่ {deletionDate, date, full} เวลา {deletionDate, time, short} บัญชีของคุณจะถูกลบอย่างถาวรเนื่องจากไม่มีการใช้งาน\n\nเข้าสู่ระบบที่นี่:\n{loginUrl}\n\nหากคุณใช้ {product_name} เมื่อเร็ว ๆ นี้ โปรดติดต่อทีมสนับสนุนของเราทันที\n\n– ทีม {product_name}" + "body": "สวัสดี {username},\n\nเราไม่พบกิจกรรมในบัญชี {product_name} ของคุณตั้งแต่ {lastActiveDate, date, full}\n\nหากคุณไม่เข้าสู่ระบบภายในวันที่ {deletionDate, date, full} เวลา {deletionDate, time, short} บัญชีของคุณจะถูกลบอย่างถาวรเนื่องจากไม่มีการใช้งาน\n\nเข้าสู่ระบบที่นี่:\n{loginUrl}\n\n{support_email, select, null {หากคุณใช้ {product_name} เมื่อเร็ว ๆ นี้ โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้ทันที} other {หากคุณใช้ {product_name} เมื่อเร็ว ๆ นี้ โปรดติดต่อทีมสนับสนุนของเราทันที}}\n\n– ทีม {product_name}" }, "ip_authorization": { "subject": "อนุญาตการเข้าสู่ระบบจากที่อยู่ IP ใหม่", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "รายงานของคุณใน {product_name} ได้รับการตรวจสอบแล้ว", - "body": "สวัสดี {username},\n\nทีมความปลอดภัยของเราได้ตรวจสอบรายงานของคุณ (ID: {reportId}) แล้ว{hasComment, select, yes {\n\nการตอบกลับจากทีมความปลอดภัย:\n{publicComment}} other {}}\n\nขอบคุณที่ช่วยให้ {product_name} ปลอดภัยสำหรับทุกคน เราให้ความสำคัญกับรายงานทั้งหมดและขอขอบคุณสำหรับการมีส่วนร่วมของคุณในคอมมูนิตี้\n\nหากคุณมีคำถามหรือข้อกังวลใด ๆ เกี่ยวกับผลลัพธ์นี้ โปรดติดต่อ {safety_email}\n\n– ทีมความปลอดภัย {product_name}" + "body": "สวัสดี {username},\n\nทีมความปลอดภัยของเราได้ตรวจสอบรายงานของคุณ (ID: {reportId}) แล้ว{hasComment, select, yes {\n\nการตอบกลับจากทีมความปลอดภัย:\n{publicComment}} other {}}\n\nขอบคุณที่ช่วยให้ {product_name} ปลอดภัยสำหรับทุกคน เราให้ความสำคัญกับรายงานทั้งหมดและขอขอบคุณสำหรับการมีส่วนร่วมของคุณในคอมมูนิตี้\n\n{safety_email, select, null {หากคุณมีคำถามหรือข้อกังวลใด ๆ เกี่ยวกับผลลัพธ์นี้ โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้} other {หากคุณมีคำถามหรือข้อกังวลใด ๆ เกี่ยวกับผลลัพธ์นี้ โปรดติดต่อ {safety_email}}}\n\n– ทีมความปลอดภัย {product_name}" }, "scheduled_deletion_notification": { "subject": "บัญชี {product_name} ของคุณจะถูกลบอย่างถาวร", - "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณถูกกำหนดให้ลบอย่างถาวร\n\nกำหนดการลบ: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}}\n}\n\nนี่เป็นการดำเนินการบังคับใช้ที่ร้ายแรง ข้อมูลบัญชีของคุณจะถูกลบอย่างถาวรตามวันที่กำหนด\n\nหากคุณเชื่อว่าการตัดสินใจนี้ไม่ถูกต้อง คุณสามารถยื่นอุทธรณ์ได้ ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้\n\n– ทีมความปลอดภัย {product_name}" + "body": "สวัสดี {username},\n\nบัญชี {product_name} ของคุณถูกกำหนดให้ลบอย่างถาวร\n\nกำหนดการลบ: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}}\n}\n\nนี่เป็นการดำเนินการบังคับใช้ที่ร้ายแรง ข้อมูลบัญชีของคุณจะถูกลบอย่างถาวรตามวันที่กำหนด\n\nหากคุณเชื่อว่าการตัดสินใจนี้ไม่ถูกต้อง คุณสามารถยื่นอุทธรณ์ได้ {appeals_email, select, null {ติดต่อผู้ดูแลระบบของอินสแตนซ์นี้} other {ส่งอีเมลไปที่ {appeals_email} จากที่อยู่อีเมลนี้}}\n\n– ทีมความปลอดภัย {product_name}" }, "self_deletion_scheduled": { "subject": "บัญชี {product_name} ของคุณถูกกำหนดให้ลบแล้ว", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/tr.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/tr.json index d43b5ee34..d5bd688c1 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/tr.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/tr.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "{product_name} hesabının silinmesi iptal edildi", - "body": "Merhaba {username},\n\n{product_name} hesabının planlanan silinme işlemi iptal edildi. Hesabın silinmeyecek.\n\nSoruların varsa {safety_email} adresine ulaş.\n\n– {product_name} Ekibi" + "body": "Merhaba {username},\n\n{product_name} hesabının planlanan silinme işlemi iptal edildi. Hesabın silinmeyecek.\n\n{safety_email, select, null {Soruların varsa bu kurulumun yöneticileriyle iletişime geç.} other {Soruların varsa {safety_email} adresine ulaş.}}\n\n– {product_name} Ekibi" }, "account_deletion_scheduled_inactivity": { "subject": "{product_name} hesabın hareketsizlik nedeniyle silinecek", - "body": "Merhaba {username},\n\n{product_name} hesabın uzun süredir hareketsiz olduğu için şu tarihte kalıcı olarak silinmek üzere planlandı:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nSebep: {reason}}}\n\nHesabını korumak istiyorsan bu tarihten önce bu e-posta adresinden {safety_email} adresine ulaş.\n\n– {product_name} Ekibi" + "body": "Merhaba {username},\n\n{product_name} hesabın uzun süredir hareketsiz olduğu için şu tarihte kalıcı olarak silinmek üzere planlandı:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nSebep: {reason}}}\n\n{safety_email, select, null {Hesabını korumak istiyorsan bu tarihten önce bu kurulumun yöneticileriyle iletişime geç.} other {Hesabını korumak istiyorsan bu tarihten önce bu e-posta adresinden {safety_email} adresine ulaş.}}\n\n– {product_name} Ekibi" }, "account_deletion_scheduled_requested": { "subject": "{product_name} hesabının silinmesi planlandı", - "body": "Merhaba {username},\n\nTalebin doğrultusunda {product_name} hesabın şu tarihte kalıcı olarak silinmek üzere planlandı:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nSebep: {reason}}}\n\nHesabın o zamana kadar kilitli. Bunu sen talep etmediysen ya da hesabını korumak istiyorsan bu tarihten önce bu e-posta adresinden {safety_email} adresine ulaş.\n\n– {product_name} Ekibi" + "body": "Merhaba {username},\n\nTalebin doğrultusunda {product_name} hesabın şu tarihte kalıcı olarak silinmek üzere planlandı:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\nSebep: {reason}}}\n\nHesabın o zamana kadar kilitli. {safety_email, select, null {Bunu sen talep etmediysen ya da hesabını korumak istiyorsan bu tarihten önce bu kurulumun yöneticileriyle iletişime geç.} other {Bunu sen talep etmediysen ya da hesabını korumak istiyorsan bu tarihten önce bu e-posta adresinden {safety_email} adresine ulaş.}}\n\n– {product_name} Ekibi" }, "account_scheduled_deletion": { "subject": "{product_name} hesabın kalıcı olarak silinecek", - "body": "Merhaba {username},\n\nHizmet Şartlarımızı veya Topluluk Kurallarımızı ihlal ettiğin için {product_name} hesabın kalıcı olarak silinmek üzere planlandı.\n\nPlanlanan silme tarihi: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Sebep: {reason}}\n}\n\nBu, ciddi bir yaptırım işlemidir. Hesap verilerin planlanan tarihte kalıcı olarak silinecektir.\n\nLütfen şunları incele:\n- Hizmet Şartları: {termsUrl}\n- Topluluk Kuralları: {guidelinesUrl}\n\nİtiraz süreci:\nBu yaptırım kararının yanlış veya haksız olduğuna inanıyorsan, itiraz göndermek için 60 günün var. Bu e-posta adresinden {appeals_email} adresine e-posta gönder.\n\nİtirazında:\n- Yaptırım kararının neden yanlış veya haksız olduğunu düşündüğünü açıkça anlat\n- İlgili kanıtı veya bağlamı paylaş\n\n{product_name} Güvenlik Ekibinden bir üye itirazını inceleyecek ve nihai karar verilene kadar bekleyen silme işlemini duraklatabilir.\n\n– {product_name} Güvenlik Ekibi" + "body": "Merhaba {username},\n\nHizmet Şartlarımızı veya Topluluk Kurallarımızı ihlal ettiğin için {product_name} hesabın kalıcı olarak silinmek üzere planlandı.\n\nPlanlanan silme tarihi: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Sebep: {reason}}\n}\n\nBu, ciddi bir yaptırım işlemidir. Hesap verilerin planlanan tarihte kalıcı olarak silinecektir.\n\n{legalLinks, select,\n both {Lütfen şunları incele:\n- Hizmet Şartları: {termsUrl}\n- Topluluk Kuralları: {guidelinesUrl}\n\n}\n terms {Lütfen şunları incele:\n- Hizmet Şartları: {termsUrl}\n\n}\n guidelines {Lütfen şunları incele:\n- Topluluk Kuralları: {guidelinesUrl}\n\n}\n other {}\n}İtiraz süreci:\nBu yaptırım kararının yanlış veya haksız olduğuna inanıyorsan, itiraz göndermek için 60 günün var. {appeals_email, select, null {Bu kurulumun yöneticileriyle iletişime geç.} other {Bu e-posta adresinden {appeals_email} adresine e-posta gönder.}}\n\nİtirazında:\n- Yaptırım kararının neden yanlış veya haksız olduğunu düşündüğünü açıkça anlat\n- İlgili kanıtı veya bağlamı paylaş\n\n{product_name} Güvenlik Ekibinden bir üye itirazını inceleyecek ve nihai karar verilene kadar bekleyen silme işlemini duraklatabilir.\n\n– {product_name} Güvenlik Ekibi" }, "account_temp_banned": { "subject": "{product_name} hesabın geçici olarak askıya alındı", - "body": "Merhaba {username},\n\nHizmet Şartlarımızı veya Topluluk Kurallarımızı ihlal ettiğin için {product_name} hesabını geçici olarak askıya aldık.\n\nSüre: {durationHours, plural,\n =1 {1 saat}\n other {# saat}\n}\nŞu tarihe kadar askıda: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Sebep: {reason}}\n}\n\nBu süre boyunca hesabına erişemeyeceksin.\n\nLütfen şunları incele:\n- Hizmet Şartları: {termsUrl}\n- Topluluk Kuralları: {guidelinesUrl}\n\nBu yaptırım kararının yanlış veya haksız olduğuna inanıyorsan, itiraz gönderebilirsin. Bu e-posta adresinden {appeals_email} adresine e-posta gönder ve kararın neden yanlış olduğunu düşündüğünü açıkça anlat. İtirazını inceleyip kararımızı sana bildireceğiz.\n\n– {product_name} Güvenlik Ekibi" + "body": "Merhaba {username},\n\nHizmet Şartlarımızı veya Topluluk Kurallarımızı ihlal ettiğin için {product_name} hesabını geçici olarak askıya aldık.\n\nSüre: {durationHours, plural,\n =1 {1 saat}\n other {# saat}\n}\nŞu tarihe kadar askıda: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Sebep: {reason}}\n}\n\nBu süre boyunca hesabına erişemeyeceksin.\n\n{legalLinks, select,\n both {Lütfen şunları incele:\n- Hizmet Şartları: {termsUrl}\n- Topluluk Kuralları: {guidelinesUrl}\n\n}\n terms {Lütfen şunları incele:\n- Hizmet Şartları: {termsUrl}\n\n}\n guidelines {Lütfen şunları incele:\n- Topluluk Kuralları: {guidelinesUrl}\n\n}\n other {}\n}Bu yaptırım kararının yanlış veya haksız olduğuna inanıyorsan, itiraz gönderebilirsin. {appeals_email, select, null {Bu kurulumun yöneticileriyle iletişime geç ve kararın neden yanlış olduğunu düşündüğünü açıkça anlat.} other {Bu e-posta adresinden {appeals_email} adresine e-posta gönder ve kararın neden yanlış olduğunu düşündüğünü açıkça anlat.}} İtirazını inceleyip kararımızı sana bildireceğiz.\n\n– {product_name} Güvenlik Ekibi" }, "donation_confirmation": { "subject": "{product_name}'a yaptığın bağış için teşekkürler", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "{product_name} raporun hakkında karar verdik", - "body": "Merhaba,\n\nGüvenlik Ekibimiz Dijital Hizmetler Yasası raporunu (Kimlik: {reportId}) inceledi ve bir karar verdi.{hasComment, select, yes {\n\nGüvenlik Ekibinin yanıtı:\n{publicComment}} other {}}\n\nBaşka bir kişinin hesabına uygulanan işlemlerin ayrıntılarını paylaşmıyoruz çünkü bunlar o kişinin kişisel verileridir.\n\nBu karara katılmıyorsan 60 gün içinde ücretsiz olarak itiraz edebilirsin. Bu e-posta adresinden {appeals_email} adresine e-posta gönder, rapor kimliğini ekle ve kararın neden yanlış olduğunu düşündüğünü açıkla. AB'deysen anlaşmazlığı sertifikalı bir mahkeme dışı uyuşmazlık çözüm kuruluşuna da götürebilirsin. Bunların hiçbiri mahkemeye başvurma hakkını etkilemez.\n\n– {product_name} Güvenlik Ekibi" + "body": "Merhaba,\n\nGüvenlik Ekibimiz Dijital Hizmetler Yasası raporunu (Kimlik: {reportId}) inceledi ve bir karar verdi.{hasComment, select, yes {\n\nGüvenlik Ekibinin yanıtı:\n{publicComment}} other {}}\n\nBaşka bir kişinin hesabına uygulanan işlemlerin ayrıntılarını paylaşmıyoruz çünkü bunlar o kişinin kişisel verileridir.\n\nBu karara katılmıyorsan 60 gün içinde ücretsiz olarak itiraz edebilirsin. {appeals_email, select, null {Bu kurulumun yöneticileriyle iletişime geç, rapor kimliğini ekle ve kararın neden yanlış olduğunu düşündüğünü açıkla.} other {Bu e-posta adresinden {appeals_email} adresine e-posta gönder, rapor kimliğini ekle ve kararın neden yanlış olduğunu düşündüğünü açıkla.}} AB'deysen anlaşmazlığı sertifikalı bir mahkeme dışı uyuşmazlık çözüm kuruluşuna da götürebilirsin. Bunların hiçbiri mahkemeye başvurma hakkını etkilemez.\n\n– {product_name} Güvenlik Ekibi" }, "dsa_report_verification": { "subject": "DSA raporu için e-postanı doğrula", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Kullandığın hediyenin avantajları kaldırıldı", - "body": "Merhaba {username},\n\nKullandığın bir hediye kodunun ödemesi başlangıçta başka biri tarafından yapılmıştı. Bu ödeme daha sonra geri alındı (ters ibraz).\n\nBu nedenle, hediyeyi kullandığında hesabına eklenen avantajlar kaldırıldı.\n\nBunun bir hata olduğunu düşünüyorsan, lütfen destek ekibimizle iletişime geç ve hediye koduyla ilgili sahip olduğun tüm detayları ve ne zaman kullandığını belirt.\n\n– {product_name} Ekibi" + "body": "Merhaba {username},\n\nKullandığın bir hediye kodunun ödemesi başlangıçta başka biri tarafından yapılmıştı. Bu ödeme daha sonra geri alındı (ters ibraz).\n\nBu nedenle, hediyeyi kullandığında hesabına eklenen avantajlar kaldırıldı.\n\n{support_email, select, null {Bunun bir hata olduğunu düşünüyorsan, lütfen bu kurulumun yöneticileriyle iletişime geç ve hediye koduyla ilgili sahip olduğun tüm detayları ve ne zaman kullandığını belirt.} other {Bunun bir hata olduğunu düşünüyorsan, lütfen destek ekibimizle iletişime geç ve hediye koduyla ilgili sahip olduğun tüm detayları ve ne zaman kullandığını belirt.}}\n\n– {product_name} Ekibi" }, "harvest_completed": { "subject": "{product_name} veri dışa aktarımın indirilmeye hazır", - "body": "Merhaba {username},\n\nVeri dışa aktarımın hazır.\n\nİndirme bağlantısı:\n{downloadUrl}\n\nDahil edilen mesajlar: {totalMessages, number}\nDosya boyutu: {fileSizeMB, number} MB\n\nBu bağlantı {expiresAt, date, full} {expiresAt, time, short} tarihinde sona erecektir.\n\nBu dışa aktarımı sen talep etmediysen, lütfen hemen şifreni değiştir ve destek ekibimizle iletişime geç.\n\n– {product_name} Ekibi" + "body": "Merhaba {username},\n\nVeri dışa aktarımın hazır.\n\nİndirme bağlantısı:\n{downloadUrl}\n\nDahil edilen mesajlar: {totalMessages, number}\nDosya boyutu: {fileSizeMB, number} MB\n\nBu bağlantı {expiresAt, date, full} {expiresAt, time, short} tarihinde sona erecektir.\n\n{support_email, select, null {Bu dışa aktarımı sen talep etmediysen, lütfen hemen şifreni değiştir ve bu kurulumun yöneticileriyle iletişime geç.} other {Bu dışa aktarımı sen talep etmediysen, lütfen hemen şifreni değiştir ve destek ekibimizle iletişime geç.}}\n\n– {product_name} Ekibi" }, "inactivity_warning": { "subject": "{product_name} hesabın hareketsizlik nedeniyle silinecek", - "body": "Merhaba {username},\n\n{lastActiveDate, date, full} tarihinden beri {product_name} hesabında herhangi bir etkinlik görmedik.\n\n{deletionDate, date, full} {deletionDate, time, short} tarihine kadar giriş yapmazsan, hesabın hareketsizlik nedeniyle kalıcı olarak silinecektir.\n\nBuradan giriş yap:\n{loginUrl}\n\n{product_name}'ı yakın zamanda kullandıysan, lütfen hemen destek ekibimizle iletişime geç.\n\n– {product_name} Ekibi" + "body": "Merhaba {username},\n\n{lastActiveDate, date, full} tarihinden beri {product_name} hesabında herhangi bir etkinlik görmedik.\n\n{deletionDate, date, full} {deletionDate, time, short} tarihine kadar giriş yapmazsan, hesabın hareketsizlik nedeniyle kalıcı olarak silinecektir.\n\nBuradan giriş yap:\n{loginUrl}\n\n{support_email, select, null {{product_name}'ı yakın zamanda kullandıysan, lütfen hemen bu kurulumun yöneticileriyle iletişime geç.} other {{product_name}'ı yakın zamanda kullandıysan, lütfen hemen destek ekibimizle iletişime geç.}}\n\n– {product_name} Ekibi" }, "ip_authorization": { "subject": "Yeni bir IP adresinden girişi yetkilendir", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "{product_name} raporun incelendi", - "body": "Merhaba {username},\n\nRaporun (Kimlik: {reportId}) Güvenlik Ekibimiz tarafından incelendi.{hasComment, select, yes {\n\nGüvenlik Ekibinin yanıtı:\n{publicComment}} other {}}\n\n{product_name}'ı herkes için güvenli tutmaya yardımcı olduğun için teşekkür ederiz. Tüm raporları ciddiye alıyoruz ve topluluğa katkını takdir ediyoruz.\n\nBu sonuç hakkında herhangi bir sorun veya endişen varsa, lütfen {safety_email} adresine ulaş.\n\n– {product_name} Güvenlik Ekibi" + "body": "Merhaba {username},\n\nRaporun (Kimlik: {reportId}) Güvenlik Ekibimiz tarafından incelendi.{hasComment, select, yes {\n\nGüvenlik Ekibinin yanıtı:\n{publicComment}} other {}}\n\n{product_name}'ı herkes için güvenli tutmaya yardımcı olduğun için teşekkür ederiz. Tüm raporları ciddiye alıyoruz ve topluluğa katkını takdir ediyoruz.\n\n{safety_email, select, null {Bu sonuç hakkında herhangi bir sorun veya endişen varsa, lütfen bu kurulumun yöneticileriyle iletişime geç.} other {Bu sonuç hakkında herhangi bir sorun veya endişen varsa, lütfen {safety_email} adresine ulaş.}}\n\n– {product_name} Güvenlik Ekibi" }, "scheduled_deletion_notification": { "subject": "{product_name} hesabın kalıcı olarak silinecek", - "body": "Merhaba {username},\n\n{product_name} hesabın kalıcı olarak silinmek üzere planlandı.\n\nPlanlanan silme tarihi: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Sebep: {reason}}\n}\n\nBu, ciddi bir yaptırım işlemidir. Hesap verilerin planlanan tarihte kalıcı olarak silinecektir.\n\nBu yaptırım kararının yanlış olduğuna inanıyorsan, itiraz gönderebilirsin. Bu e-posta adresinden {appeals_email} adresine e-posta gönder.\n\n– {product_name} Güvenlik Ekibi" + "body": "Merhaba {username},\n\n{product_name} hesabın kalıcı olarak silinmek üzere planlandı.\n\nPlanlanan silme tarihi: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Sebep: {reason}}\n}\n\nBu, ciddi bir yaptırım işlemidir. Hesap verilerin planlanan tarihte kalıcı olarak silinecektir.\n\nBu yaptırım kararının yanlış olduğuna inanıyorsan, itiraz gönderebilirsin. {appeals_email, select, null {Bu kurulumun yöneticileriyle iletişime geç.} other {Bu e-posta adresinden {appeals_email} adresine e-posta gönder.}}\n\n– {product_name} Güvenlik Ekibi" }, "self_deletion_scheduled": { "subject": "{product_name} hesabının silinmesi planlandı", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/uk.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/uk.json index ceba8d43e..9d37ce03f 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/uk.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/uk.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Видалення твого акаунта {product_name} скасовано", - "body": "Привіт, {username},\n\nЗаплановане видалення твого акаунта {product_name} скасовано. Твій акаунт не буде видалено.\n\nЯкщо у тебе є запитання, напиши на {safety_email}.\n\n– Команда {product_name}" + "body": "Привіт, {username},\n\nЗаплановане видалення твого акаунта {product_name} скасовано. Твій акаунт не буде видалено.\n\n{safety_email, select, null {Якщо у тебе є запитання, звернися до адміністраторів цього екземпляра.} other {Якщо у тебе є запитання, напиши на {safety_email}.}}\n\n– Команда {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Твій акаунт {product_name} буде видалено через неактивність", - "body": "Привіт, {username},\n\nТвій акаунт {product_name} тривалий час був неактивним, тому його остаточне видалення заплановано на:\n\n{deletionDate, date, full} о {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nЯкщо хочеш зберегти акаунт, напиши на {safety_email} з цієї електронної адреси до цієї дати.\n\n– Команда {product_name}" + "body": "Привіт, {username},\n\nТвій акаунт {product_name} тривалий час був неактивним, тому його остаточне видалення заплановано на:\n\n{deletionDate, date, full} о {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\n{safety_email, select, null {Якщо хочеш зберегти акаунт, звернися до адміністраторів цього екземпляра до цієї дати.} other {Якщо хочеш зберегти акаунт, напиши на {safety_email} з цієї електронної адреси до цієї дати.}}\n\n– Команда {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Видалення акаунта {product_name} заплановано", - "body": "Привіт, {username},\n\nНа твій запит остаточне видалення акаунта {product_name} заплановано на:\n\n{deletionDate, date, full} о {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nДо того часу твій акаунт заблоковано. Якщо цей запит не від тебе або ти хочеш зберегти акаунт, напиши на {safety_email} з цієї електронної адреси до цієї дати.\n\n– Команда {product_name}" + "body": "Привіт, {username},\n\nНа твій запит остаточне видалення акаунта {product_name} заплановано на:\n\n{deletionDate, date, full} о {deletionDate, time, short}{reason, select, null {} other {\n\nПричина: {reason}}}\n\nДо того часу твій акаунт заблоковано. {safety_email, select, null {Якщо цей запит не від тебе або ти хочеш зберегти акаунт, звернися до адміністраторів цього екземпляра до цієї дати.} other {Якщо цей запит не від тебе або ти хочеш зберегти акаунт, напиши на {safety_email} з цієї електронної адреси до цієї дати.}}\n\n– Команда {product_name}" }, "account_scheduled_deletion": { "subject": "Твій акаунт {product_name} буде остаточно видалено", - "body": "Привіт, {username},\n\nМи запланували остаточне видалення твого акаунта {product_name} через порушення наших Умов використання або Правил спільноти.\n\nВидалення заплановано на: {deletionDate, date, full} о {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЦе серйозне рішення. Дані твого акаунта буде остаточно видалено у заплановану дату.\n\nБудь ласка, переглянь:\n- Умови використання: {termsUrl}\n- Правила спільноти: {guidelinesUrl}\n\nПроцес апеляції:\nЯкщо ти вважаєш, що це рішення було неправильним або необґрунтованим, у тебе є 60 днів, щоб подати апеляцію. Надішли електронний лист на {appeals_email} з цієї електронної адреси.\n\nУ твоїй апеляції:\n- Чітко поясни, чому ти вважаєш, що рішення було неправильним або необґрунтованим\n- Надай будь-які відповідні докази або контекст\n\nКоманда безпеки {product_name} розгляне твою апеляцію та може призупинити видалення до ухвалення остаточного рішення.\n\n– Команда безпеки {product_name}" + "body": "Привіт, {username},\n\nМи запланували остаточне видалення твого акаунта {product_name} через порушення наших Умов використання або Правил спільноти.\n\nВидалення заплановано на: {deletionDate, date, full} о {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЦе серйозне рішення. Дані твого акаунта буде остаточно видалено у заплановану дату.\n\n{legalLinks, select,\n both {Будь ласка, переглянь:\n- Умови використання: {termsUrl}\n- Правила спільноти: {guidelinesUrl}\n\n}\n terms {Будь ласка, переглянь:\n- Умови використання: {termsUrl}\n\n}\n guidelines {Будь ласка, переглянь:\n- Правила спільноти: {guidelinesUrl}\n\n}\n other {}\n}Процес апеляції:\nЯкщо ти вважаєш, що це рішення було неправильним або необґрунтованим, у тебе є 60 днів, щоб подати апеляцію. {appeals_email, select, null {Звернися до адміністраторів цього екземпляра.} other {Надішли електронний лист на {appeals_email} з цієї електронної адреси.}}\n\nУ твоїй апеляції:\n- Чітко поясни, чому ти вважаєш, що рішення було неправильним або необґрунтованим\n- Надай будь-які відповідні докази або контекст\n\nКоманда безпеки {product_name} розгляне твою апеляцію та може призупинити видалення до ухвалення остаточного рішення.\n\n– Команда безпеки {product_name}" }, "account_temp_banned": { "subject": "Твій акаунт {product_name} тимчасово призупинено", - "body": "Привіт, {username},\n\nТвій акаунт {product_name} тимчасово призупинено за порушення наших Умов використання або Правил спільноти.\n\nТривалість: {durationHours, plural,\n one {# година}\n few {# години}\n many {# годин}\n other {# години}\n}\nПризупинено до: {bannedUntil, date, full} о {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nПротягом цього часу ти не зможеш отримати доступ до свого акаунта.\n\nБудь ласка, переглянь:\n- Умови використання: {termsUrl}\n- Правила спільноти: {guidelinesUrl}\n\nЯкщо ти вважаєш, що це рішення було неправильним або необґрунтованим, ти можеш подати апеляцію. Надішли електронний лист на {appeals_email} з цієї електронної адреси та чітко поясни, чому ти вважаєш рішення неправильним. Ми розглянемо твою апеляцію та повідомимо про своє рішення.\n\n– Команда безпеки {product_name}" + "body": "Привіт, {username},\n\nТвій акаунт {product_name} тимчасово призупинено за порушення наших Умов використання або Правил спільноти.\n\nТривалість: {durationHours, plural,\n one {# година}\n few {# години}\n many {# годин}\n other {# години}\n}\nПризупинено до: {bannedUntil, date, full} о {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nПротягом цього часу ти не зможеш отримати доступ до свого акаунта.\n\n{legalLinks, select,\n both {Будь ласка, переглянь:\n- Умови використання: {termsUrl}\n- Правила спільноти: {guidelinesUrl}\n\n}\n terms {Будь ласка, переглянь:\n- Умови використання: {termsUrl}\n\n}\n guidelines {Будь ласка, переглянь:\n- Правила спільноти: {guidelinesUrl}\n\n}\n other {}\n}Якщо ти вважаєш, що це рішення було неправильним або необґрунтованим, ти можеш подати апеляцію. {appeals_email, select, null {Звернися до адміністраторів цього екземпляра та чітко поясни, чому ти вважаєш рішення неправильним.} other {Надішли електронний лист на {appeals_email} з цієї електронної адреси та чітко поясни, чому ти вважаєш рішення неправильним.}} Ми розглянемо твою апеляцію та повідомимо про своє рішення.\n\n– Команда безпеки {product_name}" }, "donation_confirmation": { "subject": "Дякуємо за твою пожертву для {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Ми ухвалили рішення щодо твого звіту в {product_name}", - "body": "Привіт,\n\nНаша команда безпеки розглянула твій звіт за Законом про цифрові послуги (ID: {reportId}) та ухвалила рішення.{hasComment, select, yes {\n\nВідповідь команди безпеки:\n{publicComment}} other {}}\n\nМи не розголошуємо подробиць заходів, ужитих щодо акаунта іншої людини, оскільки це її персональні дані.\n\nЯкщо ти не погоджуєшся з цим рішенням, ти можеш безкоштовно подати апеляцію протягом 60 днів. Надішли електронний лист на {appeals_email} з цієї електронної адреси, вкажи ID свого звіту та поясни, чому вважаєш рішення неправильним. Якщо ти перебуваєш у ЄС, ти також можеш передати спір до сертифікованого органу позасудового врегулювання спорів. Усе це не впливає на твоє право звернутися до суду.\n\n– Команда безпеки {product_name}" + "body": "Привіт,\n\nНаша команда безпеки розглянула твій звіт за Законом про цифрові послуги (ID: {reportId}) та ухвалила рішення.{hasComment, select, yes {\n\nВідповідь команди безпеки:\n{publicComment}} other {}}\n\nМи не розголошуємо подробиць заходів, ужитих щодо акаунта іншої людини, оскільки це її персональні дані.\n\nЯкщо ти не погоджуєшся з цим рішенням, ти можеш безкоштовно подати апеляцію протягом 60 днів. {appeals_email, select, null {Звернися до адміністраторів цього екземпляра, вкажи ID свого звіту та поясни, чому вважаєш рішення неправильним.} other {Надішли електронний лист на {appeals_email} з цієї електронної адреси, вкажи ID свого звіту та поясни, чому вважаєш рішення неправильним.}} Якщо ти перебуваєш у ЄС, ти також можеш передати спір до сертифікованого органу позасудового врегулювання спорів. Усе це не впливає на твоє право звернутися до суду.\n\n– Команда безпеки {product_name}" }, "dsa_report_verification": { "subject": "Підтвердь свою електронну адресу для звіту DSA", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Видалено переваги активованого подарунка", - "body": "Привіт, {username},\n\nПодарунковий код, активований на твоєму акаунті, спочатку оплатила інша людина. Цей платіж згодом скасовано (повернення коштів).\n\nЧерез це видалено переваги, які були додані до твого акаунта під час активації подарунка.\n\nЯкщо ти вважаєш, що це помилка, будь ласка, зв'яжися з нашою службою підтримки та надай будь-які деталі про подарунковий код та час його активації.\n\n– Команда {product_name}" + "body": "Привіт, {username},\n\nПодарунковий код, активований на твоєму акаунті, спочатку оплатила інша людина. Цей платіж згодом скасовано (повернення коштів).\n\nЧерез це видалено переваги, які були додані до твого акаунта під час активації подарунка.\n\n{support_email, select, null {Якщо ти вважаєш, що це помилка, будь ласка, зв'яжися з адміністраторами цього екземпляра та надай будь-які деталі про подарунковий код та час його активації.} other {Якщо ти вважаєш, що це помилка, будь ласка, зв'яжися з нашою службою підтримки та надай будь-які деталі про подарунковий код та час його активації.}}\n\n– Команда {product_name}" }, "harvest_completed": { "subject": "Твій експорт даних {product_name} готовий до завантаження", - "body": "Привіт, {username},\n\nТвій експорт даних готовий.\n\nПосилання для завантаження:\n{downloadUrl}\n\nВключено повідомлень: {totalMessages, number}\nРозмір файлу: {fileSizeMB, number} МБ\n\nЦе посилання діє до {expiresAt, date, full} о {expiresAt, time, short}.\n\nЯкщо цей запит не від тебе, будь ласка, негайно зміни пароль та зв'яжися з нашою службою підтримки.\n\n– Команда {product_name}" + "body": "Привіт, {username},\n\nТвій експорт даних готовий.\n\nПосилання для завантаження:\n{downloadUrl}\n\nВключено повідомлень: {totalMessages, number}\nРозмір файлу: {fileSizeMB, number} МБ\n\nЦе посилання діє до {expiresAt, date, full} о {expiresAt, time, short}.\n\n{support_email, select, null {Якщо цей запит не від тебе, будь ласка, негайно зміни пароль та зв'яжися з адміністраторами цього екземпляра.} other {Якщо цей запит не від тебе, будь ласка, негайно зміни пароль та зв'яжися з нашою службою підтримки.}}\n\n– Команда {product_name}" }, "inactivity_warning": { "subject": "Твій акаунт {product_name} буде видалено через неактивність", - "body": "Привіт, {username},\n\nМи не бачили жодної активності на твоєму акаунті {product_name} з {lastActiveDate, date, full}.\n\nЯкщо ти не увійдеш до {deletionDate, date, full} о {deletionDate, time, short}, твій акаунт буде остаточно видалено через неактивність.\n\nУвійди тут:\n{loginUrl}\n\nЯкщо останнім часом ти користуєшся {product_name}, будь ласка, негайно зв'яжися з нашою службою підтримки.\n\n– Команда {product_name}" + "body": "Привіт, {username},\n\nМи не бачили жодної активності на твоєму акаунті {product_name} з {lastActiveDate, date, full}.\n\nЯкщо ти не увійдеш до {deletionDate, date, full} о {deletionDate, time, short}, твій акаунт буде остаточно видалено через неактивність.\n\nУвійди тут:\n{loginUrl}\n\n{support_email, select, null {Якщо останнім часом ти користуєшся {product_name}, будь ласка, негайно зв'яжися з адміністраторами цього екземпляра.} other {Якщо останнім часом ти користуєшся {product_name}, будь ласка, негайно зв'яжися з нашою службою підтримки.}}\n\n– Команда {product_name}" }, "ip_authorization": { "subject": "Дозволь вхід з нової IP-адреси", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Твій звіт у {product_name} розглянуто", - "body": "Привіт, {username},\n\nНаша команда безпеки розглянула твій звіт (ID: {reportId}).{hasComment, select, yes {\n\nВідповідь команди безпеки:\n{publicComment}} other {}}\n\nДякуємо, що допомагаєш зберігати {product_name} безпечним для всіх. Ми серйозно ставимося до кожного звіту та цінуємо твій внесок у спільноту.\n\nЯкщо у тебе є запитання чи зауваження щодо цього рішення, напиши на {safety_email}.\n\n– Команда безпеки {product_name}" + "body": "Привіт, {username},\n\nНаша команда безпеки розглянула твій звіт (ID: {reportId}).{hasComment, select, yes {\n\nВідповідь команди безпеки:\n{publicComment}} other {}}\n\nДякуємо, що допомагаєш зберігати {product_name} безпечним для всіх. Ми серйозно ставимося до кожного звіту та цінуємо твій внесок у спільноту.\n\n{safety_email, select, null {Якщо у тебе є запитання чи зауваження щодо цього рішення, звернися до адміністраторів цього екземпляра.} other {Якщо у тебе є запитання чи зауваження щодо цього рішення, напиши на {safety_email}.}}\n\n– Команда безпеки {product_name}" }, "scheduled_deletion_notification": { "subject": "Твій акаунт {product_name} буде остаточно видалено", - "body": "Привіт, {username},\n\nМи запланували остаточне видалення твого акаунта {product_name}.\n\nВидалення заплановано на: {deletionDate, date, full} о {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЦе серйозне рішення. Дані твого акаунта буде остаточно видалено у заплановану дату.\n\nЯкщо ти вважаєш, що це рішення було неправильним, ти можеш подати апеляцію. Надішли електронний лист на {appeals_email} з цієї електронної адреси.\n\n– Команда безпеки {product_name}" + "body": "Привіт, {username},\n\nМи запланували остаточне видалення твого акаунта {product_name}.\n\nВидалення заплановано на: {deletionDate, date, full} о {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nЦе серйозне рішення. Дані твого акаунта буде остаточно видалено у заплановану дату.\n\nЯкщо ти вважаєш, що це рішення було неправильним, ти можеш подати апеляцію. {appeals_email, select, null {Звернися до адміністраторів цього екземпляра.} other {Надішли електронний лист на {appeals_email} з цієї електронної адреси.}}\n\n– Команда безпеки {product_name}" }, "self_deletion_scheduled": { "subject": "Видалення акаунта {product_name} заплановано", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/vi.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/vi.json index 3ae2d4fff..1717e126e 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/vi.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/vi.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Lịch xóa tài khoản {product_name} của bạn đã được hủy", - "body": "Xin chào {username},\n\nLịch xóa tài khoản {product_name} của bạn đã được hủy. Tài khoản của bạn sẽ không bị xóa.\n\nNếu bạn có bất kỳ câu hỏi nào, vui lòng liên hệ {safety_email}.\n\n– Đội ngũ {product_name}" + "body": "Xin chào {username},\n\nLịch xóa tài khoản {product_name} của bạn đã được hủy. Tài khoản của bạn sẽ không bị xóa.\n\n{safety_email, select, null {Nếu bạn có bất kỳ câu hỏi nào, vui lòng liên hệ quản trị viên của máy chủ này.} other {Nếu bạn có bất kỳ câu hỏi nào, vui lòng liên hệ {safety_email}.}}\n\n– Đội ngũ {product_name}" }, "account_deletion_scheduled_inactivity": { "subject": "Tài khoản {product_name} của bạn sẽ bị xóa do không hoạt động", - "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã không hoạt động trong thời gian dài, vì vậy tài khoản được lên lịch xóa vĩnh viễn vào:\n\n{deletionDate, date, full} lúc {deletionDate, time, short}{reason, select, null {} other {\n\nLý do: {reason}}}\n\nNếu bạn muốn giữ tài khoản, hãy liên hệ {safety_email} từ địa chỉ email này trước ngày đó.\n\n– Đội ngũ {product_name}" + "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã không hoạt động trong thời gian dài, vì vậy tài khoản được lên lịch xóa vĩnh viễn vào:\n\n{deletionDate, date, full} lúc {deletionDate, time, short}{reason, select, null {} other {\n\nLý do: {reason}}}\n\n{safety_email, select, null {Nếu bạn muốn giữ tài khoản, hãy liên hệ quản trị viên của máy chủ này trước ngày đó.} other {Nếu bạn muốn giữ tài khoản, hãy liên hệ {safety_email} từ địa chỉ email này trước ngày đó.}}\n\n– Đội ngũ {product_name}" }, "account_deletion_scheduled_requested": { "subject": "Tài khoản {product_name} của bạn đã được lên lịch xóa", - "body": "Xin chào {username},\n\nTheo yêu cầu của bạn, tài khoản {product_name} của bạn được lên lịch xóa vĩnh viễn vào:\n\n{deletionDate, date, full} lúc {deletionDate, time, short}{reason, select, null {} other {\n\nLý do: {reason}}}\n\nTài khoản của bạn sẽ bị khóa cho đến lúc đó. Nếu bạn không yêu cầu điều này, hoặc bạn muốn giữ tài khoản, hãy liên hệ {safety_email} từ địa chỉ email này trước ngày đó.\n\n– Đội ngũ {product_name}" + "body": "Xin chào {username},\n\nTheo yêu cầu của bạn, tài khoản {product_name} của bạn được lên lịch xóa vĩnh viễn vào:\n\n{deletionDate, date, full} lúc {deletionDate, time, short}{reason, select, null {} other {\n\nLý do: {reason}}}\n\nTài khoản của bạn sẽ bị khóa cho đến lúc đó. {safety_email, select, null {Nếu bạn không yêu cầu điều này, hoặc bạn muốn giữ tài khoản, hãy liên hệ quản trị viên của máy chủ này trước ngày đó.} other {Nếu bạn không yêu cầu điều này, hoặc bạn muốn giữ tài khoản, hãy liên hệ {safety_email} từ địa chỉ email này trước ngày đó.}}\n\n– Đội ngũ {product_name}" }, "account_scheduled_deletion": { "subject": "Tài khoản {product_name} của bạn sẽ bị xóa vĩnh viễn", - "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã được lên lịch xóa vĩnh viễn do vi phạm Điều khoản dịch vụ hoặc Nguyên tắc cộng đồng của chúng tôi.\n\nThời gian xóa theo lịch: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Lý do: {reason}}\n}\n\nĐây là một biện pháp xử lý nghiêm trọng. Dữ liệu tài khoản của bạn sẽ bị xóa vĩnh viễn vào ngày đã lên lịch.\n\nVui lòng xem lại:\n- Điều khoản dịch vụ: {termsUrl}\n- Nguyên tắc cộng đồng: {guidelinesUrl}\n\nQuy trình khiếu nại:\nNếu bạn cho rằng quyết định này không chính xác hoặc không hợp lý, bạn có 60 ngày để gửi khiếu nại. Gửi email đến {appeals_email} từ địa chỉ email này.\n\nTrong khiếu nại của bạn:\n- Giải thích rõ ràng lý do bạn cho rằng quyết định này không chính xác hoặc không hợp lý\n- Cung cấp bằng chứng hoặc thông tin liên quan nếu có\n\nMột thành viên của Đội ngũ An toàn {product_name} sẽ xem xét khiếu nại của bạn và có thể tạm dừng việc xóa đang chờ xử lý cho đến khi có quyết định cuối cùng.\n\n– Đội ngũ An toàn {product_name}" + "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã được lên lịch xóa vĩnh viễn do vi phạm Điều khoản dịch vụ hoặc Nguyên tắc cộng đồng của chúng tôi.\n\nThời gian xóa theo lịch: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Lý do: {reason}}\n}\n\nĐây là một biện pháp xử lý nghiêm trọng. Dữ liệu tài khoản của bạn sẽ bị xóa vĩnh viễn vào ngày đã lên lịch.\n\n{legalLinks, select,\n both {Vui lòng xem lại:\n- Điều khoản dịch vụ: {termsUrl}\n- Nguyên tắc cộng đồng: {guidelinesUrl}\n\n}\n terms {Vui lòng xem lại:\n- Điều khoản dịch vụ: {termsUrl}\n\n}\n guidelines {Vui lòng xem lại:\n- Nguyên tắc cộng đồng: {guidelinesUrl}\n\n}\n other {}\n}Quy trình khiếu nại:\nNếu bạn cho rằng quyết định này không chính xác hoặc không hợp lý, bạn có 60 ngày để gửi khiếu nại. {appeals_email, select, null {Liên hệ quản trị viên của máy chủ này.} other {Gửi email đến {appeals_email} từ địa chỉ email này.}}\n\nTrong khiếu nại của bạn:\n- Giải thích rõ ràng lý do bạn cho rằng quyết định này không chính xác hoặc không hợp lý\n- Cung cấp bằng chứng hoặc thông tin liên quan nếu có\n\nMột thành viên của Đội ngũ An toàn {product_name} sẽ xem xét khiếu nại của bạn và có thể tạm dừng việc xóa đang chờ xử lý cho đến khi có quyết định cuối cùng.\n\n– Đội ngũ An toàn {product_name}" }, "account_temp_banned": { "subject": "Tài khoản {product_name} của bạn đã bị đình chỉ tạm thời", - "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã bị đình chỉ tạm thời do vi phạm Điều khoản dịch vụ hoặc Nguyên tắc cộng đồng của chúng tôi.\n\nThời gian: {durationHours, plural,\n =1 {1 giờ}\n other {# giờ}\n}\nBị đình chỉ cho đến: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Lý do: {reason}}\n}\n\nTrong thời gian này, bạn sẽ không thể truy cập tài khoản của mình.\n\nVui lòng xem lại:\n- Điều khoản dịch vụ: {termsUrl}\n- Nguyên tắc cộng đồng: {guidelinesUrl}\n\nNếu bạn cho rằng quyết định này không chính xác hoặc không hợp lý, bạn có thể gửi khiếu nại. Gửi email đến {appeals_email} từ địa chỉ email này và giải thích rõ ràng lý do bạn cho rằng quyết định đó không chính xác. Chúng tôi sẽ xem xét khiếu nại của bạn và thông báo quyết định của chúng tôi cho bạn.\n\n– Đội ngũ An toàn {product_name}" + "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã bị đình chỉ tạm thời do vi phạm Điều khoản dịch vụ hoặc Nguyên tắc cộng đồng của chúng tôi.\n\nThời gian: {durationHours, plural,\n =1 {1 giờ}\n other {# giờ}\n}\nBị đình chỉ cho đến: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Lý do: {reason}}\n}\n\nTrong thời gian này, bạn sẽ không thể truy cập tài khoản của mình.\n\n{legalLinks, select,\n both {Vui lòng xem lại:\n- Điều khoản dịch vụ: {termsUrl}\n- Nguyên tắc cộng đồng: {guidelinesUrl}\n\n}\n terms {Vui lòng xem lại:\n- Điều khoản dịch vụ: {termsUrl}\n\n}\n guidelines {Vui lòng xem lại:\n- Nguyên tắc cộng đồng: {guidelinesUrl}\n\n}\n other {}\n}Nếu bạn cho rằng quyết định này không chính xác hoặc không hợp lý, bạn có thể gửi khiếu nại. {appeals_email, select, null {Liên hệ quản trị viên của máy chủ này và giải thích rõ ràng lý do bạn cho rằng quyết định đó không chính xác.} other {Gửi email đến {appeals_email} từ địa chỉ email này và giải thích rõ ràng lý do bạn cho rằng quyết định đó không chính xác.}} Chúng tôi sẽ xem xét khiếu nại của bạn và thông báo quyết định của chúng tôi cho bạn.\n\n– Đội ngũ An toàn {product_name}" }, "donation_confirmation": { "subject": "Cảm ơn bạn đã ủng hộ {product_name}", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "Chúng tôi đã có quyết định về báo cáo của bạn trên {product_name}", - "body": "Xin chào,\n\nĐội ngũ An toàn của chúng tôi đã xem xét báo cáo theo Đạo luật Dịch vụ kỹ thuật số của bạn (ID: {reportId}) và đã đưa ra quyết định.{hasComment, select, yes {\n\nPhản hồi từ Đội ngũ An toàn:\n{publicComment}} other {}}\n\nChúng tôi không chia sẻ chi tiết về biện pháp áp dụng với tài khoản của người khác, vì đó là dữ liệu cá nhân của họ.\n\nNếu không đồng ý với quyết định này, bạn có thể gửi khiếu nại miễn phí trong vòng 60 ngày. Gửi email đến {appeals_email} từ địa chỉ email này, ghi rõ ID báo cáo của bạn và giải thích lý do bạn cho rằng quyết định đó không chính xác. Nếu bạn ở EU, bạn cũng có thể đưa tranh chấp đến một cơ quan giải quyết tranh chấp ngoài tòa án đã được chứng nhận. Những điều này không ảnh hưởng đến quyền khởi kiện ra tòa của bạn.\n\n– Đội ngũ An toàn {product_name}" + "body": "Xin chào,\n\nĐội ngũ An toàn của chúng tôi đã xem xét báo cáo theo Đạo luật Dịch vụ kỹ thuật số của bạn (ID: {reportId}) và đã đưa ra quyết định.{hasComment, select, yes {\n\nPhản hồi từ Đội ngũ An toàn:\n{publicComment}} other {}}\n\nChúng tôi không chia sẻ chi tiết về biện pháp áp dụng với tài khoản của người khác, vì đó là dữ liệu cá nhân của họ.\n\nNếu không đồng ý với quyết định này, bạn có thể gửi khiếu nại miễn phí trong vòng 60 ngày. {appeals_email, select, null {Liên hệ quản trị viên của máy chủ này, ghi rõ ID báo cáo của bạn và giải thích lý do bạn cho rằng quyết định đó không chính xác.} other {Gửi email đến {appeals_email} từ địa chỉ email này, ghi rõ ID báo cáo của bạn và giải thích lý do bạn cho rằng quyết định đó không chính xác.}} Nếu bạn ở EU, bạn cũng có thể đưa tranh chấp đến một cơ quan giải quyết tranh chấp ngoài tòa án đã được chứng nhận. Những điều này không ảnh hưởng đến quyền khởi kiện ra tòa của bạn.\n\n– Đội ngũ An toàn {product_name}" }, "dsa_report_verification": { "subject": "Xác minh email của bạn cho báo cáo DSA", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Các đặc quyền từ quà tặng đã đổi của bạn đã bị gỡ bỏ", - "body": "Xin chào {username},\n\nMã quà tặng bạn đã đổi vốn do người khác thanh toán. Khoản thanh toán đó sau đó đã bị đảo ngược (chargeback).\n\nVì lý do này, chúng tôi đã gỡ bỏ các đặc quyền đã được thêm vào tài khoản của bạn khi bạn đổi quà tặng.\n\nNếu bạn cho rằng đây là nhầm lẫn, vui lòng liên hệ đội ngũ hỗ trợ của chúng tôi và cung cấp bất kỳ chi tiết nào bạn có về mã quà tặng và thời điểm bạn đổi mã đó.\n\n– Đội ngũ {product_name}" + "body": "Xin chào {username},\n\nMã quà tặng bạn đã đổi vốn do người khác thanh toán. Khoản thanh toán đó sau đó đã bị đảo ngược (chargeback).\n\nVì lý do này, chúng tôi đã gỡ bỏ các đặc quyền đã được thêm vào tài khoản của bạn khi bạn đổi quà tặng.\n\n{support_email, select, null {Nếu bạn cho rằng đây là nhầm lẫn, vui lòng liên hệ quản trị viên của máy chủ này và cung cấp bất kỳ chi tiết nào bạn có về mã quà tặng và thời điểm bạn đổi mã đó.} other {Nếu bạn cho rằng đây là nhầm lẫn, vui lòng liên hệ đội ngũ hỗ trợ của chúng tôi và cung cấp bất kỳ chi tiết nào bạn có về mã quà tặng và thời điểm bạn đổi mã đó.}}\n\n– Đội ngũ {product_name}" }, "harvest_completed": { "subject": "Bản xuất dữ liệu {product_name} của bạn đã sẵn sàng để tải xuống", - "body": "Xin chào {username},\n\nBản xuất dữ liệu của bạn đã sẵn sàng.\n\nLiên kết tải xuống:\n{downloadUrl}\n\nSố tin nhắn bao gồm: {totalMessages, number}\nKích thước tệp: {fileSizeMB, number} MB\n\nLiên kết này hết hạn vào {expiresAt, date, full} lúc {expiresAt, time, short}.\n\nNếu bạn không yêu cầu xuất dữ liệu này, vui lòng thay đổi mật khẩu ngay lập tức và liên hệ đội ngũ hỗ trợ của chúng tôi.\n\n– Đội ngũ {product_name}" + "body": "Xin chào {username},\n\nBản xuất dữ liệu của bạn đã sẵn sàng.\n\nLiên kết tải xuống:\n{downloadUrl}\n\nSố tin nhắn bao gồm: {totalMessages, number}\nKích thước tệp: {fileSizeMB, number} MB\n\nLiên kết này hết hạn vào {expiresAt, date, full} lúc {expiresAt, time, short}.\n\n{support_email, select, null {Nếu bạn không yêu cầu xuất dữ liệu này, vui lòng thay đổi mật khẩu ngay lập tức và liên hệ quản trị viên của máy chủ này.} other {Nếu bạn không yêu cầu xuất dữ liệu này, vui lòng thay đổi mật khẩu ngay lập tức và liên hệ đội ngũ hỗ trợ của chúng tôi.}}\n\n– Đội ngũ {product_name}" }, "inactivity_warning": { "subject": "Tài khoản {product_name} của bạn sẽ bị xóa do không hoạt động", - "body": "Xin chào {username},\n\nChúng tôi chưa thấy bất kỳ hoạt động nào trên tài khoản {product_name} của bạn kể từ {lastActiveDate, date, full}.\n\nNếu bạn không đăng nhập trước {deletionDate, date, full} lúc {deletionDate, time, short}, tài khoản của bạn sẽ bị xóa vĩnh viễn do không hoạt động.\n\nĐăng nhập tại đây:\n{loginUrl}\n\nNếu bạn đã sử dụng {product_name} gần đây, vui lòng liên hệ đội ngũ hỗ trợ của chúng tôi ngay lập tức.\n\n– Đội ngũ {product_name}" + "body": "Xin chào {username},\n\nChúng tôi chưa thấy bất kỳ hoạt động nào trên tài khoản {product_name} của bạn kể từ {lastActiveDate, date, full}.\n\nNếu bạn không đăng nhập trước {deletionDate, date, full} lúc {deletionDate, time, short}, tài khoản của bạn sẽ bị xóa vĩnh viễn do không hoạt động.\n\nĐăng nhập tại đây:\n{loginUrl}\n\n{support_email, select, null {Nếu bạn đã sử dụng {product_name} gần đây, vui lòng liên hệ quản trị viên của máy chủ này ngay lập tức.} other {Nếu bạn đã sử dụng {product_name} gần đây, vui lòng liên hệ đội ngũ hỗ trợ của chúng tôi ngay lập tức.}}\n\n– Đội ngũ {product_name}" }, "ip_authorization": { "subject": "Cho phép đăng nhập từ địa chỉ IP mới", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Báo cáo {product_name} của bạn đã được xem xét", - "body": "Xin chào {username},\n\nBáo cáo của bạn (ID: {reportId}) đã được Đội ngũ An toàn của chúng tôi xem xét.{hasComment, select, yes {\n\nPhản hồi từ Đội ngũ An toàn:\n{publicComment}} other {}}\n\nCảm ơn bạn đã giúp giữ cho {product_name} an toàn cho mọi người. Chúng tôi xem xét nghiêm túc mọi báo cáo và đánh giá cao đóng góp của bạn cho cộng đồng.\n\nNếu bạn có bất kỳ câu hỏi hoặc lo ngại nào về kết quả này, vui lòng liên hệ {safety_email}.\n\n– Đội ngũ An toàn {product_name}" + "body": "Xin chào {username},\n\nBáo cáo của bạn (ID: {reportId}) đã được Đội ngũ An toàn của chúng tôi xem xét.{hasComment, select, yes {\n\nPhản hồi từ Đội ngũ An toàn:\n{publicComment}} other {}}\n\nCảm ơn bạn đã giúp giữ cho {product_name} an toàn cho mọi người. Chúng tôi xem xét nghiêm túc mọi báo cáo và đánh giá cao đóng góp của bạn cho cộng đồng.\n\n{safety_email, select, null {Nếu bạn có bất kỳ câu hỏi hoặc lo ngại nào về kết quả này, vui lòng liên hệ quản trị viên của máy chủ này.} other {Nếu bạn có bất kỳ câu hỏi hoặc lo ngại nào về kết quả này, vui lòng liên hệ {safety_email}.}}\n\n– Đội ngũ An toàn {product_name}" }, "scheduled_deletion_notification": { "subject": "Tài khoản {product_name} của bạn sẽ bị xóa vĩnh viễn", - "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã được lên lịch xóa vĩnh viễn.\n\nThời gian xóa theo lịch: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Lý do: {reason}}\n}\n\nĐây là một biện pháp xử lý nghiêm trọng. Dữ liệu tài khoản của bạn sẽ bị xóa vĩnh viễn vào ngày đã lên lịch.\n\nNếu bạn cho rằng quyết định này không chính xác, bạn có thể gửi khiếu nại. Gửi email đến {appeals_email} từ địa chỉ email này.\n\n– Đội ngũ An toàn {product_name}" + "body": "Xin chào {username},\n\nTài khoản {product_name} của bạn đã được lên lịch xóa vĩnh viễn.\n\nThời gian xóa theo lịch: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Lý do: {reason}}\n}\n\nĐây là một biện pháp xử lý nghiêm trọng. Dữ liệu tài khoản của bạn sẽ bị xóa vĩnh viễn vào ngày đã lên lịch.\n\nNếu bạn cho rằng quyết định này không chính xác, bạn có thể gửi khiếu nại. {appeals_email, select, null {Liên hệ quản trị viên của máy chủ này.} other {Gửi email đến {appeals_email} từ địa chỉ email này.}}\n\n– Đội ngũ An toàn {product_name}" }, "self_deletion_scheduled": { "subject": "Tài khoản {product_name} của bạn đã được lên lịch xóa", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/zh-CN.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/zh-CN.json index e2abf4a57..9837db3dd 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/zh-CN.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/zh-CN.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "你的 {product_name} 账号已取消删除", - "body": "你好 {username},\n\n你的 {product_name} 账号的计划删除已取消。你的账号不会被删除。\n\n如有任何疑问,请联系 {safety_email}。\n\n– {product_name} 团队" + "body": "你好 {username},\n\n你的 {product_name} 账号的计划删除已取消。你的账号不会被删除。\n\n{safety_email, select, null {如有任何疑问,请联系此实例的管理员。} other {如有任何疑问,请联系 {safety_email}。}}\n\n– {product_name} 团队" }, "account_deletion_scheduled_inactivity": { "subject": "你的 {product_name} 账号将因长期未活动而被删除", - "body": "你好 {username},\n\n你的 {product_name} 账号已长期未活动,因此将于以下时间永久删除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n如果你想保留账号,请在该日期前使用此邮箱地址联系 {safety_email}。\n\n– {product_name} 团队" + "body": "你好 {username},\n\n你的 {product_name} 账号已长期未活动,因此将于以下时间永久删除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n{safety_email, select, null {如果你想保留账号,请在该日期前联系此实例的管理员。} other {如果你想保留账号,请在该日期前使用此邮箱地址联系 {safety_email}。}}\n\n– {product_name} 团队" }, "account_deletion_scheduled_requested": { "subject": "你的 {product_name} 账号已安排删除", - "body": "你好 {username},\n\n根据你的请求,你的 {product_name} 账号将于以下时间永久删除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n在此之前,你的账号将被锁定。如果你未请求此操作,或者想保留账号,请在该日期前使用此邮箱地址联系 {safety_email}。\n\n– {product_name} 团队" + "body": "你好 {username},\n\n根据你的请求,你的 {product_name} 账号将于以下时间永久删除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n在此之前,你的账号将被锁定。{safety_email, select, null {如果你未请求此操作,或者想保留账号,请在该日期前联系此实例的管理员。} other {如果你未请求此操作,或者想保留账号,请在该日期前使用此邮箱地址联系 {safety_email}。}}\n\n– {product_name} 团队" }, "account_scheduled_deletion": { "subject": "你的 {product_name} 账号将被永久删除", - "body": "你好 {username},\n\n由于违反了我们的《服务条款》或《社区准则》,你的 {product_name} 账号已被安排永久删除。\n\n计划删除时间:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n这是一项严重的处罚措施。你的账号数据将在预定日期被永久删除。\n\n请查阅:\n- 服务条款:{termsUrl}\n- 社区准则:{guidelinesUrl}\n\n申诉流程:\n如果你认为此处罚决定不正确或不合理,你有 60 天时间提交申诉。请使用此邮箱地址发送邮件至 {appeals_email}。\n\n在你的申诉中:\n- 清楚说明你认为处罚决定不正确或不合理的原因\n- 提供任何相关证据或背景信息\n\n{product_name} 安全团队成员将审核你的申诉,并可能在做出最终决定前暂停此次删除。\n\n– {product_name} 安全团队" + "body": "你好 {username},\n\n由于违反了我们的《服务条款》或《社区准则》,你的 {product_name} 账号已被安排永久删除。\n\n计划删除时间:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n这是一项严重的处罚措施。你的账号数据将在预定日期被永久删除。\n\n{legalLinks, select,\n both {请查阅:\n- 服务条款:{termsUrl}\n- 社区准则:{guidelinesUrl}\n\n}\n terms {请查阅:\n- 服务条款:{termsUrl}\n\n}\n guidelines {请查阅:\n- 社区准则:{guidelinesUrl}\n\n}\n other {}\n}申诉流程:\n如果你认为此处罚决定不正确或不合理,你有 60 天时间提交申诉。{appeals_email, select, null {请联系此实例的管理员。} other {请使用此邮箱地址发送邮件至 {appeals_email}。}}\n\n在你的申诉中:\n- 清楚说明你认为处罚决定不正确或不合理的原因\n- 提供任何相关证据或背景信息\n\n{product_name} 安全团队成员将审核你的申诉,并可能在做出最终决定前暂停此次删除。\n\n– {product_name} 安全团队" }, "account_temp_banned": { "subject": "你的 {product_name} 账号已被暂时封禁", - "body": "你好 {username},\n\n你的 {product_name} 账号因违反我们的《服务条款》或《社区准则》已被暂时封禁。\n\n封禁时长:{durationHours, plural,\n =1 {1 小时}\n other {# 小时}\n}\n封禁至:{bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n在此期间,你将无法访问你的账号。\n\n请查阅:\n- 服务条款:{termsUrl}\n- 社区准则:{guidelinesUrl}\n\n如果你认为此处罚决定不正确或不合理,你可以提交申诉。请使用此邮箱地址发送邮件至 {appeals_email},并清楚说明你认为该决定不正确的原因。我们会审核你的申诉,并将决定回复你。\n\n– {product_name} 安全团队" + "body": "你好 {username},\n\n你的 {product_name} 账号因违反我们的《服务条款》或《社区准则》已被暂时封禁。\n\n封禁时长:{durationHours, plural,\n =1 {1 小时}\n other {# 小时}\n}\n封禁至:{bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n在此期间,你将无法访问你的账号。\n\n{legalLinks, select,\n both {请查阅:\n- 服务条款:{termsUrl}\n- 社区准则:{guidelinesUrl}\n\n}\n terms {请查阅:\n- 服务条款:{termsUrl}\n\n}\n guidelines {请查阅:\n- 社区准则:{guidelinesUrl}\n\n}\n other {}\n}如果你认为此处罚决定不正确或不合理,你可以提交申诉。{appeals_email, select, null {请联系此实例的管理员,并清楚说明你认为该决定不正确的原因。} other {请使用此邮箱地址发送邮件至 {appeals_email},并清楚说明你认为该决定不正确的原因。}}我们会审核你的申诉,并将决定回复你。\n\n– {product_name} 安全团队" }, "donation_confirmation": { "subject": "感谢你的 {product_name} 捐赠", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "我们已对你的 {product_name} 举报做出决定", - "body": "你好,\n\n我们的安全团队已审核你根据《数字服务法》提交的举报(ID:{reportId})并做出决定。{hasComment, select, yes {\n\n安全团队的回复:\n{publicComment}} other {}}\n\n我们不会透露对他人账号所采取措施的详情,因为这属于对方的个人数据。\n\n如果你不同意此决定,可以在 60 天内免费提交申诉。请使用此邮箱地址发送邮件至 {appeals_email},注明你的举报 ID,并说明你认为该决定不正确的原因。如果你身在欧盟,还可以将争议提交给经认证的庭外争议解决机构。以上内容均不影响你向法院提起诉讼的权利。\n\n– {product_name} 安全团队" + "body": "你好,\n\n我们的安全团队已审核你根据《数字服务法》提交的举报(ID:{reportId})并做出决定。{hasComment, select, yes {\n\n安全团队的回复:\n{publicComment}} other {}}\n\n我们不会透露对他人账号所采取措施的详情,因为这属于对方的个人数据。\n\n如果你不同意此决定,可以在 60 天内免费提交申诉。{appeals_email, select, null {请联系此实例的管理员,注明你的举报 ID,并说明你认为该决定不正确的原因。} other {请使用此邮箱地址发送邮件至 {appeals_email},注明你的举报 ID,并说明你认为该决定不正确的原因。}}如果你身在欧盟,还可以将争议提交给经认证的庭外争议解决机构。以上内容均不影响你向法院提起诉讼的权利。\n\n– {product_name} 安全团队" }, "dsa_report_verification": { "subject": "验证邮箱以提交 DSA 举报", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "已移除你兑换礼品所获得的福利", - "body": "你好 {username},\n\n你兑换的礼品码最初由他人支付。该付款现已被撤销(退单)。\n\n因此,我们已移除你在兑换礼品时添加到你账号的福利。\n\n如果你认为此操作有误,请联系我们的支持团队,并提供有关礼品码以及兑换时间的任何详细信息。\n\n– {product_name} 团队" + "body": "你好 {username},\n\n你兑换的礼品码最初由他人支付。该付款现已被撤销(退单)。\n\n因此,我们已移除你在兑换礼品时添加到你账号的福利。\n\n{support_email, select, null {如果你认为此操作有误,请联系此实例的管理员,并提供有关礼品码以及兑换时间的任何详细信息。} other {如果你认为此操作有误,请联系我们的支持团队,并提供有关礼品码以及兑换时间的任何详细信息。}}\n\n– {product_name} 团队" }, "harvest_completed": { "subject": "你的 {product_name} 数据导出已准备就绪", - "body": "你好 {username},\n\n你的数据导出已准备就绪。\n\n下载链接:\n{downloadUrl}\n\n包含消息数:{totalMessages, number}\n文件大小:{fileSizeMB, number} MB\n\n此链接将于 {expiresAt, date, full} {expiresAt, time, short} 失效。\n\n如果你未请求此导出,请立即更改密码并联系我们的支持团队。\n\n– {product_name} 团队" + "body": "你好 {username},\n\n你的数据导出已准备就绪。\n\n下载链接:\n{downloadUrl}\n\n包含消息数:{totalMessages, number}\n文件大小:{fileSizeMB, number} MB\n\n此链接将于 {expiresAt, date, full} {expiresAt, time, short} 失效。\n\n{support_email, select, null {如果你未请求此导出,请立即更改密码并联系此实例的管理员。} other {如果你未请求此导出,请立即更改密码并联系我们的支持团队。}}\n\n– {product_name} 团队" }, "inactivity_warning": { "subject": "你的 {product_name} 账号将因长期未活动而被删除", - "body": "你好 {username},\n\n自 {lastActiveDate, date, full} 以来,我们未检测到你的 {product_name} 账号有任何活动。\n\n如果你未在 {deletionDate, date, full} {deletionDate, time, short} 前登录,你的账号将因长期未活动而被永久删除。\n\n立即登录:\n{loginUrl}\n\n如果你最近使用过 {product_name},请立即联系我们的支持团队。\n\n– {product_name} 团队" + "body": "你好 {username},\n\n自 {lastActiveDate, date, full} 以来,我们未检测到你的 {product_name} 账号有任何活动。\n\n如果你未在 {deletionDate, date, full} {deletionDate, time, short} 前登录,你的账号将因长期未活动而被永久删除。\n\n立即登录:\n{loginUrl}\n\n{support_email, select, null {如果你最近使用过 {product_name},请立即联系此实例的管理员。} other {如果你最近使用过 {product_name},请立即联系我们的支持团队。}}\n\n– {product_name} 团队" }, "ip_authorization": { "subject": "授权新 IP 地址登录", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "你的 {product_name} 举报已完成审核", - "body": "你好 {username},\n\n你的举报(ID:{reportId})已由我们的安全团队完成审核。{hasComment, select, yes {\n\n安全团队的回复:\n{publicComment}} other {}}\n\n感谢你帮助维护 {product_name} 的安全环境。我们会认真对待每一份举报,也感谢你为社区做出的贡献。\n\n如果你对此结果有任何疑问或意见,请联系 {safety_email}。\n\n– {product_name} 安全团队" + "body": "你好 {username},\n\n你的举报(ID:{reportId})已由我们的安全团队完成审核。{hasComment, select, yes {\n\n安全团队的回复:\n{publicComment}} other {}}\n\n感谢你帮助维护 {product_name} 的安全环境。我们会认真对待每一份举报,也感谢你为社区做出的贡献。\n\n{safety_email, select, null {如果你对此结果有任何疑问或意见,请联系此实例的管理员。} other {如果你对此结果有任何疑问或意见,请联系 {safety_email}。}}\n\n– {product_name} 安全团队" }, "scheduled_deletion_notification": { "subject": "你的 {product_name} 账号将被永久删除", - "body": "你好 {username},\n\n你的 {product_name} 账号已被安排永久删除。\n\n计划删除时间:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n这是一项严重的处罚措施。你的账号数据将在预定日期被永久删除。\n\n如果你认为此处罚决定不正确,可以提交申诉。请使用此邮箱地址发送邮件至 {appeals_email}。\n\n– {product_name} 安全团队" + "body": "你好 {username},\n\n你的 {product_name} 账号已被安排永久删除。\n\n计划删除时间:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n这是一项严重的处罚措施。你的账号数据将在预定日期被永久删除。\n\n如果你认为此处罚决定不正确,可以提交申诉。{appeals_email, select, null {请联系此实例的管理员。} other {请使用此邮箱地址发送邮件至 {appeals_email}。}}\n\n– {product_name} 安全团队" }, "self_deletion_scheduled": { "subject": "你的 {product_name} 账号已安排删除", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/zh-TW.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/zh-TW.json index 346030167..97d404cc6 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/zh-TW.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/locales/zh-TW.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "您的 {product_name} 帳號已取消刪除", - "body": "哈囉 {username},\n\n您的 {product_name} 帳號的排定刪除已取消。您的帳號不會被刪除。\n\n如有任何疑問,請聯絡 {safety_email}。\n\n– {product_name} 團隊" + "body": "哈囉 {username},\n\n您的 {product_name} 帳號的排定刪除已取消。您的帳號不會被刪除。\n\n{safety_email, select, null {如有任何疑問,請聯絡此實例的管理員。} other {如有任何疑問,請聯絡 {safety_email}。}}\n\n– {product_name} 團隊" }, "account_deletion_scheduled_inactivity": { "subject": "您的 {product_name} 帳號將因長期未使用而刪除", - "body": "哈囉 {username},\n\n您的 {product_name} 帳號已長期未使用,因此已排定於以下時間永久刪除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n如果您想保留帳號,請在該日期前使用此電子郵件地址聯絡 {safety_email}。\n\n– {product_name} 團隊" + "body": "哈囉 {username},\n\n您的 {product_name} 帳號已長期未使用,因此已排定於以下時間永久刪除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n{safety_email, select, null {如果您想保留帳號,請在該日期前聯絡此實例的管理員。} other {如果您想保留帳號,請在該日期前使用此電子郵件地址聯絡 {safety_email}。}}\n\n– {product_name} 團隊" }, "account_deletion_scheduled_requested": { "subject": "您的 {product_name} 帳號已排定刪除", - "body": "哈囉 {username},\n\n依照您的要求,您的 {product_name} 帳號已排定於以下時間永久刪除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n在此之前,您的帳號將被鎖定。如果您沒有提出此要求,或想保留帳號,請在該日期前使用此電子郵件地址聯絡 {safety_email}。\n\n– {product_name} 團隊" + "body": "哈囉 {username},\n\n依照您的要求,您的 {product_name} 帳號已排定於以下時間永久刪除:\n\n{deletionDate, date, full} {deletionDate, time, short}{reason, select, null {} other {\n\n原因:{reason}}}\n\n在此之前,您的帳號將被鎖定。{safety_email, select, null {如果您沒有提出此要求,或想保留帳號,請在該日期前聯絡此實例的管理員。} other {如果您沒有提出此要求,或想保留帳號,請在該日期前使用此電子郵件地址聯絡 {safety_email}。}}\n\n– {product_name} 團隊" }, "account_scheduled_deletion": { "subject": "您的 {product_name} 帳號將被永久刪除", - "body": "哈囉 {username},\n\n由於您違反了我們的服務條款或社群準則,您的 {product_name} 帳號已排定永久刪除。\n\n排定刪除時間:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n這是一項嚴重的處分。您的帳號資料將在排定日期永久刪除。\n\n請參閱:\n- 服務條款:{termsUrl}\n- 社群準則:{guidelinesUrl}\n\n申訴流程:\n如果您認為此處分不正確或不合理,您有 60 天的時間可以提交申訴。請使用此電子郵件地址寄信至 {appeals_email}。\n\n在您的申訴中:\n- 請清楚說明您認為此處分不正確或不合理的原因\n- 提供任何相關證據或背景資訊\n\n{product_name} 安全團隊的成員將會審查您的申訴,並可能在做出最終決定前暫停這項刪除。\n\n– {product_name} 安全團隊" + "body": "哈囉 {username},\n\n由於您違反了我們的服務條款或社群準則,您的 {product_name} 帳號已排定永久刪除。\n\n排定刪除時間:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n這是一項嚴重的處分。您的帳號資料將在排定日期永久刪除。\n\n{legalLinks, select,\n both {請參閱:\n- 服務條款:{termsUrl}\n- 社群準則:{guidelinesUrl}\n\n}\n terms {請參閱:\n- 服務條款:{termsUrl}\n\n}\n guidelines {請參閱:\n- 社群準則:{guidelinesUrl}\n\n}\n other {}\n}申訴流程:\n如果您認為此處分不正確或不合理,您有 60 天的時間可以提交申訴。{appeals_email, select, null {請聯絡此實例的管理員。} other {請使用此電子郵件地址寄信至 {appeals_email}。}}\n\n在您的申訴中:\n- 請清楚說明您認為此處分不正確或不合理的原因\n- 提供任何相關證據或背景資訊\n\n{product_name} 安全團隊的成員將會審查您的申訴,並可能在做出最終決定前暫停這項刪除。\n\n– {product_name} 安全團隊" }, "account_temp_banned": { "subject": "您的 {product_name} 帳號已暫時停權", - "body": "哈囉 {username},\n\n由於您違反了我們的服務條款或社群準則,您的 {product_name} 帳號已暫時停權。\n\n持續時間:{durationHours, plural,\n =1 {1 小時}\n other {# 小時}\n}\n停權至:{bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n在此期間,您將無法存取您的帳號。\n\n請參閱:\n- 服務條款:{termsUrl}\n- 社群準則:{guidelinesUrl}\n\n如果您認為此處分不正確或不合理,可以提交申訴。請使用此電子郵件地址寄信至 {appeals_email},並清楚說明您認為此處分不正確的原因。我們會審查您的申訴,並回覆我們的決定。\n\n– {product_name} 安全團隊" + "body": "哈囉 {username},\n\n由於您違反了我們的服務條款或社群準則,您的 {product_name} 帳號已暫時停權。\n\n持續時間:{durationHours, plural,\n =1 {1 小時}\n other {# 小時}\n}\n停權至:{bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n在此期間,您將無法存取您的帳號。\n\n{legalLinks, select,\n both {請參閱:\n- 服務條款:{termsUrl}\n- 社群準則:{guidelinesUrl}\n\n}\n terms {請參閱:\n- 服務條款:{termsUrl}\n\n}\n guidelines {請參閱:\n- 社群準則:{guidelinesUrl}\n\n}\n other {}\n}如果您認為此處分不正確或不合理,可以提交申訴。{appeals_email, select, null {請聯絡此實例的管理員,並清楚說明您認為此處分不正確的原因。} other {請使用此電子郵件地址寄信至 {appeals_email},並清楚說明您認為此處分不正確的原因。}}我們會審查您的申訴,並回覆我們的決定。\n\n– {product_name} 安全團隊" }, "donation_confirmation": { "subject": "感謝您對 {product_name} 的捐款", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "我們已對您的 {product_name} 檢舉做出決定", - "body": "哈囉,\n\n我們的安全團隊已審核您依據數位服務法提出的檢舉(ID:{reportId})並做出決定。{hasComment, select, yes {\n\n安全團隊的回覆:\n{publicComment}} other {}}\n\n我們不會透露對他人帳號所採取措施的細節,因為這屬於對方的個人資料。\n\n如果您不同意此決定,可以在 60 天內免費提交申訴。請使用此電子郵件地址寄信至 {appeals_email},註明您的檢舉 ID,並說明您認為此決定不正確的原因。如果您身在歐盟,也可以將爭議提交給經認證的訴訟外爭議解決機構。以上內容均不影響您向法院提起訴訟的權利。\n\n– {product_name} 安全團隊" + "body": "哈囉,\n\n我們的安全團隊已審核您依據數位服務法提出的檢舉(ID:{reportId})並做出決定。{hasComment, select, yes {\n\n安全團隊的回覆:\n{publicComment}} other {}}\n\n我們不會透露對他人帳號所採取措施的細節,因為這屬於對方的個人資料。\n\n如果您不同意此決定,可以在 60 天內免費提交申訴。{appeals_email, select, null {請聯絡此實例的管理員,註明您的檢舉 ID,並說明您認為此決定不正確的原因。} other {請使用此電子郵件地址寄信至 {appeals_email},註明您的檢舉 ID,並說明您認為此決定不正確的原因。}}如果您身在歐盟,也可以將爭議提交給經認證的訴訟外爭議解決機構。以上內容均不影響您向法院提起訴訟的權利。\n\n– {product_name} 安全團隊" }, "dsa_report_verification": { "subject": "驗證您的電子郵件以送出 DSA 檢舉", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "您兌換禮物取得的福利已移除", - "body": "哈囉 {username},\n\n您兌換的禮物代碼原本是由其他人付款購買的。該筆付款後來已被撤銷(拒付)。\n\n因此,我們已移除兌換該禮物時加到您帳號的福利。\n\n如果您認為這是誤判,請聯絡我們的支援團隊,並提供您所知道關於該禮物代碼與兌換時間的任何資訊。\n\n– {product_name} 團隊" + "body": "哈囉 {username},\n\n您兌換的禮物代碼原本是由其他人付款購買的。該筆付款後來已被撤銷(拒付)。\n\n因此,我們已移除兌換該禮物時加到您帳號的福利。\n\n{support_email, select, null {如果您認為這是誤判,請聯絡此實例的管理員,並提供您所知道關於該禮物代碼與兌換時間的任何資訊。} other {如果您認為這是誤判,請聯絡我們的支援團隊,並提供您所知道關於該禮物代碼與兌換時間的任何資訊。}}\n\n– {product_name} 團隊" }, "harvest_completed": { "subject": "您的 {product_name} 資料匯出已可下載", - "body": "哈囉 {username},\n\n您的資料匯出已準備就緒。\n\n下載連結:\n{downloadUrl}\n\n包含的訊息:{totalMessages, number} 則\n檔案大小:{fileSizeMB, number} MB\n\n此連結將於 {expiresAt, date, full} {expiresAt, time, short} 失效。\n\n如果您沒有要求此匯出,請立即變更您的密碼並聯絡我們的支援團隊。\n\n– {product_name} 團隊" + "body": "哈囉 {username},\n\n您的資料匯出已準備就緒。\n\n下載連結:\n{downloadUrl}\n\n包含的訊息:{totalMessages, number} 則\n檔案大小:{fileSizeMB, number} MB\n\n此連結將於 {expiresAt, date, full} {expiresAt, time, short} 失效。\n\n{support_email, select, null {如果您沒有要求此匯出,請立即變更您的密碼並聯絡此實例的管理員。} other {如果您沒有要求此匯出,請立即變更您的密碼並聯絡我們的支援團隊。}}\n\n– {product_name} 團隊" }, "inactivity_warning": { "subject": "您的 {product_name} 帳號將因長期未使用而刪除", - "body": "哈囉 {username},\n\n自 {lastActiveDate, date, full} 起,我們未在您的 {product_name} 帳號上看到任何活動。\n\n如果您未在 {deletionDate, date, full} {deletionDate, time, short} 前登入,您的帳號將因長期未使用而永久刪除。\n\n請在此登入:\n{loginUrl}\n\n如果您最近有使用 {product_name},請立即聯絡我們的支援團隊。\n\n– {product_name} 團隊" + "body": "哈囉 {username},\n\n自 {lastActiveDate, date, full} 起,我們未在您的 {product_name} 帳號上看到任何活動。\n\n如果您未在 {deletionDate, date, full} {deletionDate, time, short} 前登入,您的帳號將因長期未使用而永久刪除。\n\n請在此登入:\n{loginUrl}\n\n{support_email, select, null {如果您最近有使用 {product_name},請立即聯絡此實例的管理員。} other {如果您最近有使用 {product_name},請立即聯絡我們的支援團隊。}}\n\n– {product_name} 團隊" }, "ip_authorization": { "subject": "授權從新的 IP 位址登入", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "您的 {product_name} 檢舉已審核完成", - "body": "哈囉 {username},\n\n您的檢舉(ID:{reportId})已由我們的安全團隊審核。{hasComment, select, yes {\n\n安全團隊的回覆:\n{publicComment}} other {}}\n\n感謝您協助維護 {product_name} 的安全。我們會認真看待每一則檢舉,並感謝您對社群的貢獻。\n\n如果您對此結果有任何疑問或疑慮,請聯絡 {safety_email}。\n\n– {product_name} 安全團隊" + "body": "哈囉 {username},\n\n您的檢舉(ID:{reportId})已由我們的安全團隊審核。{hasComment, select, yes {\n\n安全團隊的回覆:\n{publicComment}} other {}}\n\n感謝您協助維護 {product_name} 的安全。我們會認真看待每一則檢舉,並感謝您對社群的貢獻。\n\n{safety_email, select, null {如果您對此結果有任何疑問或疑慮,請聯絡此實例的管理員。} other {如果您對此結果有任何疑問或疑慮,請聯絡 {safety_email}。}}\n\n– {product_name} 安全團隊" }, "scheduled_deletion_notification": { "subject": "您的 {product_name} 帳號將被永久刪除", - "body": "哈囉 {username},\n\n您的 {product_name} 帳號已排定永久刪除。\n\n排定刪除時間:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n這是一項嚴重的處分。您的帳號資料將在排定日期永久刪除。\n\n如果您認為此處分不正確,可以提交申訴。請使用此電子郵件地址寄信至 {appeals_email}。\n\n– {product_name} 安全團隊" + "body": "哈囉 {username},\n\n您的 {product_name} 帳號已排定永久刪除。\n\n排定刪除時間:{deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n這是一項嚴重的處分。您的帳號資料將在排定日期永久刪除。\n\n如果您認為此處分不正確,可以提交申訴。{appeals_email, select, null {請聯絡此實例的管理員。} other {請使用此電子郵件地址寄信至 {appeals_email}。}}\n\n– {product_name} 安全團隊" }, "self_deletion_scheduled": { "subject": "您的 {product_name} 帳號已排定刪除", diff --git a/fluxer_api/pkgs/email/src/email_i18n/weblate/messages.json b/fluxer_api/pkgs/email/src/email_i18n/weblate/messages.json index e5a58e08b..6b7bb0b56 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/messages.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/messages.json @@ -1,23 +1,23 @@ { "account_deletion_cancelled": { "subject": "Your {product_name} account is no longer scheduled for deletion", - "body": "Hello {username},\n\nThe scheduled deletion of your {product_name} account has been cancelled. Your account will not be deleted.\n\nIf you have any questions, contact {safety_email}.\n\n– {product_name} Team" + "body": "Hello {username},\n\nThe scheduled deletion of your {product_name} account has been cancelled. Your account will not be deleted.\n\n{safety_email, select, null {If you have any questions, contact the administrators of this instance.} other {If you have any questions, contact {safety_email}.}}\n\n– {product_name} Team" }, "account_deletion_scheduled_inactivity": { "subject": "Your {product_name} account will be deleted due to inactivity", - "body": "Hello {username},\n\nYour {product_name} account has been inactive for a long time, so it is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\nIf you want to keep your account, contact {safety_email} from this email address before that date.\n\n– {product_name} Team" + "body": "Hello {username},\n\nYour {product_name} account has been inactive for a long time, so it is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\n{safety_email, select, null {If you want to keep your account, contact the administrators of this instance before that date.} other {If you want to keep your account, contact {safety_email} from this email address before that date.}}\n\n– {product_name} Team" }, "account_deletion_scheduled_requested": { "subject": "Your {product_name} account deletion is scheduled", - "body": "Hello {username},\n\nAs you requested, your {product_name} account is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\nYour account is locked until then. If you didn't request this, or you want to keep your account, contact {safety_email} from this email address before that date.\n\n– {product_name} Team" + "body": "Hello {username},\n\nAs you requested, your {product_name} account is scheduled for permanent deletion on:\n\n{deletionDate, date, full} at {deletionDate, time, short}{reason, select, null {} other {\n\nReason: {reason}}}\n\nYour account is locked until then. {safety_email, select, null {If you didn't request this, or you want to keep your account, contact the administrators of this instance before that date.} other {If you didn't request this, or you want to keep your account, contact {safety_email} from this email address before that date.}}\n\n– {product_name} Team" }, "account_scheduled_deletion": { "subject": "Your {product_name} account will be permanently deleted", - "body": "Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion due to violations of our Terms of Service or Community Guidelines.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\nPlease review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\nAppeals process:\nIf you believe this enforcement decision was incorrect or unjustified, you have 60 days to submit an appeal. Email {appeals_email} from this email address.\n\nIn your appeal:\n- Clearly explain why you believe the enforcement decision was incorrect or unjustified\n- Provide any relevant evidence or context\n\nA member of the {product_name} Safety Team will review your appeal and may pause the pending deletion until a final decision has been reached.\n\n– {product_name} Safety Team" + "body": "Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion due to violations of our Terms of Service or Community Guidelines.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\n{legalLinks, select,\n both {Please review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\n}\n terms {Please review:\n- Terms of Service: {termsUrl}\n\n}\n guidelines {Please review:\n- Community Guidelines: {guidelinesUrl}\n\n}\n other {}\n}Appeals process:\nIf you believe this enforcement decision was incorrect or unjustified, you have 60 days to submit an appeal. {appeals_email, select, null {Contact the administrators of this instance.} other {Email {appeals_email} from this email address.}}\n\nIn your appeal:\n- Clearly explain why you believe the enforcement decision was incorrect or unjustified\n- Provide any relevant evidence or context\n\nA member of the {product_name} Safety Team will review your appeal and may pause the pending deletion until a final decision has been reached.\n\n– {product_name} Safety Team" }, "account_temp_banned": { "subject": "Your {product_name} account has been temporarily suspended", - "body": "Hello {username},\n\nYour {product_name} account has been temporarily suspended for violating our Terms of Service or Community Guidelines.\n\nDuration: {durationHours, plural,\n =1 {1 hour}\n other {# hours}\n}\nSuspended until: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nDuring this time, you won't be able to access your account.\n\nPlease review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\nIf you believe this enforcement decision was incorrect or unjustified, you can submit an appeal. Email {appeals_email} from this email address and clearly explain why you believe the decision was incorrect. We'll review your appeal and respond with our decision.\n\n– {product_name} Safety Team" + "body": "Hello {username},\n\nYour {product_name} account has been temporarily suspended for violating our Terms of Service or Community Guidelines.\n\nDuration: {durationHours, plural,\n =1 {1 hour}\n other {# hours}\n}\nSuspended until: {bannedUntil, date, full} {bannedUntil, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nDuring this time, you won't be able to access your account.\n\n{legalLinks, select,\n both {Please review:\n- Terms of Service: {termsUrl}\n- Community Guidelines: {guidelinesUrl}\n\n}\n terms {Please review:\n- Terms of Service: {termsUrl}\n\n}\n guidelines {Please review:\n- Community Guidelines: {guidelinesUrl}\n\n}\n other {}\n}If you believe this enforcement decision was incorrect or unjustified, you can submit an appeal. {appeals_email, select, null {Contact the administrators of this instance and clearly explain why you believe the decision was incorrect.} other {Email {appeals_email} from this email address and clearly explain why you believe the decision was incorrect.}} We'll review your appeal and respond with our decision.\n\n– {product_name} Safety Team" }, "donation_confirmation": { "subject": "Thank you for your {product_name} donation", @@ -29,7 +29,7 @@ }, "dsa_report_resolved": { "subject": "We made a decision on your {product_name} report", - "body": "Hello,\n\nOur Safety Team has reviewed your Digital Services Act report (ID: {reportId}) and made a decision.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nWe don't share details of any action taken against another person's account, because that is their personal data.\n\nIf you disagree with this decision, you can appeal free of charge within 60 days. Email {appeals_email} from this email address, include your report ID, and explain why you think the decision is wrong. If you are in the EU, you can also refer the dispute to a certified out-of-court dispute settlement body. None of this affects your right to go to court.\n\n– {product_name} Safety Team" + "body": "Hello,\n\nOur Safety Team has reviewed your Digital Services Act report (ID: {reportId}) and made a decision.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nWe don't share details of any action taken against another person's account, because that is their personal data.\n\nIf you disagree with this decision, you can appeal free of charge within 60 days. {appeals_email, select, null {Contact the administrators of this instance, include your report ID, and explain why you think the decision is wrong.} other {Email {appeals_email} from this email address, include your report ID, and explain why you think the decision is wrong.}} If you are in the EU, you can also refer the dispute to a certified out-of-court dispute settlement body. None of this affects your right to go to court.\n\n– {product_name} Safety Team" }, "dsa_report_verification": { "subject": "Verify your email for a DSA report", @@ -53,15 +53,15 @@ }, "gift_chargeback_notification": { "subject": "Perks from your redeemed gift have been removed", - "body": "Hello {username},\n\nA gift code you redeemed was originally paid for by someone else. That payment has since been reversed (a chargeback).\n\nBecause of this, we've removed the perks that were added to your account when you redeemed the gift.\n\nIf you think this is a mistake, please contact our support team and include any details you have about the gift code and when you redeemed it.\n\n– {product_name} Team" + "body": "Hello {username},\n\nA gift code you redeemed was originally paid for by someone else. That payment has since been reversed (a chargeback).\n\nBecause of this, we've removed the perks that were added to your account when you redeemed the gift.\n\n{support_email, select, null {If you think this is a mistake, please contact the administrators of this instance and include any details you have about the gift code and when you redeemed it.} other {If you think this is a mistake, please contact our support team and include any details you have about the gift code and when you redeemed it.}}\n\n– {product_name} Team" }, "harvest_completed": { "subject": "Your {product_name} data export is ready to download", - "body": "Hello {username},\n\nYour data export is ready.\n\nDownload link:\n{downloadUrl}\n\nMessages included: {totalMessages, number}\nFile size: {fileSizeMB, number} MB\n\nThis link expires on {expiresAt, date, full} at {expiresAt, time, short}.\n\nIf you didn't request this export, please change your password immediately and contact our support team.\n\n– {product_name} Team" + "body": "Hello {username},\n\nYour data export is ready.\n\nDownload link:\n{downloadUrl}\n\nMessages included: {totalMessages, number}\nFile size: {fileSizeMB, number} MB\n\nThis link expires on {expiresAt, date, full} at {expiresAt, time, short}.\n\n{support_email, select, null {If you didn't request this export, please change your password immediately and contact the administrators of this instance.} other {If you didn't request this export, please change your password immediately and contact our support team.}}\n\n– {product_name} Team" }, "inactivity_warning": { "subject": "Your {product_name} account will be deleted due to inactivity", - "body": "Hello {username},\n\nWe haven't seen any activity on your {product_name} account since {lastActiveDate, date, full}.\n\nIf you don't log in by {deletionDate, date, full} at {deletionDate, time, short}, your account will be permanently deleted due to inactivity.\n\nLog in here:\n{loginUrl}\n\nIf you've used {product_name} recently, please contact our support team right away.\n\n– {product_name} Team" + "body": "Hello {username},\n\nWe haven't seen any activity on your {product_name} account since {lastActiveDate, date, full}.\n\nIf you don't log in by {deletionDate, date, full} at {deletionDate, time, short}, your account will be permanently deleted due to inactivity.\n\nLog in here:\n{loginUrl}\n\n{support_email, select, null {If you've used {product_name} recently, please contact the administrators of this instance right away.} other {If you've used {product_name} recently, please contact our support team right away.}}\n\n– {product_name} Team" }, "ip_authorization": { "subject": "Authorize login from a new IP address", @@ -89,11 +89,11 @@ }, "report_resolved": { "subject": "Your {product_name} report has been reviewed", - "body": "Hello {username},\n\nYour report (ID: {reportId}) has been reviewed by our Safety Team.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nThanks for helping keep {product_name} safe for everyone. We take all reports seriously and appreciate your contribution to the community.\n\nIf you have any questions or concerns about this outcome, please contact {safety_email}.\n\n– {product_name} Safety Team" + "body": "Hello {username},\n\nYour report (ID: {reportId}) has been reviewed by our Safety Team.{hasComment, select, yes {\n\nResponse from the Safety Team:\n{publicComment}} other {}}\n\nThanks for helping keep {product_name} safe for everyone. We take all reports seriously and appreciate your contribution to the community.\n\n{safety_email, select, null {If you have any questions or concerns about this outcome, please contact the administrators of this instance.} other {If you have any questions or concerns about this outcome, please contact {safety_email}.}}\n\n– {product_name} Safety Team" }, "scheduled_deletion_notification": { "subject": "Your {product_name} account will be permanently deleted", - "body": "Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\nIf you believe this enforcement decision was incorrect, you can submit an appeal. Email {appeals_email} from this email address.\n\n– {product_name} Safety Team" + "body": "Hello {username},\n\nYour {product_name} account has been scheduled for permanent deletion.\n\nScheduled deletion: {deletionDate, date, full} {deletionDate, time, short}\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nThis is a serious enforcement action. Your account data will be permanently deleted on the scheduled date.\n\nIf you believe this enforcement decision was incorrect, you can submit an appeal. {appeals_email, select, null {Contact the administrators of this instance.} other {Email {appeals_email} from this email address.}}\n\n– {product_name} Safety Team" }, "self_deletion_scheduled": { "subject": "Your {product_name} account deletion is scheduled", diff --git a/fluxer_api/src/api/admin/controllers/InstanceConfigAdminController.ts b/fluxer_api/src/api/admin/controllers/InstanceConfigAdminController.ts index 1581dab58..eca870d3d 100644 --- a/fluxer_api/src/api/admin/controllers/InstanceConfigAdminController.ts +++ b/fluxer_api/src/api/admin/controllers/InstanceConfigAdminController.ts @@ -479,6 +479,7 @@ export function InstanceConfigAdminController(app: HonoApp) { ? omitUndefinedFields({ terms_url: readOptionalField(data.app_public.legal, 'terms_url'), privacy_url: readOptionalField(data.app_public.legal, 'privacy_url'), + guidelines_url: readOptionalField(data.app_public.legal, 'guidelines_url'), }) : undefined, registration: data.app_public.registration diff --git a/fluxer_api/src/api/admin/services/ReporterResolutionNotifier.ts b/fluxer_api/src/api/admin/services/ReporterResolutionNotifier.ts index 898385434..c40962345 100644 --- a/fluxer_api/src/api/admin/services/ReporterResolutionNotifier.ts +++ b/fluxer_api/src/api/admin/services/ReporterResolutionNotifier.ts @@ -7,6 +7,8 @@ import type {ChannelService} from '@app/api/channel/services/ChannelService'; import {SYSTEM_USER_ID} from '@app/api/constants/Core'; import {SYSTEM_THREAD_VIEWER} from '@app/api/experiment/ChannelThreadsGate'; import type {UserCacheService} from '@app/api/infrastructure/UserCacheService'; +import {resolveContactEmails} from '@app/api/instance/ContactEmails'; +import {getInstanceProductName} from '@app/api/instance/ProductName'; import {Logger} from '@app/api/Logger'; import {createRequestCache} from '@app/api/middleware/RequestCacheMiddleware'; import type {User} from '@app/api/models/User'; @@ -120,12 +122,18 @@ export class ReporterResolutionNotifier { if (!systemDm) { return false; } - const template = getEmailTemplate('report_resolved', reporter.locale, { - username: reporter.username, - reportId, - publicComment: comment, - hasComment: comment ? 'yes' : 'no', - }); + const template = getEmailTemplate( + 'report_resolved', + reporter.locale, + { + username: reporter.username, + reportId, + publicComment: comment, + hasComment: comment ? 'yes' : 'no', + safety_email: resolveContactEmails().safetyEmail, + }, + getInstanceProductName(), + ); if (!template.ok) { Logger.warn( {reportId, reporterId: reporter.id.toString(), locale: reporter.locale, error: template.error}, diff --git a/fluxer_api/src/api/admin/tests/InstanceConfigLegalUrls.test.ts b/fluxer_api/src/api/admin/tests/InstanceConfigLegalUrls.test.ts new file mode 100644 index 000000000..5b4517f0e --- /dev/null +++ b/fluxer_api/src/api/admin/tests/InstanceConfigLegalUrls.test.ts @@ -0,0 +1,143 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import type {TestAccount} from '@app/api/auth/tests/AuthTestUtils'; +import {createTestAccount, setUserACLs} from '@app/api/auth/tests/AuthTestUtils'; +import {getConfig} from '@app/api/Config'; +import {setCachedConfiguredLegalUrls} from '@app/api/instance/LegalUrls'; +import {type ApiTestHarness, createApiTestHarness} from '@app/api/test/ApiTestHarness'; +import {HTTP_STATUS} from '@app/api/test/TestConstants'; +import {createBuilder, createBuilderWithoutAuth} from '@app/api/test/TestRequestBuilder'; +import {AdminACLs} from '@fluxer/constants/src/AdminACLs'; +import {APIErrorCodes} from '@fluxer/constants/src/ApiErrorCodes'; +import type {InstanceConfigResponse} from '@fluxer/schema/src/domains/admin/AdminSchemas'; +import type {WellKnownFluxerResponse} from '@fluxer/schema/src/domains/instance/InstanceSchemas'; +import type {ReportFlowResponse} from '@fluxer/schema/src/domains/report/ReportFlowSchemas'; +import {afterAll, beforeAll, beforeEach, describe, expect, it} from 'vitest'; + +const RULES_URL = 'https://rules.example.org/community'; + +function useInstanceHarness(selfHosted: boolean) { + const context: {harness: ApiTestHarness} = {harness: undefined as unknown as ApiTestHarness}; + let originalSelfHosted: boolean; + beforeAll(async () => { + originalSelfHosted = getConfig().instance.selfHosted; + getConfig().instance.selfHosted = selfHosted; + context.harness = await createApiTestHarness(); + }); + beforeEach(async () => { + await context.harness.reset(); + setCachedConfiguredLegalUrls({terms_url: null, guidelines_url: null}); + }); + afterAll(async () => { + await context.harness.shutdown(); + getConfig().instance.selfHosted = originalSelfHosted; + setCachedConfiguredLegalUrls({terms_url: null, guidelines_url: null}); + }); + return context; +} + +async function createAdmin(harness: ApiTestHarness): Promise { + return await setUserACLs(harness, await createTestAccount(harness), [ + AdminACLs.AUTHENTICATE, + AdminACLs.INSTANCE_CONFIG_VIEW, + AdminACLs.INSTANCE_CONFIG_UPDATE, + ]); +} + +function patchLegal(harness: ApiTestHarness, admin: TestAccount, legal: Record) { + return createBuilder(harness, admin.token) + .patch('/admin/instance/config') + .body({app_public: {legal}}); +} + +function getUserFlow(harness: ApiTestHarness): Promise { + return createBuilderWithoutAuth(harness) + .get('/reports/flows/user?surface=in_app&locale=en-US') + .expect(HTTP_STATUS.OK) + .execute(); +} + +describe('community guidelines URL on a self-hosted instance', () => { + const context = useInstanceHarness(true); + + it('is unset by default, so no guidelines link is offered', async () => { + const admin = await createAdmin(context.harness); + const config = await createBuilder(context.harness, admin.token) + .get('/admin/instance/config') + .execute(); + expect(config.app_public.legal.guidelines_url).toBeNull(); + const flow = await getUserFlow(context.harness); + expect(flow.guidelines_url).toBeNull(); + expect(flow.screens[0].options).toEqual([]); + }); + + it('round-trips through the admin API and reaches discovery and the report flow', async () => { + const admin = await createAdmin(context.harness); + const before = await getUserFlow(context.harness); + const updated = await patchLegal(context.harness, admin, {guidelines_url: ` ${RULES_URL} `}).execute(); + expect(updated.app_public.legal).toEqual({terms_url: null, privacy_url: null, guidelines_url: RULES_URL}); + const reread = await createBuilder(context.harness, admin.token) + .get('/admin/instance/config') + .execute(); + expect(reread.app_public.legal.guidelines_url).toBe(RULES_URL); + const discovery = await createBuilderWithoutAuth(context.harness) + .get('/.well-known/fluxer') + .execute(); + expect(discovery.app_public.legal.guidelines_url).toBe(RULES_URL); + const flow = await getUserFlow(context.harness); + expect(flow.guidelines_url).toBe(RULES_URL); + expect(flow.screens[0].options.map((option) => option.outcome.url)).toEqual([RULES_URL]); + expect(flow.revision_hash).not.toBe(before.revision_hash); + expect(flow.screens.find((screen) => screen.id === 'root_user')?.options.map((option) => option.id)).not.toContain( + 'dsa', + ); + await patchLegal(context.harness, admin, {terms_url: 'https://rules.example.org/tos'}).execute(); + expect((await getUserFlow(context.harness)).guidelines_url).toBe(RULES_URL); + const cleared = await patchLegal(context.harness, admin, {guidelines_url: null}).execute(); + expect(cleared.app_public.legal.guidelines_url).toBeNull(); + expect(cleared.app_public.legal.terms_url).toBe('https://rules.example.org/tos'); + const after = await getUserFlow(context.harness); + expect(after.guidelines_url).toBeNull(); + expect(after.revision_hash).toBe(before.revision_hash); + }); + + it('clears every legal URL at once, and an empty string clears like null', async () => { + const admin = await createAdmin(context.harness); + await patchLegal(context.harness, admin, { + terms_url: 'https://rules.example.org/tos', + privacy_url: 'https://rules.example.org/privacy', + guidelines_url: RULES_URL, + }).execute(); + const cleared = await patchLegal(context.harness, admin, { + terms_url: null, + privacy_url: '', + guidelines_url: '', + }).execute(); + expect(cleared.app_public.legal).toEqual({terms_url: null, privacy_url: null, guidelines_url: null}); + expect((await getUserFlow(context.harness)).guidelines_url).toBeNull(); + }); + + it.each(['rules.example.org', 'javascript:alert(1)', 'ftp://rules.example.org', '/guidelines'])( + 'rejects %j as a guidelines URL', + async (value) => { + const admin = await createAdmin(context.harness); + await patchLegal(context.harness, admin, {guidelines_url: value}) + .expect(HTTP_STATUS.BAD_REQUEST, APIErrorCodes.INVALID_FORM_BODY) + .execute(); + }, + ); +}); + +describe('community guidelines URL on a hosted instance', () => { + const context = useInstanceHarness(false); + + it('defaults to the marketing page and can be overridden', async () => { + const admin = await createAdmin(context.harness); + const hosted = await getUserFlow(context.harness); + expect(hosted.guidelines_url).toBe(`${getConfig().endpoints.marketing}/guidelines`); + await patchLegal(context.harness, admin, {guidelines_url: RULES_URL}).execute(); + const flow = await getUserFlow(context.harness); + expect(flow.guidelines_url).toBe(RULES_URL); + expect(flow.revision_hash).toBe(hosted.revision_hash); + }); +}); diff --git a/fluxer_api/src/api/donation/services/DonationCheckoutService.ts b/fluxer_api/src/api/donation/services/DonationCheckoutService.ts index a10d3c6bb..0658c774b 100644 --- a/fluxer_api/src/api/donation/services/DonationCheckoutService.ts +++ b/fluxer_api/src/api/donation/services/DonationCheckoutService.ts @@ -4,6 +4,7 @@ import {Config} from '@app/api/Config'; import {getContentMessage} from '@app/api/content_i18n/ContentI18n'; import type {IDonationRepository} from '@app/api/donation/IDonationRepository'; import type {IEmailDnsValidationService} from '@app/api/infrastructure/IEmailDnsValidationService'; +import {getInstanceProductName} from '@app/api/instance/ProductName'; import {Logger} from '@app/api/Logger'; import {getBillingRepository} from '@app/api/middleware/ServiceRegistry'; import {shouldDisableAdaptivePricing} from '@app/api/utils/CurrencyUtils'; @@ -21,8 +22,6 @@ type CheckoutSessionMode = CheckoutSessionCreateParams['mode']; type CheckoutSessionLineItem = NonNullable[number]; type CheckoutSessionLocale = NonNullable; -const PRODUCT_NAME = 'Fluxer'; - const STRIPE_CHECKOUT_LOCALES: Record = { bg: 'bg', cs: 'cs', @@ -76,21 +75,22 @@ function isMissingCustomerError(error: unknown): boolean { } function getDonationProductData(interval: 'month' | 'year' | null, locale: string | null) { + const variables = {product_name: getInstanceProductName()}; if (interval === 'month') { return { - name: getContentMessage('billing.donation_name_recurring', locale, {product_name: PRODUCT_NAME}), - description: getContentMessage('billing.donation_description_monthly', locale, {product_name: PRODUCT_NAME}), + name: getContentMessage('billing.donation_name_recurring', locale, variables), + description: getContentMessage('billing.donation_description_monthly', locale, variables), }; } if (interval === 'year') { return { - name: getContentMessage('billing.donation_name_recurring', locale, {product_name: PRODUCT_NAME}), - description: getContentMessage('billing.donation_description_yearly', locale, {product_name: PRODUCT_NAME}), + name: getContentMessage('billing.donation_name_recurring', locale, variables), + description: getContentMessage('billing.donation_description_yearly', locale, variables), }; } return { - name: getContentMessage('billing.donation_name_one_time', locale, {product_name: PRODUCT_NAME}), - description: getContentMessage('billing.donation_description_one_time', locale, {product_name: PRODUCT_NAME}), + name: getContentMessage('billing.donation_name_one_time', locale, variables), + description: getContentMessage('billing.donation_description_one_time', locale, variables), }; } diff --git a/fluxer_api/src/api/infrastructure/ErrorI18nService.test.ts b/fluxer_api/src/api/infrastructure/ErrorI18nService.test.ts new file mode 100644 index 000000000..a50108613 --- /dev/null +++ b/fluxer_api/src/api/infrastructure/ErrorI18nService.test.ts @@ -0,0 +1,50 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {getConfig} from '@app/api/Config'; +import {ErrorI18nService} from '@app/api/infrastructure/ErrorI18nService'; +import {APIErrorCodes} from '@fluxer/constants/src/ApiErrorCodes'; +import {StripeError} from '@fluxer/errors/src/domains/payment/StripeError'; +import {afterEach, describe, expect, it} from 'vitest'; + +describe('ErrorI18nService', () => { + const originalSelfHosted = getConfig().instance.selfHosted; + const service = new ErrorI18nService(); + + function renderStripeError(locale: string): string { + const error = new StripeError('Stripe checkout session missing url'); + return service.getMessage(error.code, locale, error.messageVariables, error.message); + } + + afterEach(() => { + getConfig().instance.selfHosted = originalSelfHosted; + }); + + it('tells a hosted user to contact support when payment processing fails', () => { + getConfig().instance.selfHosted = false; + expect(renderStripeError('en-US')).toBe( + 'Payment processing encountered an error. Please try again or contact support.', + ); + }); + + it('points a self-hosted user at the instance administrators when payment processing fails', () => { + getConfig().instance.selfHosted = true; + expect(renderStripeError('en-US')).toBe( + 'Payment processing encountered an error. Please try again or contact the administrators of this instance.', + ); + expect(renderStripeError('de')).toBe( + 'Bei der Zahlungsabwicklung ist ein Fehler aufgetreten. Versuch es noch mal oder kontaktiere die Administratoren dieser Instanz.', + ); + }); + + it('lets a variable passed by the error win over the instance default', () => { + getConfig().instance.selfHosted = true; + expect(service.getMessage(APIErrorCodes.STRIPE_ERROR, 'en-US', {supportEmail: 'billing@example.com'})).toBe( + 'Payment processing encountered an error. Please try again or contact support.', + ); + }); + + it('leaves messages without the variable unchanged', () => { + getConfig().instance.selfHosted = true; + expect(service.getMessage(APIErrorCodes.RATE_LIMITED, 'en-US')).toBe("You're being rate limited."); + }); +}); diff --git a/fluxer_api/src/api/infrastructure/ErrorI18nService.ts b/fluxer_api/src/api/infrastructure/ErrorI18nService.ts index 37cd66658..e5b59c24a 100644 --- a/fluxer_api/src/api/infrastructure/ErrorI18nService.ts +++ b/fluxer_api/src/api/infrastructure/ErrorI18nService.ts @@ -1,5 +1,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later +import {resolveContactEmails} from '@app/api/instance/ContactEmails'; import {ErrorCodeToI18nKey} from '@fluxer/errors/src/i18n/ErrorCodeMappings'; import {getErrorMessageUnsafe} from '@fluxer/errors/src/i18n/ErrorI18n'; @@ -11,6 +12,7 @@ export class ErrorI18nService { fallbackMessage?: string, ): string { const i18nKey = ErrorCodeToI18nKey[code as keyof typeof ErrorCodeToI18nKey] ?? code; - return getErrorMessageUnsafe(i18nKey, locale, variables, fallbackMessage); + const instanceVariables = {supportEmail: resolveContactEmails().supportEmail, ...variables}; + return getErrorMessageUnsafe(i18nKey, locale, instanceVariables, fallbackMessage); } } diff --git a/fluxer_api/src/api/instance/ContactEmails.test.ts b/fluxer_api/src/api/instance/ContactEmails.test.ts new file mode 100644 index 000000000..2ba63484d --- /dev/null +++ b/fluxer_api/src/api/instance/ContactEmails.test.ts @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {getConfig} from '@app/api/Config'; +import {resolveContactEmails} from '@app/api/instance/ContactEmails'; +import {afterEach, describe, expect, it} from 'vitest'; + +describe('resolveContactEmails', () => { + const originalSelfHosted = getConfig().instance.selfHosted; + + afterEach(() => { + getConfig().instance.selfHosted = originalSelfHosted; + }); + + it('gives a hosted instance the hosted mailboxes', () => { + getConfig().instance.selfHosted = false; + expect(resolveContactEmails()).toEqual({ + appealsEmail: 'appeals@fluxer.com', + safetyEmail: 'safety@fluxer.com', + supportEmail: 'support@fluxer.com', + }); + }); + + it('gives a self-hosted instance no mailbox at all', () => { + getConfig().instance.selfHosted = true; + expect(resolveContactEmails()).toEqual({appealsEmail: null, safetyEmail: null, supportEmail: null}); + }); + + it('follows the instance switch on every call', () => { + getConfig().instance.selfHosted = true; + expect(resolveContactEmails().supportEmail).toBeNull(); + getConfig().instance.selfHosted = false; + expect(resolveContactEmails().supportEmail).toBe('support@fluxer.com'); + }); +}); diff --git a/fluxer_api/src/api/instance/ContactEmails.ts b/fluxer_api/src/api/instance/ContactEmails.ts new file mode 100644 index 000000000..11c5f2a06 --- /dev/null +++ b/fluxer_api/src/api/instance/ContactEmails.ts @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {Config} from '@app/api/Config'; + +export interface ContactEmails { + appealsEmail: string | null; + safetyEmail: string | null; + supportEmail: string | null; +} + +const HOSTED_CONTACT_EMAILS: ContactEmails = { + appealsEmail: 'appeals@fluxer.com', + safetyEmail: 'safety@fluxer.com', + supportEmail: 'support@fluxer.com', +}; + +const SELF_HOSTED_CONTACT_EMAILS: ContactEmails = { + appealsEmail: null, + safetyEmail: null, + supportEmail: null, +}; + +export function resolveContactEmails(): ContactEmails { + return Config.instance.selfHosted ? SELF_HOSTED_CONTACT_EMAILS : HOSTED_CONTACT_EMAILS; +} diff --git a/fluxer_api/src/api/instance/InstanceConfigRepository.test.ts b/fluxer_api/src/api/instance/InstanceConfigRepository.test.ts index 87f897309..6aa3618b8 100644 --- a/fluxer_api/src/api/instance/InstanceConfigRepository.test.ts +++ b/fluxer_api/src/api/instance/InstanceConfigRepository.test.ts @@ -3,7 +3,7 @@ import {spawnSync} from 'node:child_process'; import {createHash} from 'node:crypto'; import {createServer} from 'node:net'; -import {Config} from '@app/api/Config'; +import {Config, getConfig} from '@app/api/Config'; import type {CassandraQueryExecutorForTesting} from '@app/api/database/CassandraQueryExecution'; import {setCassandraQueryExecutorForTesting} from '@app/api/database/CassandraQueryExecution'; import type {PreparedQuery} from '@app/api/database/CassandraTypes'; @@ -15,6 +15,8 @@ import { InstanceConfigWriteConflictError, type InstanceRegistrationConfig, } from '@app/api/instance/InstanceConfigRepository'; +import {getLegalUrls, setCachedConfiguredLegalUrls} from '@app/api/instance/LegalUrls'; +import {getInstanceProductName, setCachedProductName} from '@app/api/instance/ProductName'; import {InstanceConfigWriteRaceExecutor} from '@app/api/instance/tests/InstanceConfigWriteRaceExecutor'; import {startDockerContainer} from '@app/api/test/DockerTestContainer'; import {InMemoryCassandraQueryExecutor} from '@app/api/test/InMemoryCassandraQueryExecutor'; @@ -272,6 +274,90 @@ describe('InstanceConfigRepository', () => { expect(config.branding.icon_url).toBe('https://other.example/branding/0/89abcdef.png'); }); + it('round-trips the community guidelines URL and clears a blank one', async () => { + setCassandraQueryExecutorForTesting(new CountingInMemoryCassandraQueryExecutor()); + const repository = createRepository(new MockKVProvider()); + const originalSelfHosted = getConfig().instance.selfHosted; + getConfig().instance.selfHosted = true; + try { + expect((await repository.getAppPublicConfig()).legal).toEqual({ + terms_url: null, + privacy_url: null, + guidelines_url: null, + }); + const saved = await repository.setAppPublicConfig({ + legal: {terms_url: 'https://example.org/tos', guidelines_url: ' https://example.org/rules '}, + }); + expect(saved.legal).toEqual({ + terms_url: 'https://example.org/tos', + privacy_url: null, + guidelines_url: 'https://example.org/rules', + }); + expect((await repository.getAppPublicConfig()).legal.guidelines_url).toBe('https://example.org/rules'); + expect(getLegalUrls()).toEqual({termsUrl: 'https://example.org/tos', guidelinesUrl: 'https://example.org/rules'}); + await repository.setAppPublicConfig({legal: {privacy_url: 'https://example.org/privacy'}}); + expect((await repository.getAppPublicConfig()).legal.guidelines_url).toBe('https://example.org/rules'); + await repository.setAppPublicConfig({legal: {guidelines_url: ' '}}); + expect((await repository.getAppPublicConfig()).legal.guidelines_url).toBeNull(); + expect(getLegalUrls()).toEqual({termsUrl: 'https://example.org/tos', guidelinesUrl: null}); + } finally { + getConfig().instance.selfHosted = originalSelfHosted; + setCachedConfiguredLegalUrls({terms_url: null, guidelines_url: null}); + } + }); + + it('loads the stored guidelines URL into the legal URL cache on initialize', async () => { + setCassandraQueryExecutorForTesting(new CountingInMemoryCassandraQueryExecutor()); + const kvProvider = new MockKVProvider(); + const originalSelfHosted = getConfig().instance.selfHosted; + getConfig().instance.selfHosted = true; + try { + await createRepository(kvProvider).setConfig( + APP_PUBLIC_CONFIG_KEY, + JSON.stringify({legal: {terms_url: null, privacy_url: null, guidelines_url: 'https://example.org/rules'}}), + ); + setCachedConfiguredLegalUrls({terms_url: null, guidelines_url: null}); + expect(getLegalUrls().guidelinesUrl).toBeNull(); + await createRepository(kvProvider).initialize(); + expect(getLegalUrls().guidelinesUrl).toBe('https://example.org/rules'); + } finally { + getConfig().instance.selfHosted = originalSelfHosted; + setCachedConfiguredLegalUrls({terms_url: null, guidelines_url: null}); + } + }); + + it('keeps the product name cache in step with the stored branding', async () => { + setCassandraQueryExecutorForTesting(new CountingInMemoryCassandraQueryExecutor()); + const kvProvider = new MockKVProvider(); + try { + await createRepository(kvProvider).setConfig( + APP_PUBLIC_CONFIG_KEY, + JSON.stringify({branding: {product_name: 'Example Chat'}}), + ); + setCachedProductName(null); + await createRepository(kvProvider).initialize(); + expect(getInstanceProductName()).toBe('Example Chat'); + await createRepository(kvProvider).setAppPublicConfig({branding: {product_name: 'Renamed Chat'}}); + expect(getInstanceProductName()).toBe('Renamed Chat'); + } finally { + setCachedProductName(null); + } + }); + + it('reads a stored legal config written before the guidelines URL existed', async () => { + setCassandraQueryExecutorForTesting(new CountingInMemoryCassandraQueryExecutor()); + const repository = createRepository(new MockKVProvider()); + await repository.setConfig( + APP_PUBLIC_CONFIG_KEY, + JSON.stringify({legal: {terms_url: 'https://example.org/tos', privacy_url: null}}), + ); + expect((await repository.getAppPublicConfig()).legal).toEqual({ + terms_url: 'https://example.org/tos', + privacy_url: null, + guidelines_url: null, + }); + }); + it('keeps valid stored instance policy flags when one field is invalid', async () => { const executor = new CountingInMemoryCassandraQueryExecutor(); setCassandraQueryExecutorForTesting(executor); diff --git a/fluxer_api/src/api/instance/InstanceConfigRepository.ts b/fluxer_api/src/api/instance/InstanceConfigRepository.ts index 43bfb7621..c57571d4c 100644 --- a/fluxer_api/src/api/instance/InstanceConfigRepository.ts +++ b/fluxer_api/src/api/instance/InstanceConfigRepository.ts @@ -29,6 +29,8 @@ import { setCachedDateOfBirthCollection, } from '@app/api/instance/DateOfBirthCollectionCache'; import {InstanceConfigCache} from '@app/api/instance/InstanceConfigCache'; +import {setCachedConfiguredLegalUrls} from '@app/api/instance/LegalUrls'; +import {getDefaultProductName, setCachedProductName} from '@app/api/instance/ProductName'; import {normalizeSsoAllowedEmailDomains} from '@app/api/instance/SsoConfigValidation'; import {Logger} from '@app/api/Logger'; import {isLimitConfigSnapshot} from '@app/api/limits/LimitConfigValidation'; @@ -409,7 +411,7 @@ export function getDefaultPremiumProductName(): string { function getDefaultAppPublicConfig(): InstanceAppPublicConfig { return { branding: { - product_name: Config.instance.branding.productName || 'Fluxer', + product_name: getDefaultProductName(), icon_url: normalizeOptionalString(Config.instance.branding.iconUrl), symbol_url: normalizeOptionalString(Config.instance.branding.symbolUrl), logo_url: normalizeOptionalString(Config.instance.branding.logoUrl), @@ -427,6 +429,7 @@ function getDefaultAppPublicConfig(): InstanceAppPublicConfig { legal: { terms_url: null, privacy_url: null, + guidelines_url: null, }, registration: { collect_date_of_birth: getDefaultDateOfBirthCollection(), @@ -742,6 +745,7 @@ function buildAppPublicConfig(config: z.infer { + const originalSelfHosted = getConfig().instance.selfHosted; + + afterEach(() => { + getConfig().instance.selfHosted = originalSelfHosted; + setCachedConfiguredLegalUrls(UNSET); + }); + + it('points a hosted instance at the marketing pages by default', () => { + getConfig().instance.selfHosted = false; + const marketing = getConfig().endpoints.marketing; + expect(resolveLegalUrls(UNSET)).toEqual({ + termsUrl: `${marketing}/terms`, + guidelinesUrl: `${marketing}/guidelines`, + }); + }); + + it('lets a hosted instance override each page', () => { + getConfig().instance.selfHosted = false; + expect(resolveLegalUrls(CONFIGURED)).toEqual({ + termsUrl: 'https://example.org/tos', + guidelinesUrl: 'https://example.org/rules', + }); + expect(resolveLegalUrls({terms_url: null, guidelines_url: 'https://example.org/rules'}).termsUrl).toBe( + `${getConfig().endpoints.marketing}/terms`, + ); + }); + + it('gives a self-hosted instance no links until they are configured', () => { + getConfig().instance.selfHosted = true; + expect(resolveLegalUrls(UNSET)).toEqual({termsUrl: null, guidelinesUrl: null}); + expect(resolveLegalUrls({terms_url: null, guidelines_url: 'https://example.org/rules'})).toEqual({ + termsUrl: null, + guidelinesUrl: 'https://example.org/rules', + }); + expect(resolveLegalUrls(CONFIGURED)).toEqual({ + termsUrl: 'https://example.org/tos', + guidelinesUrl: 'https://example.org/rules', + }); + }); + + it('resolves the cached instance config', () => { + getConfig().instance.selfHosted = true; + expect(getLegalUrls()).toEqual({termsUrl: null, guidelinesUrl: null}); + setCachedConfiguredLegalUrls(CONFIGURED); + expect(getLegalUrls()).toEqual({termsUrl: 'https://example.org/tos', guidelinesUrl: 'https://example.org/rules'}); + getConfig().instance.selfHosted = false; + expect(getLegalUrls()).toEqual({termsUrl: 'https://example.org/tos', guidelinesUrl: 'https://example.org/rules'}); + }); +}); diff --git a/fluxer_api/src/api/instance/LegalUrls.ts b/fluxer_api/src/api/instance/LegalUrls.ts new file mode 100644 index 000000000..a58b6c2e7 --- /dev/null +++ b/fluxer_api/src/api/instance/LegalUrls.ts @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {Config} from '@app/api/Config'; + +export interface ConfiguredLegalUrls { + terms_url: string | null; + guidelines_url: string | null; +} + +export interface LegalUrls { + termsUrl: string | null; + guidelinesUrl: string | null; +} + +let cachedConfiguredLegalUrls: ConfiguredLegalUrls = {terms_url: null, guidelines_url: null}; + +export function setCachedConfiguredLegalUrls(legal: ConfiguredLegalUrls): void { + cachedConfiguredLegalUrls = {terms_url: legal.terms_url, guidelines_url: legal.guidelines_url}; +} + +export function resolveLegalUrls(legal: ConfiguredLegalUrls): LegalUrls { + const hostedUrl = (path: string): string | null => + Config.instance.selfHosted ? null : `${Config.endpoints.marketing}${path}`; + return { + termsUrl: legal.terms_url ?? hostedUrl('/terms'), + guidelinesUrl: legal.guidelines_url ?? hostedUrl('/guidelines'), + }; +} + +export function getLegalUrls(): LegalUrls { + return resolveLegalUrls(cachedConfiguredLegalUrls); +} diff --git a/fluxer_api/src/api/instance/ProductName.test.ts b/fluxer_api/src/api/instance/ProductName.test.ts new file mode 100644 index 000000000..9abd3fd6a --- /dev/null +++ b/fluxer_api/src/api/instance/ProductName.test.ts @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {getConfig} from '@app/api/Config'; +import {getDefaultProductName, getInstanceProductName, setCachedProductName} from '@app/api/instance/ProductName'; +import {afterEach, beforeEach, describe, expect, it} from 'vitest'; + +describe('getInstanceProductName', () => { + const originalProductName = getConfig().instance.branding.productName; + + beforeEach(() => { + setCachedProductName(null); + }); + + afterEach(() => { + getConfig().instance.branding.productName = originalProductName; + setCachedProductName(null); + }); + + it('uses the configured name until a stored name is known', () => { + getConfig().instance.branding.productName = 'Configured Chat'; + expect(getDefaultProductName()).toBe('Configured Chat'); + expect(getInstanceProductName()).toBe('Configured Chat'); + }); + + it('falls back to Fluxer when no name is configured', () => { + getConfig().instance.branding.productName = ''; + expect(getInstanceProductName()).toBe('Fluxer'); + }); + + it('prefers the stored name', () => { + getConfig().instance.branding.productName = 'Configured Chat'; + setCachedProductName('Example Chat'); + expect(getInstanceProductName()).toBe('Example Chat'); + }); +}); diff --git a/fluxer_api/src/api/instance/ProductName.ts b/fluxer_api/src/api/instance/ProductName.ts new file mode 100644 index 000000000..784fc3bc5 --- /dev/null +++ b/fluxer_api/src/api/instance/ProductName.ts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {Config} from '@app/api/Config'; + +let cachedProductName: string | null = null; + +export function getDefaultProductName(): string { + return Config.instance.branding.productName || 'Fluxer'; +} + +export function getInstanceProductName(): string { + return cachedProductName ?? getDefaultProductName(); +} + +export function setCachedProductName(productName: string | null): void { + cachedProductName = productName; +} diff --git a/fluxer_api/src/api/instance/tests/InstanceProductNameSources.test.ts b/fluxer_api/src/api/instance/tests/InstanceProductNameSources.test.ts new file mode 100644 index 000000000..3164f9c75 --- /dev/null +++ b/fluxer_api/src/api/instance/tests/InstanceProductNameSources.test.ts @@ -0,0 +1,164 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {createApplicationID} from '@app/api/BrandedTypes'; +import {getConfig} from '@app/api/Config'; +import {setCachedProductName} from '@app/api/instance/ProductName'; +import {createRuntimeEmailService, getInstanceConfigRepository} from '@app/api/middleware/ServiceSingletons'; +import {ApplicationRepository, resetAdminSecretHashForTesting} from '@app/api/oauth/repositories/ApplicationRepository'; +import {ApnsPushServiceTestHooks} from '@app/api/push/ApnsPushService'; +import type {ApiTestHarness} from '@app/api/test/ApiTestHarness'; +import {createApiTestHarness} from '@app/api/test/ApiTestHarness'; +import {ADMIN_OAUTH2_APPLICATION_ID} from '@fluxer/constants/src/Core'; +import {EmailI18nService} from '@pkgs/email/src/EmailI18nService'; +import type {IEmailService} from '@pkgs/email/src/IEmailService'; +import {SmtpEmailProvider} from '@pkgs/email/src/SmtpEmailProvider'; +import {afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi} from 'vitest'; + +describe('instance product name in server-rendered text', () => { + let harness: ApiTestHarness; + const original = { + productName: getConfig().instance.branding.productName, + selfHosted: getConfig().instance.selfHosted, + adminSecret: getConfig().admin.oauthClientSecret, + emailEnabled: getConfig().email.enabled, + emailFromName: getConfig().email.fromName, + }; + + beforeAll(async () => { + harness = await createApiTestHarness(); + }); + + beforeEach(async () => { + await harness.reset(); + getInstanceConfigRepository().clearCacheForTesting(); + setCachedProductName(null); + getConfig().email.enabled = false; + }); + + afterEach(() => { + vi.restoreAllMocks(); + getConfig().instance.branding.productName = original.productName; + getConfig().instance.selfHosted = original.selfHosted; + getConfig().admin.oauthClientSecret = original.adminSecret; + getConfig().email.enabled = original.emailEnabled; + getConfig().email.fromName = original.emailFromName; + resetAdminSecretHashForTesting(); + setCachedProductName(null); + }); + + afterAll(async () => { + await harness.shutdown(); + }); + + function createRecordedEmailService(): {service: IEmailService; subjects: Array; names: Array} { + const subjects: Array = []; + const names: Array = []; + const getTemplate = EmailI18nService.prototype.getTemplate; + vi.spyOn(EmailI18nService.prototype, 'getTemplate').mockImplementation(function ( + this: EmailI18nService, + key, + locale, + variables, + productName, + ) { + const result = getTemplate.call(this, key, locale, variables, productName); + names.push(productName); + if (result.ok) subjects.push(result.value.subject); + return result; + }); + return {service: createRuntimeEmailService({isEmailBounced: async () => false}), subjects, names}; + } + + it('sends hosted emails as Fluxer', async () => { + getConfig().instance.branding.productName = ''; + const {service, subjects, names} = createRecordedEmailService(); + await expect(service.sendPasswordResetEmail('user@example.com', 'testuser', 'token', 'en-US')).resolves.toBe(true); + expect(names).toEqual(['Fluxer']); + expect(subjects).toEqual(['Reset your Fluxer password']); + }); + + it('sends self-hosted emails under the configured name', async () => { + getConfig().instance.selfHosted = true; + getConfig().instance.branding.productName = 'Configured Chat'; + const {service, subjects} = createRecordedEmailService(); + await service.sendPasswordResetEmail('user@example.com', 'testuser', 'token', 'en-US'); + await service.sendEmailVerification('user@example.com', 'testuser', 'token', 'de'); + expect(subjects[0]).toBe('Reset your Configured Chat password'); + expect(subjects[1]).toContain('Configured Chat'); + expect(subjects.join('\n')).not.toContain('Fluxer'); + }); + + it('picks up a name saved in the dashboard on the next email without a restart', async () => { + getConfig().instance.selfHosted = true; + getConfig().instance.branding.productName = 'Configured Chat'; + const {service, subjects} = createRecordedEmailService(); + await service.sendPasswordResetEmail('user@example.com', 'testuser', 'token', 'en-US'); + await getInstanceConfigRepository().setAppPublicConfig({branding: {product_name: 'Renamed Chat'}}); + await service.sendPasswordResetEmail('user@example.com', 'testuser', 'token', 'en-US'); + setCachedProductName(null); + await service.sendPasswordResetEmail('user@example.com', 'testuser', 'token', 'en-US'); + expect(subjects).toEqual([ + 'Reset your Configured Chat password', + 'Reset your Renamed Chat password', + 'Reset your Renamed Chat password', + ]); + }); + + async function sendAndReadSenderName(): Promise { + getConfig().email.enabled = true; + const sendEmail = vi.spyOn(SmtpEmailProvider.prototype, 'sendEmail').mockResolvedValue(true); + const service = createRuntimeEmailService({isEmailBounced: async () => false}); + await expect(service.sendPasswordResetEmail('user@example.com', 'testuser', 'token', 'en-US')).resolves.toBe(true); + return sendEmail.mock.calls.at(-1)?.[0].from.name; + } + + it('sends hosted emails from Fluxer when no sender name is set', async () => { + getConfig().instance.branding.productName = ''; + getConfig().email.fromName = ''; + await expect(sendAndReadSenderName()).resolves.toBe('Fluxer'); + }); + + it('sends self-hosted emails from the product name when no sender name is set', async () => { + getConfig().instance.selfHosted = true; + getConfig().instance.branding.productName = 'Configured Chat'; + getConfig().email.fromName = ''; + await expect(sendAndReadSenderName()).resolves.toBe('Configured Chat'); + await getInstanceConfigRepository().setAppPublicConfig({branding: {product_name: 'Renamed Chat'}}); + await expect(sendAndReadSenderName()).resolves.toBe('Renamed Chat'); + }); + + it('keeps a configured sender name over the product name', async () => { + getConfig().instance.selfHosted = true; + getConfig().instance.branding.productName = 'Configured Chat'; + getConfig().email.fromName = 'Configured Mailer'; + await expect(sendAndReadSenderName()).resolves.toBe('Configured Mailer'); + getConfig().instance.selfHosted = false; + getConfig().instance.branding.productName = ''; + await expect(sendAndReadSenderName()).resolves.toBe('Configured Mailer'); + }); + + it('titles an APNs alert that has no title with the instance name', () => { + const titleOf = (): unknown => { + const {aps} = ApnsPushServiceTestHooks.buildApnsPayload({notification: {body: 'Hello'}}); + return (aps as {alert: {title: string}}).alert.title; + }; + getConfig().instance.branding.productName = ''; + expect(titleOf()).toBe('Fluxer'); + getConfig().instance.branding.productName = 'Configured Chat'; + expect(titleOf()).toBe('Configured Chat'); + setCachedProductName('Renamed Chat'); + expect(titleOf()).toBe('Renamed Chat'); + }); + + it('names the built-in admin application after the instance', async () => { + getConfig().admin.oauthClientSecret = 'product-name-test-secret'; + resetAdminSecretHashForTesting(); + const repository = new ApplicationRepository(); + const nameOf = async (): Promise => + (await repository.getApplication(createApplicationID(ADMIN_OAUTH2_APPLICATION_ID)))?.name; + getConfig().instance.branding.productName = ''; + await expect(nameOf()).resolves.toBe('Fluxer Admin'); + setCachedProductName('Renamed Chat'); + await expect(nameOf()).resolves.toBe('Renamed Chat Admin'); + }); +}); diff --git a/fluxer_api/src/api/middleware/IpBanMiddleware.ts b/fluxer_api/src/api/middleware/IpBanMiddleware.ts index 90c2fecc9..804ae79ff 100644 --- a/fluxer_api/src/api/middleware/IpBanMiddleware.ts +++ b/fluxer_api/src/api/middleware/IpBanMiddleware.ts @@ -5,6 +5,8 @@ import type {BannedIpEntry, BannedIpKind} from '@app/api/admin/IAdminRepository' import {isIpBanExempt} from '@app/api/ban/IpBanExemptions'; import {IP_BAN_REFRESH_CHANNEL} from '@app/api/constants/IpBan'; import {sharedListHas} from '@app/api/infrastructure/activity/SharedLists'; +import {resolveContactEmails} from '@app/api/instance/ContactEmails'; +import {getInstanceProductName} from '@app/api/instance/ProductName'; import {Logger} from '@app/api/Logger'; import type {HonoEnv} from '@app/api/types/HonoEnv'; import {readOptionalEnv} from '@app/api/utils/IntegerOptions'; @@ -335,10 +337,17 @@ export const IpBanMiddleware = createMiddleware(async (ctx, next) => { ipAddress: match.ipAddress, kind: match.kind, expiresAt: match.expiresAt, + appealEmail: resolveContactEmails().supportEmail, + productName: getInstanceProductName(), }); } if (clientIp && !isIpBanExempt(clientIp) && sharedListHas('ip_blocked', clientIp)) { - throw new IpBannedError({ipAddress: clientIp, kind: 'permanent'}); + throw new IpBannedError({ + ipAddress: clientIp, + kind: 'permanent', + appealEmail: resolveContactEmails().supportEmail, + productName: getInstanceProductName(), + }); } await next(); }); diff --git a/fluxer_api/src/api/middleware/ServiceSingletons.ts b/fluxer_api/src/api/middleware/ServiceSingletons.ts index 8c653912d..020edacf1 100644 --- a/fluxer_api/src/api/middleware/ServiceSingletons.ts +++ b/fluxer_api/src/api/middleware/ServiceSingletons.ts @@ -43,8 +43,11 @@ import {createStorageService} from '@app/api/infrastructure/StorageServiceFactor import {UserCacheService} from '@app/api/infrastructure/UserCacheService'; import {createUsersServiceClient} from '@app/api/infrastructure/UsersServiceClient'; import {VirusScanService} from '@app/api/infrastructure/VirusScanService'; +import {type ContactEmails, resolveContactEmails} from '@app/api/instance/ContactEmails'; import {GatewayRolloutConfigPublisher} from '@app/api/instance/GatewayRolloutConfigPublisher'; import {InstanceConfigRepository} from '@app/api/instance/InstanceConfigRepository'; +import {type LegalUrls, resolveLegalUrls} from '@app/api/instance/LegalUrls'; +import {getInstanceProductName} from '@app/api/instance/ProductName'; import {PushRelayConfigPublisher} from '@app/api/instance/PushRelayConfigPublisher'; import {InviteRepository} from '@app/api/invite/InviteRepository'; import {Logger} from '@app/api/Logger'; @@ -177,27 +180,46 @@ export const getEmailDnsValidationService = singleton(() => new EmailDnsValidati function createEmailServiceForConfig( emailConfigSource: APIConfig['email'], + legalUrls: LegalUrls, + contactEmails: ContactEmails, + productName: string, bouncedEmailChecker: UserBouncedEmailChecker, emailI18n: EmailI18nService, ): IEmailService { const emailConfig: EmailConfig = { enabled: emailConfigSource.enabled, fromEmail: emailConfigSource.fromEmail, - fromName: emailConfigSource.fromName, + fromName: emailConfigSource.fromName.trim() || productName, replyTo: emailConfigSource.replyToEmail || null, appBaseUrl: emailConfigSource.appBaseUrl, - marketingBaseUrl: Config.endpoints.marketing, + termsUrl: legalUrls.termsUrl, + guidelinesUrl: legalUrls.guidelinesUrl, + appealsEmail: contactEmails.appealsEmail, + safetyEmail: contactEmails.safetyEmail, + supportEmail: contactEmails.supportEmail, + productName, }; return new EmailService(emailConfig, emailI18n, createEmailProvider(emailConfigSource), bouncedEmailChecker); } -function createRuntimeEmailService(bouncedEmailChecker: UserBouncedEmailChecker): IEmailService { +export function createRuntimeEmailService(bouncedEmailChecker: UserBouncedEmailChecker): IEmailService { const emailI18n = new EmailI18nService(); return new Proxy({} as IEmailService, { get(_target, property) { return async (...args: Array): Promise => { - const emailConfig = await getInstanceConfigRepository().getEffectiveEmailConfig(); - const delegate = createEmailServiceForConfig(emailConfig, bouncedEmailChecker, emailI18n); + const instanceConfigRepository = getInstanceConfigRepository(); + const [emailConfig, appPublic] = await Promise.all([ + instanceConfigRepository.getEffectiveEmailConfig(), + instanceConfigRepository.getAppPublicConfig(), + ]); + const delegate = createEmailServiceForConfig( + emailConfig, + resolveLegalUrls(appPublic.legal), + resolveContactEmails(), + getInstanceProductName(), + bouncedEmailChecker, + emailI18n, + ); const method = delegate[property as keyof IEmailService]; if (typeof method !== 'function') { throw new Error(`Unknown email service method: ${String(property)}`); diff --git a/fluxer_api/src/api/middleware/tests/ClientIpResolution.test.ts b/fluxer_api/src/api/middleware/tests/ClientIpResolution.test.ts index 4945c788a..2e5a4a360 100644 --- a/fluxer_api/src/api/middleware/tests/ClientIpResolution.test.ts +++ b/fluxer_api/src/api/middleware/tests/ClientIpResolution.test.ts @@ -1,7 +1,9 @@ // SPDX-License-Identifier: AGPL-3.0-or-later +import {getConfig} from '@app/api/Config'; import {ActivityContextMiddleware} from '@app/api/infrastructure/activity/ActivityMeta'; import {applySharedListUpdate, resetSharedListsForTests} from '@app/api/infrastructure/activity/SharedLists'; +import {setCachedProductName} from '@app/api/instance/ProductName'; import {IpBanMiddleware, ipBanCache} from '@app/api/middleware/IpBanMiddleware'; import {TrustedClientIpHeaderMiddleware} from '@app/api/middleware/TrustedClientIpHeaderMiddleware'; import {NoopLogger} from '@app/api/test/mocks/NoopLogger'; @@ -10,7 +12,7 @@ import type {ClientIpResolution} from '@app/api/utils/RequestClientIp'; import {ForbiddenError} from '@fluxer/errors/src/domains/core/ForbiddenError'; import {IpBannedError} from '@fluxer/errors/src/domains/moderation/IpBannedError'; import {Hono} from 'hono'; -import {beforeEach, describe, expect, it} from 'vitest'; +import {afterEach, beforeEach, describe, expect, it} from 'vitest'; interface Pipeline { request: (headers: Record) => Promise; @@ -56,6 +58,13 @@ beforeEach(() => { resetSharedListsForTests(); }); +const originalSelfHosted = getConfig().instance.selfHosted; + +afterEach(() => { + getConfig().instance.selfHosted = originalSelfHosted; + setCachedProductName(null); +}); + describe('client ip resolution across the request pipeline', () => { it('resolves once and shares that resolution with every later middleware', async () => { const pipeline = createPipeline(); @@ -79,6 +88,35 @@ describe('client ip resolution across the request pipeline', () => { expect(response.status).toBe(403); expect(pipeline.errors[0]).toBeInstanceOf(IpBannedError); }); + it.each([ + [false, 'support@fluxer.com'], + [true, null], + ])('gives a banned client the appeal address of the instance (self-hosted %s)', async (selfHosted, appealEmail) => { + getConfig().instance.selfHosted = selfHosted; + ipBanCache.ban('203.0.113.20'); + applySharedListUpdate('ip_blocked', '203.0.113.30\n'); + const pipeline = createPipeline(); + await pipeline.request({'x-forwarded-for': '203.0.113.20'}); + await pipeline.request({'x-forwarded-for': '203.0.113.30'}); + expect(pipeline.errors).toHaveLength(2); + for (const error of pipeline.errors) { + expect(error).toBeInstanceOf(IpBannedError); + expect((error as IpBannedError).data).toMatchObject({appeal_email: appealEmail, appeals_supported: true}); + expect((error as IpBannedError).messageVariables).toMatchObject({appealEmail}); + } + }); + it('names the instance in the block message variables', async () => { + setCachedProductName('Example Chat'); + ipBanCache.ban('203.0.113.20'); + applySharedListUpdate('ip_blocked', '203.0.113.30\n'); + const pipeline = createPipeline(); + await pipeline.request({'x-forwarded-for': '203.0.113.20'}); + await pipeline.request({'x-forwarded-for': '203.0.113.30'}); + expect(pipeline.errors).toHaveLength(2); + for (const error of pipeline.errors) { + expect((error as IpBannedError).messageVariables).toMatchObject({product_name: 'Example Chat'}); + } + }); it('rejects a malformed client ip header after the ban check saw no address', async () => { const pipeline = createPipeline(); const response = await pipeline.request({'x-forwarded-for': 'not-an-ip'}); diff --git a/fluxer_api/src/api/oauth/repositories/ApplicationRepository.ts b/fluxer_api/src/api/oauth/repositories/ApplicationRepository.ts index 460e652de..0399e6d08 100644 --- a/fluxer_api/src/api/oauth/repositories/ApplicationRepository.ts +++ b/fluxer_api/src/api/oauth/repositories/ApplicationRepository.ts @@ -7,6 +7,7 @@ import {BatchBuilder, fetchMany, fetchOne} from '@app/api/database/CassandraQuer import {buildPatchFromData, executeVersionedUpdate} from '@app/api/database/CassandraVersionedUpdate'; import type {ApplicationByOwnerRow, ApplicationRow} from '@app/api/database/types/OAuth2Types'; import {APPLICATION_COLUMNS} from '@app/api/database/types/OAuth2Types'; +import {getInstanceProductName} from '@app/api/instance/ProductName'; import {Application} from '@app/api/models/Application'; import type {IApplicationRepository} from '@app/api/oauth/repositories/IApplicationRepository'; import {Applications, ApplicationsByOwner} from '@app/api/Tables'; @@ -51,7 +52,7 @@ function buildAdminApplication(secretHash: string | null): Application { const row: ApplicationRow = { application_id: createApplicationID(ADMIN_OAUTH2_APPLICATION_ID), owner_user_id: SYSTEM_USER_ID, - name: 'Fluxer Admin', + name: `${getInstanceProductName()} Admin`, bot_user_id: null, bot_is_public: false, bot_require_code_grant: false, diff --git a/fluxer_api/src/api/openapi/openapi.json b/fluxer_api/src/api/openapi/openapi.json index cdae83658..27cac7f45 100644 --- a/fluxer_api/src/api/openapi/openapi.json +++ b/fluxer_api/src/api/openapi/openapi.json @@ -5,7 +5,7 @@ "title": "Fluxer API", "version": "1.0.0", "description": "API for Fluxer, a free and open source instant messaging and VoIP chat app built for friends, groups, and communities.", - "contact": {"name": "Fluxer Platform AB", "email": "support@fluxer.app"}, + "contact": {"name": "Fluxer Platform AB", "email": "support@fluxer.com"}, "license": {"name": "AGPL-3.0", "url": "https://www.gnu.org/licenses/agpl-3.0.html"} }, "servers": [{"url": "https://api.fluxer.app/v1", "description": "Production API"}], @@ -33270,11 +33270,15 @@ "privacy_url": { "description": "Optional public privacy policy URL for account registration", "type": ["string", "null"] + }, + "guidelines_url": { + "description": "Optional public community guidelines URL linked from reporting and enforcement notices", + "type": ["string", "null"] } }, - "required": ["terms_url", "privacy_url"], + "required": ["terms_url", "privacy_url", "guidelines_url"], "additionalProperties": false, - "description": "Optional legal document URLs shown during public registration" + "description": "Optional legal and policy document URLs shown to users" }, "registration": { "type": "object", @@ -33367,11 +33371,15 @@ "privacy_url": { "description": "Optional public privacy policy URL for account registration", "type": ["string", "null"] + }, + "guidelines_url": { + "description": "Optional public community guidelines URL linked from reporting and enforcement notices", + "type": ["string", "null"] } }, - "required": ["terms_url", "privacy_url"], + "required": ["terms_url", "privacy_url", "guidelines_url"], "additionalProperties": false, - "description": "Optional legal document URLs shown during public registration" + "description": "Optional legal and policy document URLs shown to users" }, "registration": { "type": "object", @@ -40004,8 +40012,8 @@ "IP authorization is required.", "IP authorization resend is on cooldown.", "IP authorization resend limit exceeded.", - "Your IP address {ipAddress} has been permanently blocked from the Fluxer API by platform administrators. If you believe this is a mistake, contact support@fluxer.app to appeal. Include this IP address in your appeal.", - "Your IP address {ipAddress} has been temporarily blocked from the Fluxer API. The block lifts on its own when it expires. If you think this is a mistake, contact support@fluxer.com and include this IP address.", + "Your IP address {ipAddress} has been permanently blocked from the {product_name} API by platform administrators. {appealEmail, select, null {If you believe this is a mistake, contact the administrators of this instance to appeal.} other {If you believe this is a mistake, contact {appealEmail} to appeal.}} Include this IP address in your appeal.", + "Your IP address {ipAddress} has been temporarily blocked from the {product_name} API. The block lifts on its own when it expires. {appealEmail, select, null {If you think this is a mistake, contact the administrators of this instance and include this IP address.} other {If you think this is a mistake, contact {appealEmail} and include this IP address.}}", "This IP address cannot be added to the blocklist.", "You've reached the maximum of {limit, plural, one {# application} other {# applications}}.", "You've reached the maximum of {count, plural, one {# bookmark} other {# bookmarks}}.", @@ -40073,7 +40081,7 @@ "Test purchases cannot be applied to this account.", "Stream key channel mismatch.", "Stream key scope mismatch.", - "Payment processing encountered an error. Please try again or contact support.", + "{supportEmail, select, null {Payment processing encountered an error. Please try again or contact the administrators of this instance.} other {Payment processing encountered an error. Please try again or contact support.}}", "Gift code redemption is in progress. Try again in a moment.", "Invalid product selection.", "Invalid product configuration.", diff --git a/fluxer_api/src/api/push/ApnsPushService.ts b/fluxer_api/src/api/push/ApnsPushService.ts index e8f5eb86e..3938fcb02 100644 --- a/fluxer_api/src/api/push/ApnsPushService.ts +++ b/fluxer_api/src/api/push/ApnsPushService.ts @@ -5,6 +5,7 @@ import {readFile} from 'node:fs/promises'; import {type ClientHttp2Session, connect, constants} from 'node:http2'; import {Config} from '@app/api/Config'; import type {PushProviderEnvironment} from '@app/api/config/APIConfig'; +import {getInstanceProductName} from '@app/api/instance/ProductName'; import {Logger} from '@app/api/Logger'; import {type CryptoKey, importPKCS8, SignJWT} from 'jose'; @@ -186,7 +187,7 @@ function buildApnsPayload(payload: Record): Record = ['in_app', 'dsa'] const REPORT_FLOW_ID_PATTERN = /^[a-z0-9_]{1,48}$/; const MAX_WALK_SCREENS = 10; const CRISIS_LINES_URL = 'https://befrienders.org'; +const HOSTED_REPORT_FLOW_INSTANCE: ReportFlowInstance = {selfHosted: false, guidelinesLinked: true}; +const REPORT_FLOW_CHECKED_INSTANCES: ReadonlyArray = [ + HOSTED_REPORT_FLOW_INSTANCE, + {selfHosted: true, guidelinesLinked: false}, + {selfHosted: true, guidelinesLinked: true}, +]; const ADMIN_LOCALE = 'en-US'; const NORWEGIAN_LANGUAGE_CODES: ReadonlySet = new Set(['nb', 'nn']); @@ -117,7 +126,15 @@ export function getReportFlowScreenKind(screen: ReportFlowScreenDef): ReportFlow } function isLinkAvailable(link: ReportFlowLinkId, instance: ReportFlowInstance): boolean { - return link === 'crisis_lines' || !instance.selfHosted; + switch (link) { + case 'crisis_lines': + return true; + case 'guidelines': + return instance.guidelinesLinked; + case 'dsa': + case 'copyright': + return !instance.selfHosted; + } } function resolveScreenSubtitle( @@ -457,10 +474,10 @@ export function assertValidReportFlowLibrary(library: ReportFlowLibrary): void { const errors = collectDefinitionErrors(library); if (errors.length === 0) { const reachable = new Set(); - for (const selfHosted of [false, true]) { + for (const instance of REPORT_FLOW_CHECKED_INSTANCES) { for (const target of REPORT_FLOW_TARGETS) { for (const surface of REPORT_FLOW_SURFACES) { - const variant = buildReportFlowVariant(library, target, surface, {selfHosted}); + const variant = buildReportFlowVariant(library, target, surface, instance); if (!variant) { continue; } @@ -486,7 +503,7 @@ export function buildReportFlowLedger(library: ReportFlowLibrary): Record = {}; for (const target of REPORT_FLOW_TARGETS) { for (const surface of REPORT_FLOW_SURFACES) { - const variant = buildReportFlowVariant(library, target, surface, {selfHosted: false}); + const variant = buildReportFlowVariant(library, target, surface, HOSTED_REPORT_FLOW_INSTANCE); if (!variant) { continue; } @@ -515,19 +532,11 @@ assertValidReportFlowLibrary(REPORT_FLOW_LIBRARY); const variantCache = new Map(); const responseCache = new Map(); -function getCurrentInstance(): ReportFlowInstance { - return {selfHosted: Config.instance.selfHosted}; +function getReportFlowInstance(guidelinesUrl: string | null): ReportFlowInstance { + return {selfHosted: Config.instance.selfHosted, guidelinesLinked: guidelinesUrl !== null}; } -function getProductName(): string { - return Config.instance.branding.productName || 'Fluxer'; -} - -function getGuidelinesUrl(instance: ReportFlowInstance): string | null { - return isLinkAvailable('guidelines', instance) ? `${Config.endpoints.marketing}/guidelines` : null; -} - -function getLinkUrl(link: ReportFlowLinkId, instance: ReportFlowInstance): string | null { +function getLinkUrl(link: ReportFlowLinkId, guidelinesUrl: string | null): string | null { switch (link) { case 'dsa': return `${Config.endpoints.webApp}/report`; @@ -536,27 +545,38 @@ function getLinkUrl(link: ReportFlowLinkId, instance: ReportFlowInstance): strin case 'crisis_lines': return CRISIS_LINES_URL; case 'guidelines': - return getGuidelinesUrl(instance); + return guidelinesUrl; } } -function findReportFlowVariant(target: ReportFlowTargetType, surface: ReportFlowSurface): ReportFlowVariant | null { - const instance = getCurrentInstance(); - const cacheKey = `${target}:${surface}:${instance.selfHosted}`; +function findReportFlowVariant( + target: ReportFlowTargetType, + surface: ReportFlowSurface, + instance: ReportFlowInstance, +): ReportFlowVariant | null { + const cacheKey = `${target}:${surface}:${instance.selfHosted}:${instance.guidelinesLinked}`; if (!variantCache.has(cacheKey)) { variantCache.set(cacheKey, buildReportFlowVariant(REPORT_FLOW_LIBRARY, target, surface, instance)); } return variantCache.get(cacheKey) ?? null; } -export function getReportFlowVariant(target: ReportFlowTargetType, surface: ReportFlowSurface): ReportFlowVariant { - const variant = findReportFlowVariant(target, surface); +function requireReportFlowVariant( + target: ReportFlowTargetType, + surface: ReportFlowSurface, + instance: ReportFlowInstance, +): ReportFlowVariant { + const variant = findReportFlowVariant(target, surface, instance); if (!variant) { throw InputValidationError.fromCode('surface', ValidationErrorCodes.INVALID_FORMAT); } return variant; } +export function getReportFlowVariant(target: ReportFlowTargetType, surface: ReportFlowSurface): ReportFlowVariant { + return requireReportFlowVariant(target, surface, getReportFlowInstance(getLegalUrls().guidelinesUrl)); +} + export function resolveReportFlowLocale(raw: string | null | undefined): LocaleCode { if (!raw) { return parseAcceptLanguage(null); @@ -567,20 +587,20 @@ export function resolveReportFlowLocale(raw: string | null | undefined): LocaleC } function renderCopy(key: ReportFlowCopyKey, locale: string): string { - return getContentMessage(key, locale, {product_name: getProductName()}); + return getContentMessage(key, locale, {product_name: getInstanceProductName()}); } -function renderOutcome(outcome: ReportFlowOutcomeDef, instance: ReportFlowInstance): ReportFlowOutcome { +function renderOutcome(outcome: ReportFlowOutcomeDef, guidelinesUrl: string | null): ReportFlowOutcome { return { type: outcome.type, screen_id: outcome.type === 'screen' ? outcome.screenId : null, reason: outcome.type === 'submit' ? outcome.reason : null, notice_id: outcome.type === 'end' ? (outcome.noticeId ?? null) : null, - url: outcome.type === 'link' ? getLinkUrl(outcome.link, instance) : null, + url: outcome.type === 'link' ? getLinkUrl(outcome.link, guidelinesUrl) : null, }; } -function renderScreen(screen: ReportFlowVariantScreen, locale: string, instance: ReportFlowInstance): ReportFlowScreen { +function renderScreen(screen: ReportFlowVariantScreen, locale: string, guidelinesUrl: string | null): ReportFlowScreen { const {def} = screen; return { id: def.id, @@ -590,7 +610,7 @@ function renderScreen(screen: ReportFlowVariantScreen, locale: string, instance: options: screen.options.map((option) => ({ id: option.id, label: renderCopy(option.label, locale), - outcome: renderOutcome(option.outcome, instance), + outcome: renderOutcome(option.outcome, guidelinesUrl), })), options_heading: def.optionsHeading && screen.options.length > 0 ? renderCopy(def.optionsHeading, locale) : null, checklist: def.checklist @@ -601,7 +621,7 @@ function renderScreen(screen: ReportFlowVariantScreen, locale: string, instance: description: item.description ? renderCopy(item.description, locale) : null, })), min_checked: def.checklist.minChecked, - outcome: renderOutcome(def.checklist.outcome, instance), + outcome: renderOutcome(def.checklist.outcome, guidelinesUrl), } : null, next_screen_id: def.nextScreenId ?? null, @@ -613,17 +633,18 @@ export function getReportFlowResponse( surface: ReportFlowSurface, rawLocale: string | null | undefined, ): ReportFlowResponse { - const variant = getReportFlowVariant(target, surface); + const {guidelinesUrl} = getLegalUrls(); + const instance = getReportFlowInstance(guidelinesUrl); + const variant = requireReportFlowVariant(target, surface, instance); const locale = resolveReportFlowLocale(rawLocale); - const instance = getCurrentInstance(); const cacheKey = [ target, surface, locale, instance.selfHosted, - getProductName(), + guidelinesUrl ?? '', + getInstanceProductName(), Config.endpoints.webApp, - Config.endpoints.marketing, ].join('\u0000'); const cached = responseCache.get(cacheKey); if (cached) { @@ -635,8 +656,8 @@ export function getReportFlowResponse( revision_hash: variant.revisionHash, locale, start_screen_id: variant.startScreenId, - guidelines_url: getGuidelinesUrl(instance), - screens: [...variant.screens.values()].map((screen) => renderScreen(screen, locale, instance)), + guidelines_url: guidelinesUrl, + screens: [...variant.screens.values()].map((screen) => renderScreen(screen, locale, guidelinesUrl)), notices: variant.notices.map((notice) => ({ id: notice.id, title: renderCopy(notice.title, locale), diff --git a/fluxer_api/src/api/report/tests/ContentReporting.test.ts b/fluxer_api/src/api/report/tests/ContentReporting.test.ts index 08a6f8cf8..5e7e5a5d5 100644 --- a/fluxer_api/src/api/report/tests/ContentReporting.test.ts +++ b/fluxer_api/src/api/report/tests/ContentReporting.test.ts @@ -10,7 +10,7 @@ import { type TestAccount, } from '@app/api/auth/tests/AuthTestUtils'; import {createGuildID, createReportID, createUserID} from '@app/api/BrandedTypes'; -import {Config} from '@app/api/Config'; +import {Config, getConfig} from '@app/api/Config'; import {loadFixture, sendMessageWithAttachments} from '@app/api/channel/tests/AttachmentTestUtils'; import { acceptInvite, @@ -28,6 +28,8 @@ import { } from '@app/api/channel/tests/ChannelTestUtils'; import {deleteOneOrMany} from '@app/api/database/CassandraQueryExecution'; import {GuildMemberRepository} from '@app/api/guild/repositories/GuildMemberRepository'; +import {resolveContactEmails} from '@app/api/instance/ContactEmails'; +import {getInstanceProductName} from '@app/api/instance/ProductName'; import {ensureSessionStarted} from '@app/api/message/tests/MessageTestUtils'; import {getRateLimitService} from '@app/api/middleware/ServiceSingletons'; import {ReadStateRepository} from '@app/api/read_state/ReadStateRepository'; @@ -350,12 +352,18 @@ describe('Content Reporting', () => { expect(email?.metadata['public_comment']).toBe(publicComment); const systemMessages = await listSystemDmMessages(harness, reporter.token); expect(systemMessages).toHaveLength(1); - const template = getEmailTemplate('report_resolved', 'fr', { - username: reporter.username!, - reportId: report.report_id, - publicComment, - hasComment: 'yes', - }); + const template = getEmailTemplate( + 'report_resolved', + 'fr', + { + username: reporter.username!, + reportId: report.report_id, + publicComment, + hasComment: 'yes', + safety_email: resolveContactEmails().safetyEmail, + }, + getInstanceProductName(), + ); expect(template.ok).toBe(true); if (!template.ok) { throw new Error('Failed to resolve expected report_resolved email template'); @@ -372,6 +380,36 @@ describe('Content Reporting', () => { }) .toBe(1); }); + test('names no mailbox in the system DM on a self-hosted instance', async () => { + const reporter = await createTestAccount(harness); + const targetUser = await createTestAccount(harness); + let admin = await createTestAccount(harness); + admin = await setUserACLs(harness, admin, ['admin:authenticate', 'report:resolve']); + const report = await createBuilder(harness, reporter.token) + .post('/reports/user') + .body({ + user_id: targetUser.userId, + category: 'harassment', + }) + .expect(HTTP_STATUS.OK) + .execute(); + const originalSelfHosted = getConfig().instance.selfHosted; + getConfig().instance.selfHosted = true; + try { + await createBuilder<{report_id: string}>(harness, `${admin.token}`) + .patch(`/admin/reports/${report.report_id}`) + .body({status: 'resolved', public_comment: 'We reviewed your report.'}) + .expect(HTTP_STATUS.OK) + .execute(); + } finally { + getConfig().instance.selfHosted = originalSelfHosted; + } + const systemMessages = await listSystemDmMessages(harness, reporter.token); + expect(systemMessages).toHaveLength(1); + expect(systemMessages[0]?.content).toContain('We reviewed your report.'); + expect(systemMessages[0]?.content).toContain('please contact the administrators of this instance.'); + expect(systemMessages[0]?.content).not.toContain('@'); + }); }); describe('Report Message', () => { test('should report a message with valid category', async () => { diff --git a/fluxer_api/src/api/report/tests/ReportFlowRegistry.test.ts b/fluxer_api/src/api/report/tests/ReportFlowRegistry.test.ts index 66c520c35..27ee62f2f 100644 --- a/fluxer_api/src/api/report/tests/ReportFlowRegistry.test.ts +++ b/fluxer_api/src/api/report/tests/ReportFlowRegistry.test.ts @@ -5,6 +5,8 @@ import path from 'node:path'; import {fileURLToPath} from 'node:url'; import {getConfig} from '@app/api/Config'; import {CONTENT_I18N_MESSAGES} from '@app/api/content_i18n/ContentI18nMessages'; +import {setCachedConfiguredLegalUrls} from '@app/api/instance/LegalUrls'; +import {getInstanceProductName, setCachedProductName} from '@app/api/instance/ProductName'; import { assertValidReportFlowLibrary, buildReportFlowLedger, @@ -14,6 +16,7 @@ import { getReportFlowVariant, parseReportFlowSteps, REPORT_FLOW_LIBRARY, + type ReportFlowInstance, type ReportFlowLibrary, type ReportFlowStepInput, type ReportFlowVariant, @@ -97,13 +100,17 @@ function addOption(library: ReportFlowLibrary, screenId: string, option: ReportF return editScreen(library, screenId, (screen) => ({...screen, options: [...(screen.options ?? []), option]})); } +const HOSTED: ReportFlowInstance = {selfHosted: false, guidelinesLinked: true}; +const SELF_HOSTED: ReportFlowInstance = {selfHosted: true, guidelinesLinked: false}; +const SELF_HOSTED_WITH_GUIDELINES: ReportFlowInstance = {selfHosted: true, guidelinesLinked: true}; + function variantOf( target: ReportFlowTargetType, surface: ReportFlowSurface, library: ReportFlowLibrary = REPORT_FLOW_LIBRARY, - selfHosted = false, + instance: ReportFlowInstance = HOSTED, ): ReportFlowVariant { - const variant = buildReportFlowVariant(library, target, surface, {selfHosted}); + const variant = buildReportFlowVariant(library, target, surface, instance); if (!variant) { throw new Error(`no variant ${target}/${surface}`); } @@ -171,16 +178,21 @@ function expectInvalidStep( const originalSelfHosted = getConfig().instance.selfHosted; +const originalProductName = getConfig().instance.branding.productName; + afterEach(() => { getConfig().instance.selfHosted = originalSelfHosted; + getConfig().instance.branding.productName = originalProductName; + setCachedConfiguredLegalUrls({terms_url: null, guidelines_url: null}); + setCachedProductName(null); }); describe('report flow definitions', () => { test('the shipped library passes every rule on every variant', () => { expect(() => assertValidReportFlowLibrary(REPORT_FLOW_LIBRARY)).not.toThrow(); - for (const selfHosted of [false, true]) { + for (const instance of [HOSTED, SELF_HOSTED, SELF_HOSTED_WITH_GUIDELINES]) { for (const [target, surface] of VARIANTS) { - const variant = variantOf(target, surface, REPORT_FLOW_LIBRARY, selfHosted); + const variant = variantOf(target, surface, REPORT_FLOW_LIBRARY, instance); for (const screen of variant.screens.values()) { const hasOptions = (screen.def.options ?? []).length > 0; if (screen.kind === 'checklist') { @@ -205,7 +217,7 @@ describe('report flow definitions', () => { ); } } - expect(buildReportFlowVariant(REPORT_FLOW_LIBRARY, 'guild', 'in_app', {selfHosted: false})).toBeNull(); + expect(buildReportFlowVariant(REPORT_FLOW_LIBRARY, 'guild', 'in_app', HOSTED)).toBeNull(); }); test('every screen in the library is used by a variant', () => { @@ -1060,8 +1072,103 @@ describe('report flow rendering', () => { expect(getReportFlowResponse('user', 'in_app', 'en-US')).toBe(hostedUser); }); + test('a self-hosted instance with a configured guidelines URL links it', () => { + const hostedUser = getReportFlowResponse('user', 'in_app', 'en-US'); + getConfig().instance.selfHosted = true; + const unconfigured = getReportFlowResponse('user', 'in_app', 'en-US'); + setCachedConfiguredLegalUrls({terms_url: null, guidelines_url: 'https://rules.example.org/community'}); + const user = getReportFlowResponse('user', 'in_app', 'en-US'); + expect(user).not.toBe(unconfigured); + expect(user.guidelines_url).toBe('https://rules.example.org/community'); + expect(user.revision_hash).not.toBe(unconfigured.revision_hash); + expect(user.revision_hash).not.toBe(hostedUser.revision_hash); + const intro = user.screens[0]; + expect(intro.options_heading).toBe('Learn more'); + expect(intro.options.map((option) => option.id)).toEqual(['learn_more']); + expect(intro.options[0].outcome.url).toBe('https://rules.example.org/community'); + const userScreens = new Map(user.screens.map((screen) => [screen.id, screen])); + expect(userScreens.get('root_user')?.options.map((option) => option.id)).not.toContain('dsa'); + expect(getReportFlowVariant('user', 'in_app').revisionHash).toBe(user.revision_hash); + resolveReportFlowAnswers({ + target: 'user', + surface: 'in_app', + revisionHash: user.revision_hash, + steps: [ + {screen_id: 'profile_intro'}, + {screen_id: 'profile_parts', item_ids: ['photo']}, + {screen_id: 'root_user', option_id: 'spam'}, + {screen_id: 'spam_profile', option_id: 'spam_profile'}, + ], + }); + setCachedConfiguredLegalUrls({terms_url: null, guidelines_url: 'https://rules.example.org/v2'}); + const moved = getReportFlowResponse('user', 'in_app', 'en-US'); + expect(moved.guidelines_url).toBe('https://rules.example.org/v2'); + expect(moved.screens[0].options[0].outcome.url).toBe('https://rules.example.org/v2'); + expect(moved.revision_hash).toBe(user.revision_hash); + setCachedConfiguredLegalUrls({terms_url: null, guidelines_url: null}); + expect(getReportFlowResponse('user', 'in_app', 'en-US')).toBe(unconfigured); + }); + + test('a configured guidelines URL replaces the hosted default', () => { + const hostedUser = getReportFlowResponse('user', 'in_app', 'en-US'); + setCachedConfiguredLegalUrls({terms_url: null, guidelines_url: 'https://rules.example.org/community'}); + const user = getReportFlowResponse('user', 'in_app', 'en-US'); + expect(user.guidelines_url).toBe('https://rules.example.org/community'); + expect(user.screens[0].options[0].outcome.url).toBe('https://rules.example.org/community'); + expect(user.revision_hash).toBe(hostedUser.revision_hash); + setCachedConfiguredLegalUrls({terms_url: null, guidelines_url: null}); + expect(getReportFlowResponse('user', 'in_app', 'en-US')).toBe(hostedUser); + }); + + test('the hosted default names Fluxer', () => { + getConfig().instance.branding.productName = ''; + const rendered = JSON.stringify(getReportFlowResponse('user', 'in_app', 'en-US')); + expect(rendered).toContain("They're under the minimum age to use Fluxer"); + expect(rendered).toContain('Fluxer staff or support'); + }); + + test('a self-hosted instance names the configured product in every locale', () => { + getConfig().instance.selfHosted = true; + getConfig().instance.branding.productName = 'Configured Chat'; + for (const locale of ['en-US', 'de', 'ja', 'sv-SE']) { + for (const [target, surface] of VARIANTS) { + const rendered = JSON.stringify(getReportFlowResponse(target, surface, locale)); + expect(rendered, `${target} ${surface} ${locale}`).not.toContain('Fluxer'); + expect(rendered, `${target} ${surface} ${locale}`).not.toContain('{product_name}'); + } + } + expect(JSON.stringify(getReportFlowResponse('user', 'in_app', 'en-US'))).toContain( + "They're under the minimum age to use Configured Chat", + ); + }); + + test('a name saved in the dashboard replaces the configured name without a restart', () => { + getConfig().instance.branding.productName = 'Configured Chat'; + const configured = getReportFlowResponse('user', 'in_app', 'en-US'); + expect(JSON.stringify(configured)).toContain("They're under the minimum age to use Configured Chat"); + setCachedProductName('Renamed Chat'); + const renamed = getReportFlowResponse('user', 'in_app', 'en-US'); + expect(renamed).not.toBe(configured); + expect(JSON.stringify(renamed)).toContain("They're under the minimum age to use Renamed Chat"); + expect(JSON.stringify(renamed)).not.toContain('Configured Chat'); + expect(getReportFlowResponse('user', 'in_app', 'en-US')).toBe(renamed); + setCachedProductName('Configured Chat'); + expect(getReportFlowResponse('user', 'in_app', 'en-US')).toBe(configured); + }); + + test('the revision hash does not depend on the product name or the locale', () => { + for (const [target, surface] of VARIANTS) { + setCachedProductName(null); + const hosted = getReportFlowResponse(target, surface, 'en-US').revision_hash; + setCachedProductName('Renamed Chat'); + expect(getReportFlowResponse(target, surface, 'en-US').revision_hash).toBe(hosted); + expect(getReportFlowResponse(target, surface, 'de').revision_hash).toBe(hosted); + expect(getReportFlowVariant(target, surface).revisionHash).toBe(hosted); + } + }); + test('English copy names the product, uses US spelling and never names another product', () => { - const productName = getConfig().instance.branding.productName || 'Fluxer'; + const productName = getInstanceProductName(); const rendered = VARIANTS.map(([target, surface]) => JSON.stringify(getReportFlowResponse(target, surface, 'en-US')), ).join('\n'); diff --git a/fluxer_api/src/api/report/tests/ReportFlows.test.ts b/fluxer_api/src/api/report/tests/ReportFlows.test.ts index 01b3bc16f..f99fc3e12 100644 --- a/fluxer_api/src/api/report/tests/ReportFlows.test.ts +++ b/fluxer_api/src/api/report/tests/ReportFlows.test.ts @@ -15,8 +15,9 @@ import { } from '@app/api/channel/tests/ChannelTestUtils'; import {resetActivityEventsForTests, startActivityEvents} from '@app/api/infrastructure/activity/ActivityEvents'; import type {ActivityPublisher} from '@app/api/infrastructure/activity/ActivitySpool'; +import {setCachedProductName} from '@app/api/instance/ProductName'; import {phraseBlocklistCache} from '@app/api/middleware/PhraseBlocklistCache'; -import {getRateLimitService} from '@app/api/middleware/ServiceSingletons'; +import {getInstanceConfigRepository, getRateLimitService} from '@app/api/middleware/ServiceSingletons'; import { getReportFlowResponse, getReportFlowVariant, @@ -369,6 +370,7 @@ describe('Report flows', () => { afterEach(async () => { getConfig().instance.selfHosted = originalSelfHosted; getConfig().instance.branding.productName = originalProductName; + setCachedProductName(null); resetActivityEventsForTests(); await harness?.shutdown(); }); @@ -533,12 +535,27 @@ describe('Report flows', () => { test('the product name comes from the instance config', async () => { getConfig().instance.branding.productName = 'Harbor Chat'; + setCachedProductName(null); const flow = await createBuilderWithoutAuth(harness) .get('/reports/flows/user?locale=en-US') .expect(HTTP_STATUS.OK) .execute(); expect(flow.screens[0].options[0].label).toBe('Read the Harbor Chat Community Guidelines'); }); + + test('a product name saved in the dashboard reaches the flow without a restart', async () => { + const before = await createBuilderWithoutAuth(harness) + .get('/reports/flows/user?locale=en-US') + .expect(HTTP_STATUS.OK) + .execute(); + await getInstanceConfigRepository().setAppPublicConfig({branding: {product_name: 'Renamed Chat'}}); + const after = await createBuilderWithoutAuth(harness) + .get('/reports/flows/user?locale=en-US') + .expect(HTTP_STATUS.OK) + .execute(); + expect(after.screens[0].options[0].label).toBe('Read the Renamed Chat Community Guidelines'); + expect(after.revision_hash).toBe(before.revision_hash); + }); }); describe('Unknown', () => { diff --git a/fluxer_api/src/api/stripe/tests/StripeSubscriptionService.test.ts b/fluxer_api/src/api/stripe/tests/StripeSubscriptionService.test.ts index 0237ce068..e8912f484 100644 --- a/fluxer_api/src/api/stripe/tests/StripeSubscriptionService.test.ts +++ b/fluxer_api/src/api/stripe/tests/StripeSubscriptionService.test.ts @@ -155,10 +155,11 @@ describe('StripeSubscriptionService', () => { .execute(); stripeHandlers.reset(); server.use(...createStripeApiHandlers({subscriptionShouldFail: true}).handlers); - await createBuilder(harness, account.token) + const response = await createBuilder<{message: string}>(harness, account.token) .post('/premium/cancel-subscription') .expect(400, APIErrorCodes.STRIPE_ERROR) .execute(); + expect(response.message).toBe('Payment processing encountered an error. Please try again or contact support.'); }); }); describe('POST /premium/reactivate-subscription', () => { diff --git a/fluxer_api/src/api/worker/tests/BulkScheduleUserDeletion.test.ts b/fluxer_api/src/api/worker/tests/BulkScheduleUserDeletion.test.ts index 4bce1c7a8..b74eaff55 100644 --- a/fluxer_api/src/api/worker/tests/BulkScheduleUserDeletion.test.ts +++ b/fluxer_api/src/api/worker/tests/BulkScheduleUserDeletion.test.ts @@ -14,6 +14,8 @@ import { import {createReportID, createUserID} from '@app/api/BrandedTypes'; import {sendChannelMessage, setupTestGuildWithMembers} from '@app/api/channel/tests/ChannelTestUtils'; import {createTestChannelService} from '@app/api/channel/tests/CrosspostTestUtils'; +import {resolveContactEmails} from '@app/api/instance/ContactEmails'; +import {getInstanceProductName} from '@app/api/instance/ProductName'; import {getReportServiceInstance} from '@app/api/middleware/ServiceMiddleware'; import {getGatewayService, getSnowflakeService, setInjectedWorkerService} from '@app/api/middleware/ServiceRegistry'; import { @@ -185,7 +187,12 @@ async function systemDmMessages(harness: ApiTestHarness, account: TestAccount): const DELETION_WORDING = /delet|\bban|suspend|terminat|remov|enforce/i; function renderGenericNotice(username: string, reportId: string): {subject: string; body: string} { - const rendered = getEmailTemplate('report_resolved', null, {username, reportId, publicComment: '', hasComment: 'no'}); + const rendered = getEmailTemplate( + 'report_resolved', + null, + {username, reportId, publicComment: '', hasComment: 'no', safety_email: resolveContactEmails().safetyEmail}, + getInstanceProductName(), + ); if (!rendered.ok) { throw new Error('report_resolved did not render'); } @@ -501,6 +508,44 @@ describe('bulkScheduleUserDeletion', () => { const resolutionLogs = await listAuditLogs('auto_resolve_reports_on_deletion'); expect(resolutionLogs.some((log) => log.targetId === BigInt(target.userId))).toBe(false); }); + test('only the reporters of resolved reports are notified and the summary counts only those reports', async () => { + const admin = await createTestAccount(harness); + await setUserACLs(harness, admin, ['admin:authenticate', 'bulk:delete:users']); + const underageReporter = await createTestAccount(harness); + const spamReporter = await createTestAccount(harness); + const target = await createTestAccount(harness); + const underageReportId = await reportUser(harness, underageReporter, target.userId, 'underage_user'); + const spamReportId = await reportUser(harness, spamReporter, target.userId); + await clearTestEmails(harness); + const result = await runBulkJob([target.userId], admin.userId, DeletionReasons.HARASSMENT_OR_BULLYING); + expect(result.successful_count).toBe(1); + expect(await getReportStatus(spamReportId)).toBe(ReportStatus.RESOLVED); + expect(await getReportStatus(underageReportId)).toBe(ReportStatus.PENDING); + expect(await reportResolvedEmails(harness, spamReporter)).toHaveLength(1); + expect(await reportResolvedEmails(harness, underageReporter)).toEqual([]); + expect(await systemDmMessages(harness, underageReporter)).toEqual([]); + expect(await autoResolveSummary(target.userId)).toEqual({ + outcome: 'completed', + found_count: '1', + resolved_count: '1', + failed_count: '0', + notified_count: '1', + }); + }); + test('a deletion for a reason that resolves no reports notifies no reporter', async () => { + const admin = await createTestAccount(harness); + await setUserACLs(harness, admin, ['admin:authenticate', 'bulk:delete:users']); + const reporter = await createTestAccount(harness); + const target = await createTestAccount(harness); + const reportId = await reportUser(harness, reporter, target.userId); + await clearTestEmails(harness); + const result = await runBulkJob([target.userId], admin.userId, DeletionReasons.OTHER); + expect(result.successful_count).toBe(1); + expect(await getReportStatus(reportId)).toBe(ReportStatus.PENDING); + expect(await reportResolvedEmails(harness, reporter)).toEqual([]); + expect(await systemDmMessages(harness, reporter)).toEqual([]); + expect(await new AdminRepository().isEmailBanned(target.email)).toBe(true); + }); test('a payload with notify_user false emails nobody and records it in the summary', async () => { const admin = await createTestAccount(harness); await setUserACLs(harness, admin, ['admin:authenticate', 'bulk:delete:users']); diff --git a/fluxer_app/package.json b/fluxer_app/package.json index 2f41ec218..92c2a6411 100644 --- a/fluxer_app/package.json +++ b/fluxer_app/package.json @@ -4,7 +4,7 @@ "private": true, "description": "Fluxer is a free and open source instant messaging and VoIP chat app built for friends, groups, and communities.", "homepage": "https://fluxer.app", - "author": "Fluxer Platform AB ", + "author": "Fluxer Platform AB ", "sideEffects": [ "*.css", "**/*.css" diff --git a/fluxer_app/src/app/Routes.ts b/fluxer_app/src/app/Routes.ts index 57aa369ae..7778b0a97 100644 --- a/fluxer_app/src/app/Routes.ts +++ b/fluxer_app/src/app/Routes.ts @@ -1,7 +1,12 @@ // SPDX-License-Identifier: AGPL-3.0-or-later +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {marketingUrl} from '@app/features/messaging/utils/MessagingUrlUtils'; +function hostedMarketingUrl(path: string): string | null { + return RuntimeConfig.isSelfHosted() ? null : marketingUrl(path); +} + export const Routes = { HOME: '/', APP: '/app', @@ -39,13 +44,13 @@ export const Routes = { LEGACY_PLUTONIUM: '/plutonium', terms: () => marketingUrl('terms'), privacy: () => marketingUrl('privacy'), - guidelines: () => marketingUrl('guidelines'), + guidelines: (): string | null => RuntimeConfig.guidelinesUrl ?? hostedMarketingUrl('guidelines'), careers: () => marketingUrl('careers'), partners: () => marketingUrl('partners'), bugs: () => marketingUrl('help/report-bug'), plutonium: () => marketingUrl('plutonium'), - help: () => marketingUrl('help'), - helpArticle: (slug: string) => marketingUrl(`help/${slug}`), + help: (): string | null => hostedMarketingUrl('help'), + helpArticle: (slug: string): string | null => hostedMarketingUrl(`help/${slug}`), dmChannel: (channelId: string) => `/channels/@me/${channelId}`, favoritesChannel: (channelId: string) => `/channels/@favorites/${channelId}`, guildMembers: (guildId: string) => `/channels/${guildId}/members`, 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 46daeeec3..1dd50b24d 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 @@ -5,7 +5,6 @@ import {ConfirmModal} from '@app/features/app/components/dialogs/ConfirmModal'; import { PAYMENT_PROVIDER_NAME, PIX_PAYMENT_METHOD, - PRODUCT_NAME, SUPPORT_EMAIL, UPI_PAYMENT_METHOD, } from '@app/features/app/config/I18nDisplayConstants'; @@ -154,6 +153,11 @@ 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 PLAN_UNAVAILABLE_SELF_HOSTED_TOAST_DESCRIPTOR = msg({ + message: "This plan isn't available. Contact the administrators of this instance.", + comment: + 'Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured.', +}); 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.', @@ -438,7 +442,11 @@ export const useCheckoutActions = ( if (!priceId) { logger.error('Price ID not available for plan', {plan}); showCheckoutPlanErrorModal( - i18n._(PLAN_UNAVAILABLE_TOAST_DESCRIPTOR), + i18n._( + RuntimeConfig.isSelfHosted() + ? PLAN_UNAVAILABLE_SELF_HOSTED_TOAST_DESCRIPTOR + : PLAN_UNAVAILABLE_TOAST_DESCRIPTOR, + ), 'app.plutonium.use-checkout-actions.plan-unavailable.generic-error-modal', ); return; @@ -459,7 +467,7 @@ export const useCheckoutActions = ( title={i18n._(COMPLETE_PAYMENT_MODAL_TITLE_DESCRIPTOR)} description={i18n._(COMPLETE_PAYMENT_MODAL_BODY_DESCRIPTOR, { paymentProviderName: PAYMENT_PROVIDER_NAME, - productName: PRODUCT_NAME, + productName: RuntimeConfig.productName, })} primaryText={i18n._(OKAY_DESCRIPTOR)} primaryVariant="primary" diff --git a/fluxer_app/src/features/app/components/layout/GuildLayout.tsx b/fluxer_app/src/features/app/components/layout/GuildLayout.tsx index 30e6ca6ad..ee16a4899 100644 --- a/fluxer_app/src/features/app/components/layout/GuildLayout.tsx +++ b/fluxer_app/src/features/app/components/layout/GuildLayout.tsx @@ -9,7 +9,7 @@ import {GuildNavbar} from '@app/features/app/components/layout/GuildNavbar'; import {Nagbar} from '@app/features/app/components/layout/Nagbar'; import {NagbarButton} from '@app/features/app/components/layout/NagbarButton'; import {GuildSidebarSkeleton} from '@app/features/app/components/skeleton/GuildSidebarSkeleton'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import Accounts from '@app/features/auth/state/Accounts'; import {MatureContentChannelGate} from '@app/features/channel/components/MatureContentChannelGate'; import Channels from '@app/features/channel/state/Channels'; @@ -160,7 +160,7 @@ const InvitesDisabledNagbar = observer(({isMobile, guildId}: {isMobile: boolean; {isRaidDetected ? i18n._(INVITES_DISABLED_RAID_MESSAGE_DESCRIPTOR, { communityName: guild.name, - productName: PRODUCT_NAME, + productName: RuntimeConfig.productName, }) : i18n._(INVITES_DISABLED_MESSAGE_DESCRIPTOR, {communityName: guild.name})}

@@ -278,7 +278,7 @@ const StaffOnlyGuildNagbar = observer(({isMobile, guildId}: {isMobile: boolean;

{i18n._(STAFF_ONLY_GUILD_MESSAGE_DESCRIPTOR, { communityName: guild.name, - productName: PRODUCT_NAME, + productName: RuntimeConfig.productName, })}

diff --git a/fluxer_app/src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx b/fluxer_app/src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx index 1324ab6d5..98e30a611 100644 --- a/fluxer_app/src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx +++ b/fluxer_app/src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx @@ -4,7 +4,8 @@ import {Nagbar} from '@app/features/app/components/layout/Nagbar'; import {NagbarButton} from '@app/features/app/components/layout/NagbarButton'; import {NagbarContent} from '@app/features/app/components/layout/NagbarContent'; import {NAGBAR_TONES, NagbarToneKind} from '@app/features/app/components/layout/NagbarTones'; -import {DESKTOP_DOWNLOAD_URL, PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import {DESKTOP_DOWNLOAD_URL} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {openExternalUrl} from '@app/features/ui/utils/NativeUtils'; import {msg} from '@lingui/core/macro'; import {useLingui} from '@lingui/react/macro'; @@ -39,7 +40,7 @@ export const CorruptedInstallationNagbar = observer(({isMobile}: {isMobile: bool onClick={handleDownload} data-flx="app.app-layout.nagbars.corrupted-installation-nagbar.nagbar-button.download" > - {i18n._(DOWNLOAD_PRODUCT_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(DOWNLOAD_PRODUCT_DESCRIPTOR, {productName: RuntimeConfig.productName})} } data-flx="app.app-layout.nagbars.corrupted-installation-nagbar.nagbar-content" diff --git a/fluxer_app/src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx b/fluxer_app/src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx index 7d3843178..fb78c8786 100644 --- a/fluxer_app/src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx +++ b/fluxer_app/src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx @@ -5,7 +5,8 @@ import {Nagbar} from '@app/features/app/components/layout/Nagbar'; import {NagbarButton} from '@app/features/app/components/layout/NagbarButton'; import {NagbarContent} from '@app/features/app/components/layout/NagbarContent'; import {NAGBAR_TONES, NagbarToneKind} from '@app/features/app/components/layout/NagbarTones'; -import {DESKTOP_DOWNLOAD_URL, PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import {DESKTOP_DOWNLOAD_URL} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {DOWNLOAD_DESCRIPTOR} from '@app/features/i18n/utils/CommonMessageDescriptors'; import * as NagbarCommands from '@app/features/ui/commands/NagbarCommands'; import {openExternalUrl} from '@app/features/ui/utils/NativeUtils'; @@ -38,7 +39,7 @@ export const DesktopDownloadNagbar = observer(({isMobile}: {isMobile: boolean}) { RouterUtils.transitionTo(`${Routes.LOGIN}?handoff=1`); }, []); const tone = NAGBAR_TONES[NagbarToneKind.BRAND]; - const values = {productName: PRODUCT_NAME, host: DomainMovedNotice.targetHost}; + const values = {productName: RuntimeConfig.productName, host: DomainMovedNotice.targetHost}; const linkDeviceButton = ( { NagbarState.guildMembershipCtaDismissed = true; }; + const communityName = `${RuntimeConfig.productName} HQ`; return ( - {i18n._(JOIN_PRODUCT_COMMUNITY_BUTTON_DESCRIPTOR, {communityName: PRODUCT_HQ_COMMUNITY_NAME})} + {i18n._(JOIN_PRODUCT_COMMUNITY_BUTTON_DESCRIPTOR, {communityName})} } data-flx="app.app-layout.nagbars.guild-membership-cta-nagbar.nagbar-content" diff --git a/fluxer_app/src/features/app/components/layout/app_layout/nagbars/VisionaryMfaNagbar.tsx b/fluxer_app/src/features/app/components/layout/app_layout/nagbars/VisionaryMfaNagbar.tsx index 554e799c5..e33fb1587 100644 --- a/fluxer_app/src/features/app/components/layout/app_layout/nagbars/VisionaryMfaNagbar.tsx +++ b/fluxer_app/src/features/app/components/layout/app_layout/nagbars/VisionaryMfaNagbar.tsx @@ -5,7 +5,7 @@ import {Nagbar} from '@app/features/app/components/layout/Nagbar'; import {NagbarButton} from '@app/features/app/components/layout/NagbarButton'; import {NagbarContent} from '@app/features/app/components/layout/NagbarContent'; import {NAGBAR_TONES, NagbarToneKind} from '@app/features/app/components/layout/NagbarTones'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {ENABLE_TWO_FACTOR_AUTH_DESCRIPTOR} from '@app/features/i18n/utils/CommonMessageDescriptors'; import * as ModalCommands from '@app/features/ui/commands/ModalCommands'; import {modal} from '@app/features/ui/commands/ModalCommands'; @@ -51,7 +51,7 @@ export const VisionaryMfaNagbar = observer(({isMobile}: {isMobile: boolean}) => { i18n._(DOWNLOAD_DESCRIPTOR, {productName: PRODUCT_NAME})} + text={() => i18n._(DOWNLOAD_DESCRIPTOR, {productName: RuntimeConfig.productName})} data-flx="app.sidebar-nav.download-button.tooltip" > { >
) : ( diff --git a/fluxer_app/src/features/auth/components/modals/TermsAcceptanceModal.tsx b/fluxer_app/src/features/auth/components/modals/TermsAcceptanceModal.tsx index 5b22bb785..22bf4657a 100644 --- a/fluxer_app/src/features/auth/components/modals/TermsAcceptanceModal.tsx +++ b/fluxer_app/src/features/auth/components/modals/TermsAcceptanceModal.tsx @@ -2,7 +2,7 @@ import {Routes} from '@app/app/Routes'; import * as Modal from '@app/features/app/components/dialogs/Modal'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {CLOSE_DESCRIPTOR} from '@app/features/i18n/utils/CommonMessageDescriptors'; import {acceptTerms} from '@app/features/terms/commands/TermsAcceptanceCommands'; import {remFromPx} from '@app/features/theme/layout/RemFromPx'; @@ -72,7 +72,7 @@ export const TermsAcceptanceModal = observer(() => { const kind = getUpdateKind(user.termsAgreedAt, user.privacyAgreedAt); const termsUrl = Routes.terms(); const privacyUrl = Routes.privacy(); - const productName = PRODUCT_NAME; + const productName = RuntimeConfig.productName; return ( - {i18n._(OPEN_PRODUCT_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(OPEN_PRODUCT_DESCRIPTOR, {productName: RuntimeConfig.productName})} diff --git a/fluxer_app/src/features/auth/flow/AuthLoginLayout.tsx b/fluxer_app/src/features/auth/flow/AuthLoginLayout.tsx index cd73afae3..048bbf363 100644 --- a/fluxer_app/src/features/auth/flow/AuthLoginLayout.tsx +++ b/fluxer_app/src/features/auth/flow/AuthLoginLayout.tsx @@ -1,10 +1,9 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import {Routes} from '@app/app/Routes'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; import {detectDomainMigrationInstallKind} from '@app/features/app/domain_migration/DomainMigrationBrowser'; import type {RuntimeConfigSnapshot} from '@app/features/app/state/InstanceSnapshotStore'; -import {describeAPIEndpoint, type InstanceSsoConfig} from '@app/features/app/state/RuntimeConfig'; +import RuntimeConfig, {describeAPIEndpoint, type InstanceSsoConfig} from '@app/features/app/state/RuntimeConfig'; import { FORGOT_YOUR_PASSWORD_DESCRIPTOR, SIGN_IN_WITH_BROWSER_DESCRIPTOR, @@ -860,10 +859,10 @@ export const AuthLoginLayout = observer(function AuthLoginLayout({ type="button" data-flx="auth.flow.auth-login-layout.button.old-app-sign-in" > - {i18n._(SIGN_IN_WITH_OLD_APP_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(SIGN_IN_WITH_OLD_APP_DESCRIPTOR, {productName: RuntimeConfig.productName})}
- {i18n._(OLD_APP_SIGN_IN_HINT_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(OLD_APP_SIGN_IN_HINT_DESCRIPTOR, {productName: RuntimeConfig.productName})}
); diff --git a/fluxer_app/src/features/auth/flow/AuthRouteLoadError.tsx b/fluxer_app/src/features/auth/flow/AuthRouteLoadError.tsx index c37614360..5fc4d4798 100644 --- a/fluxer_app/src/features/auth/flow/AuthRouteLoadError.tsx +++ b/fluxer_app/src/features/auth/flow/AuthRouteLoadError.tsx @@ -1,6 +1,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import styles from '@app/features/auth/flow/AuthPageStyles.module.css'; import type {LoadableErrorProps} from '@app/features/platform/components/loadable/LoadableComponent'; import {Button} from '@app/features/ui/button/Button'; @@ -15,7 +15,7 @@ export function AuthRouteLoadError({retry}: LoadableErrorProps): React.JSX.Eleme Could not load this page
- Try again, or refresh {ph({productName: PRODUCT_NAME})} if the problem continues. + Try again, or refresh {ph({productName: RuntimeConfig.productName})} if the problem continues.
diff --git a/fluxer_app/src/features/auth/passkey_migration/PasskeyBridgePage.tsx b/fluxer_app/src/features/auth/passkey_migration/PasskeyBridgePage.tsx index d3e4a48b4..5359839c7 100644 --- a/fluxer_app/src/features/auth/passkey_migration/PasskeyBridgePage.tsx +++ b/fluxer_app/src/features/auth/passkey_migration/PasskeyBridgePage.tsx @@ -1,9 +1,9 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import styles from '@app/features/app/components/ErrorFallback.module.css'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; import {Endpoints} from '@app/features/app/constants/Endpoints'; import type {DomainMigrationSide} from '@app/features/app/domain_migration/DomainMigrationCore'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import { readPasskeyBridgePageLoginReturnPath, readPasskeyBridgeReturn, @@ -183,7 +183,7 @@ const LegacyPasskeyBridgePage: React.FC = ({side, hash,
{expired ? ( ) : failed ? ( <> @@ -258,7 +258,7 @@ const TargetPasskeyBridgePage: React.FC<{hash: string}> = ({hash}) => { {i18n._(YOU_CAN_CLOSE_THIS_TAB_DESCRIPTOR)}

- {i18n._(GO_BACK_TO_CONTINUE_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(GO_BACK_TO_CONTINUE_DESCRIPTOR, {productName: RuntimeConfig.productName})}

diff --git a/fluxer_app/src/features/auth/state/NewDeviceMonitoring.tsx b/fluxer_app/src/features/auth/state/NewDeviceMonitoring.tsx index 180c70c43..425e47bd9 100644 --- a/fluxer_app/src/features/auth/state/NewDeviceMonitoring.tsx +++ b/fluxer_app/src/features/auth/state/NewDeviceMonitoring.tsx @@ -1,9 +1,9 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import {ConfirmModal} from '@app/features/app/components/dialogs/ConfirmModal'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; import type {DomainMigrationMediaDeviceKind} from '@app/features/app/domain_migration/DomainMigrationCore'; import {remapMigratedDeviceIds} from '@app/features/app/domain_migration/DomainMigrationDeviceRemap'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import styles from '@app/features/auth/state/NewDeviceMonitoring.module.css'; import { getNewDevicePromptCandidates, @@ -18,7 +18,7 @@ import VoiceDevicePermissionState from '@app/features/voice/engine/VoiceDevicePe import VoiceSettings from '@app/features/voice/state/VoiceSettings'; import type {VoiceDeviceState} from '@app/features/voice/utils/VoiceDeviceManager'; import type {I18n} from '@lingui/core'; -import {msg} from '@lingui/core/macro'; +import {msg, ph} from '@lingui/core/macro'; import {Trans} from '@lingui/react/macro'; import {makeAutoObservable, runInAction} from 'mobx'; import type React from 'react'; @@ -195,18 +195,18 @@ class NewDeviceMonitoring { description={ deviceType === 'input' ? ( - {PRODUCT_NAME} has found a new audio input device named{' '} + {ph({PRODUCT_NAME: RuntimeConfig.productName})} has found a new audio input device named{' '} {deviceName}. Do you want to switch to it? ) : deviceType === 'output' ? ( - {PRODUCT_NAME} has found a new audio output device named{' '} + {ph({PRODUCT_NAME: RuntimeConfig.productName})} has found a new audio output device named{' '} {deviceName}. Do you want to switch to it? ) : ( - {PRODUCT_NAME} has found a new audio device named{' '} + {ph({PRODUCT_NAME: RuntimeConfig.productName})} has found a new audio device named{' '} {deviceName}. Do you want to switch to it? diff --git a/fluxer_app/src/features/auth/utils/AuthMfaUtils.ts b/fluxer_app/src/features/auth/utils/AuthMfaUtils.ts index 412f79a1b..343556cfa 100644 --- a/fluxer_app/src/features/auth/utils/AuthMfaUtils.ts +++ b/fluxer_app/src/features/auth/utils/AuthMfaUtils.ts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; const TOTP_ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'; const getRandomBytes = (length = 20): Uint8Array => { @@ -34,7 +34,7 @@ export function encodeTotpSecret(secret: string) { return secret.replace(/[\s._-]+/g, '').toUpperCase(); } -export function encodeTotpSecretAsURL(accountName: string, secret: string, issuer = PRODUCT_NAME) { +export function encodeTotpSecretAsURL(accountName: string, secret: string, issuer = RuntimeConfig.productName) { const url = new URL('otpauth://totp'); url.pathname = `/${encodeURIComponent(issuer)}:${encodeURIComponent(accountName)}`; url.searchParams.set('secret', encodeTotpSecret(secret)); diff --git a/fluxer_app/src/features/channel/components/MatureContentChannelGate.tsx b/fluxer_app/src/features/channel/components/MatureContentChannelGate.tsx index c1c498a68..8a3832147 100644 --- a/fluxer_app/src/features/channel/components/MatureContentChannelGate.tsx +++ b/fluxer_app/src/features/channel/components/MatureContentChannelGate.tsx @@ -24,10 +24,24 @@ import * as ModalCommands from '@app/features/ui/commands/ModalCommands'; import {modal} from '@app/features/ui/commands/ModalCommands'; import * as HelpCenterUtils from '@app/features/ui/utils/HelpCenterUtils'; import {getRegionDisplayName} from '@app/features/user/utils/UserGeo'; +import {msg} from '@lingui/core/macro'; import {Trans, useLingui} from '@lingui/react/macro'; import {observer} from 'mobx-react-lite'; import {useCallback} from 'react'; +const MATURE_COMMUNITY_NOT_AVAILABLE_DESCRIPTOR = msg({ + message: 'This mature community is not available to your account.', + comment: 'Body text on the mature content gate when the viewer cannot open a mature community.', +}); +const MATURE_CATEGORY_NOT_AVAILABLE_DESCRIPTOR = msg({ + message: 'This mature category is not available to your account.', + comment: 'Body text on the mature content gate when the viewer cannot open a mature category.', +}); +const MATURE_CHANNEL_NOT_AVAILABLE_DESCRIPTOR = msg({ + message: 'This mature channel is not available to your account.', + comment: 'Body text on the mature content gate when the viewer cannot open a mature channel.', +}); + interface Props { channelId?: string | null; guildId?: string | null; @@ -37,6 +51,7 @@ interface Props { export const MatureContentChannelGate = observer(({channelId, guildId, reason, scope: scopeOverride}: Props) => { const {i18n} = useLingui(); + const learnMoreUrl = HelpCenterUtils.getURL(HelpCenterArticleSlug.ChangeDateOfBirth); const resolved = GuildMatureContentAgree.getResolvedContext({channelId: channelId ?? null, guildId}); const scope: AgreementScope = scopeOverride ?? resolved.scope; const effectiveMatureContent = resolved.effectiveMatureContent; @@ -121,15 +136,19 @@ export const MatureContentChannelGate = observer(({channelId, guildId, reason, s className={styles.description} data-flx="channel.mature-content-channel-gate.render-content.description--3" > - - This mature community is not available to your account.{' '} - - Learn more - - + {learnMoreUrl ? ( + + This mature community is not available to your account.{' '} + + Learn more + + + ) : ( + i18n._(MATURE_COMMUNITY_NOT_AVAILABLE_DESCRIPTOR) + )}

); @@ -144,15 +163,19 @@ export const MatureContentChannelGate = observer(({channelId, guildId, reason, s className={styles.description} data-flx="channel.mature-content-channel-gate.render-content.description--4" > - - This mature category is not available to your account.{' '} - - Learn more - - + {learnMoreUrl ? ( + + This mature category is not available to your account.{' '} + + Learn more + + + ) : ( + i18n._(MATURE_CATEGORY_NOT_AVAILABLE_DESCRIPTOR) + )}

); @@ -166,15 +189,19 @@ export const MatureContentChannelGate = observer(({channelId, guildId, reason, s className={styles.description} data-flx="channel.mature-content-channel-gate.render-content.description--5" > - - This mature channel is not available to your account.{' '} - - Learn more - - + {learnMoreUrl ? ( + + This mature channel is not available to your account.{' '} + + Learn more + + + ) : ( + i18n._(MATURE_CHANNEL_NOT_AVAILABLE_DESCRIPTOR) + )}

); diff --git a/fluxer_app/src/features/channel/components/UnknownMessage.tsx b/fluxer_app/src/features/channel/components/UnknownMessage.tsx index 0bf529163..8fbd75869 100644 --- a/fluxer_app/src/features/channel/components/UnknownMessage.tsx +++ b/fluxer_app/src/features/channel/components/UnknownMessage.tsx @@ -1,6 +1,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {UserTag} from '@app/features/channel/components/ChannelUserTag'; import {CompactAuthorPrefix, CompactMessageLayout} from '@app/features/channel/components/CompactMessageLayout'; import {MessageAvatar} from '@app/features/channel/components/MessageAvatar'; @@ -33,7 +33,7 @@ export const UnknownMessage = observer(() => { const formattedDate = DateUtils.getRelativeDateString(message.timestamp, i18n); const guild = Guilds.getGuild(channel.guildId ?? ''); const member = GuildMembers.getMember(guild?.id ?? '', author?.id ?? ''); - const updateMessage = i18n._(UPDATE_PRODUCT_TO_VIEW_MESSAGE_DESCRIPTOR, {productName: PRODUCT_NAME}); + const updateMessage = i18n._(UPDATE_PRODUCT_TO_VIEW_MESSAGE_DESCRIPTOR, {productName: RuntimeConfig.productName}); if (messageDisplayCompact) { return ( { tooltip = i18n._(UPDATE_AVAILABLE_DESCRIPTOR); } else { tooltip = version - ? i18n._(CLICK_TO_RELOAD_AND_UPDATE_DESCRIPTOR, {version, productName: PRODUCT_NAME}) - : i18n._(CLICK_TO_RELOAD_AND_UPDATE_2_DESCRIPTOR, {productName: PRODUCT_NAME}); + ? i18n._(CLICK_TO_RELOAD_AND_UPDATE_DESCRIPTOR, {version, productName: RuntimeConfig.productName}) + : i18n._(CLICK_TO_RELOAD_AND_UPDATE_2_DESCRIPTOR, {productName: RuntimeConfig.productName}); } return ( diff --git a/fluxer_app/src/features/channel/components/textarea/TextareaContextMenu.tsx b/fluxer_app/src/features/channel/components/textarea/TextareaContextMenu.tsx index 6c0abbe91..f55a57b30 100644 --- a/fluxer_app/src/features/channel/components/textarea/TextareaContextMenu.tsx +++ b/fluxer_app/src/features/channel/components/textarea/TextareaContextMenu.tsx @@ -3,7 +3,7 @@ import * as AccessibilityCommands from '@app/features/accessibility/commands/AccessibilityCommands'; import Accessibility from '@app/features/accessibility/state/Accessibility'; import {UserSettingsModal} from '@app/features/app/components/dialogs/LoadableSettingsModals'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import Spellcheck from '@app/features/messaging/state/Spellcheck'; import {isEditableTextInput, replaceSelectedText} from '@app/features/messaging/utils/TextInputEditUtils'; import type {SpellcheckEngine} from '@app/features/platform/types/Electron'; @@ -440,7 +440,7 @@ const SpellcheckSubmenu = observer(({isElectron: electron, onOpenSpellcheckSetti onClick={onOpenSpellcheckSettings} data-flx="channel.textarea.textarea-context-menu.spellcheck-submenu.menu-item.open-spellcheck-settings" > - {i18n._(SPELLCHECK_SETTINGS_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(SPELLCHECK_SETTINGS_DESCRIPTOR, {productName: RuntimeConfig.productName})} ); diff --git a/fluxer_app/src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx b/fluxer_app/src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx index efb1f3a58..e62ada78d 100644 --- a/fluxer_app/src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx +++ b/fluxer_app/src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx @@ -7,10 +7,10 @@ import {ExternalLink} from '@app/features/app/components/shared/ExternalLink'; import { AVATAR_RECOMMENDED_SIZE_LABEL, IMAGE_MAX_SIZE_BYTES, - PRODUCT_NAME, STATIC_IMAGE_FORMATS, } from '@app/features/app/config/I18nDisplayConstants'; import {useFormSubmit} from '@app/features/app/hooks/useFormSubmit'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {openClaimAccountModal} from '@app/features/auth/components/modals/ClaimAccountModal'; import {AssetCropModal, AssetType} from '@app/features/expressions/components/modals/AssetCropModal'; import {openAssetSourceModal} from '@app/features/expressions/components/modals/AssetSourceModal'; @@ -53,7 +53,7 @@ import {Input} from '@app/features/ui/components/form/FormInput'; import Users from '@app/features/user/state/Users'; import * as AvatarUtils from '@app/features/user/utils/AvatarUtils'; import * as StringUtils from '@app/lib/strings'; -import {msg} from '@lingui/core/macro'; +import {msg, ph} from '@lingui/core/macro'; import {Trans, useLingui} from '@lingui/react/macro'; import {EnvelopeSimpleIcon} from '@phosphor-icons/react'; import {observer} from 'mobx-react-lite'; @@ -72,6 +72,7 @@ const CHANGE_ICON_DESCRIPTOR = msg({ export const GuildCreateForm = observer(() => { const {i18n} = useLingui(); + const guidelinesUrl = Routes.guidelines(); const [previewIconUrl, setPreviewIconUrl] = useState(null); const form = useForm({defaultValues: {name: ''}}); const modalFooterContext = useContext(ModalFooterContext); @@ -341,19 +342,21 @@ export const GuildCreateForm = observer(() => { required={true} type="text" /> -

- - By creating a community, you agree to follow and uphold the{' '} - - {PRODUCT_NAME} community guidelines - - . - -

+ {guidelinesUrl && ( +

+ + By creating a community, you agree to follow and uphold the{' '} + + {ph({PRODUCT_NAME: RuntimeConfig.productName})} community guidelines + + . + +

+ )} diff --git a/fluxer_app/src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx b/fluxer_app/src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx index 32a69211a..f454d38c7 100644 --- a/fluxer_app/src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx +++ b/fluxer_app/src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx @@ -7,11 +7,11 @@ import {ExternalLink} from '@app/features/app/components/shared/ExternalLink'; import { AVATAR_RECOMMENDED_SIZE_LABEL, IMAGE_MAX_SIZE_BYTES, - PRODUCT_NAME, STATIC_IMAGE_FORMATS, THE_OTHER_PLATFORM_TEMPLATE_EXAMPLE_URL, } from '@app/features/app/config/I18nDisplayConstants'; import {useFormSubmit} from '@app/features/app/hooks/useFormSubmit'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {openClaimAccountModal} from '@app/features/auth/components/modals/ClaimAccountModal'; import {AssetCropModal, AssetType} from '@app/features/expressions/components/modals/AssetCropModal'; import {openAssetSourceModal} from '@app/features/expressions/components/modals/AssetSourceModal'; @@ -73,7 +73,7 @@ import * as StringUtils from '@app/lib/strings'; import {ChannelTypes} from '@fluxer/constants/src/ChannelConstants'; import {THE_OTHER_PLATFORM} from '@fluxer/constants/src/ExternalPlatformConstants'; import type {TemplateSerializedGuild} from '@fluxer/schema/src/domains/guild/GuildTemplateSchemas'; -import {msg} from '@lingui/core/macro'; +import {msg, ph} from '@lingui/core/macro'; import {Trans, useLingui} from '@lingui/react/macro'; import {ArrowSquareOutIcon, EnvelopeSimpleIcon} from '@phosphor-icons/react'; import {observer} from 'mobx-react-lite'; @@ -162,6 +162,7 @@ const IMAGE_COULDN_T_BE_USED_DESCRIPTOR = msg({ }); export const TemplateImportForm = observer(() => { const {i18n} = useLingui(); + const guidelinesUrl = Routes.guidelines(); const theOtherPlatform = THE_OTHER_PLATFORM; const [step, setStep] = useState('url'); const [apiUrl, setApiUrl] = useState(null); @@ -659,19 +660,21 @@ export const TemplateImportForm = observer(() => { required={true} type="text" /> -

- - By creating a community, you agree to follow and uphold the{' '} - - {PRODUCT_NAME} community guidelines - - . - -

+ {guidelinesUrl && ( +

+ + By creating a community, you agree to follow and uphold the{' '} + + {ph({PRODUCT_NAME: RuntimeConfig.productName})} community guidelines + + . + +

+ )} diff --git a/fluxer_app/src/features/i18n/locales/ar/messages.po b/fluxer_app/src/features/i18n/locales/ar/messages.po index ce4272971..caeb0fdd5 100644 --- a/fluxer_app/src/features/i18n/locales/ar/messages.po +++ b/fluxer_app/src/features/i18n/locales/ar/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "يعمل {domain} بإصدار أحدث من Fluxer مقارنة بهذا التطبيق. قم بتحديث Fluxer، ثم حاول مرة أخرى." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "يسبق توقيتك بـ {duration}" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "يتأخر عن توقيتك بـ {duration}" @@ -1528,7 +1528,7 @@ msgstr "{fps} إطار/ث" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} إطارًا في الثانية" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, zero {منذ # ساعة} one {منذ ساعة} two {من #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, zero {# ساعة} one {ساعة واحدة} two {ساعتان} few {# ساعات} many {# ساعة} other {# ساعة}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, zero {# ساعة} one {ساعة واحدة} two {ساعتان} few {# ساعات} many {# ساعة} other {# ساعة}} و{minutes, plural, zero {# دقيقة} one {دقيقة واحدة} two {دقيقتان} few {# دقائق} many {# دقيقة} other {# دقيقة}}" @@ -1602,7 +1602,7 @@ msgstr "ملف {label} كبير جدًا. اختر ملفًا أصغر من {max msgid "{label} images cannot be animated. Use a static image." msgstr "لا يمكن أن تكون صور {label} متحركة. استخدم صورة ثابتة." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "العلم: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, zero {منذ # دقيقة} one {منذ دقيقة} two #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, zero {# دقيقة} one {دقيقة واحدة} two {دقيقتان} few {# دقائق} many {# دقيقة} other {# دقيقة}}" @@ -1803,15 +1803,15 @@ msgstr "اكتشف {PRODUCT_NAME} جهاز إخراج صوتي جديدًا با msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "يحتاج {PRODUCT_NAME} إلى إعادة التشغيل قبل أن تُغيّر إعدادات التمرير الأصلية في Chromium طريقة عمل التمرير." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "يحتاج {PRODUCT_NAME} إلى إعادة التشغيل حتى يسري تغيير تسريع الأجهزة." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "يحتاج {PRODUCT_NAME} إلى إعادة التشغيل لتطبيق تغيير شريط العنوان." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "يحتاج {PRODUCT_NAME} إلى إعادة التشغيل لتعطيل تسريع الأجهزة في Chromium. لا تستخدم هذا الخيار إلا عند معالجة مشكلات في الرسوميات أو ارتفاع استخدام وحدة معالجة الرسوميات (GPU)." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "صائد أخطاء {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "يمكن لـ {productName} أن يطلب من سطح المكتب لديك تشغيل اختصاراته عندما لا تكون نافذة {productName} نشطة. سيطلب منك سطح المكتب التأكيد ويتيح لك اختيار المفاتيح." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "لم يعد بإمكان {productName} قراءة لوحة المفاتيح، لذا يستمع إلى الاختصارات عبر X11 بدلًا من ذلك." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "لم يعد بإمكان {productName} قراءة لوحة المفاتيح، لذا تُستخدم اختصارات سطح المكتب بدلًا من ذلك." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "لم يعد بإمكان {productName} قراءة لوحة المفاتيح. لا تعمل الاختصارات إلا عندما تكون نافذة {productName} نشطة." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "يمكن لـ {productName} تسجيل اختصاراته في Hyprland لتعمل عندما لا تكون نافذة {productName} نشطة. بعد ذلك تربط المفاتيح في ملف إعدادات Hyprland." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "لا يمكن لـ {productName} استخدام مشفر الأجهزة هنا، لذا سيستخدم وحدة المعالجة المركزية (CPU)." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "سيقوم {productName} بالإغلاق وتثبيت التحديث ثم إعادة الفتح." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "تعذر على {productName} الوصول إلى خدمة التحديث. يرجى التحقق من اتصالك والمحاولة مرة أخرى." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "تم نقل {productName} إلى {host}. افتحه في متصفحك لتثبيت التطبيق الجديد." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "عضو في {productName} منذ" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "يحتاج {productName} إلى الوصول إلى الميكروفون الخاص بك. اسمح بالوصول إلى الميكروفون في إعدادات خصوصية نظام التشغيل الخاص بك وأعد تشغيل التطبيق." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "يحتاج {productName} إلى الوصول إلى الكاميرا لعرض أجهزتك." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "يحتاج {productName} إلى الوصول إلى الميكروفون لعرض أجهزتك." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "عدة استرداد {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "سجّل {productName} اختصاراته في Hyprland. اربطها في ملف إعدادات Hyprland لاستخدامها عندما لا تكون نافذة {productName} نشطة." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 شهرًا (سنة واحدة)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "نظام 12 ساعة" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "٢٤ ساعة" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "نظام 24 ساعة" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "اسم مضيف، مثل {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "يتوفر تحديث لتطبيق سطح المكتب على Linux. اختر تنسيق الحزمة لهذا النظام وسيحفظه {productName} محليًا." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "دقيقة واحدة" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "يتوفر إصدار جديد لسطح المكتب. نزّل برنامج التثبيت، ثم شغّله لتحديث {productName}." @@ -2817,7 +2817,7 @@ msgstr "حول {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "نبذة عني" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "مشاركة النشاط" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "حد النشاط" @@ -3155,7 +3155,7 @@ msgstr "الحجم الفعلي" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "إضافة" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "أضف اسم مستخدم وكلمة مرور لحسابك أولاً." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "إضافة كلمة…" @@ -3244,7 +3244,7 @@ msgstr "أضف مفتاح YouTube Data API لإثراء روابط YouTube." #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "إضافة حساب" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "العنوان" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "اضبط كل إعداد بنفسك: إزالة الضوضاء، وإلغاء الصدى، والكسب." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "خيارات متقدمة" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "إعدادات الفيديو المتقدمة" @@ -3906,22 +3906,22 @@ msgstr "سماح" msgid "Allow {everyoneMention} and {hereMention}" msgstr "السماح بـ {everyoneMention} و{hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "اسمح لـ {PRODUCT_NAME} بالوصول إلى الكاميرا الخاصة بك في \"إعدادات النظام\" ← \"الخصوصية والأمان\" ← \"الكاميرا\"." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "اسمح لـ {PRODUCT_NAME} بالوصول إلى الميكروفون الخاص بك في إعدادات النظام ← الخصوصية والأمان ← الميكروفون." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "اسمح لـ {PRODUCT_NAME} بالوصول إلى الميكروفون الخاص بك. تحقق من شريط عنوان المتصفح أو الإعدادات." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "اسمح لـ {productName} ضمن تسجيل الشاشة في إعدادات النظام. إذا كان مسموحًا به بالفعل، فأعد تشغيل {productName2} لتطبيق macOS ذلك." @@ -3961,7 +3961,7 @@ msgstr "السماح بالرسائل المباشرة من البوتات" msgid "Allow bots to send you direct messages?" msgstr "السماح للبوتات بإرسال رسائل مباشرة إليك؟" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "السماح بالوصول إلى الكاميرا" @@ -4029,7 +4029,7 @@ msgstr "السماح للأعضاء الذين لا يملكون إذن {readMes msgid "Allow mentions for this role" msgstr "السماح بالإشارة إلى هذا الدور" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "السماح بالوصول إلى الميكروفون" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "تسطير الروابط دائمًا" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "استخدام قواميس Hunspell الخاصة بـ {productName} دائمًا، والتي يتم تنزيلها عند الطلب." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "شارة أيقونة التطبيق" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "تنسيق الوقت حسب لغة التطبيق: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "الموافقة مطلوبة" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "وافق على هذا التطبيق من تطبيق {productName} الذي تستخدمه بالفعل. لا حاجة لكلمة مرور." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "تم التصريح في {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "تلقائي" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "اكتشاف اللغة تلقائيًا" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "تعيين حد النشاط تلقائيًا" @@ -5534,7 +5534,7 @@ msgstr "AV1 (يتطلب التفعيل)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "متاح" @@ -5608,11 +5608,11 @@ msgstr "غير متواجد حاليًا" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "أفضل ضغط. استخدمه فقط عندما يوفّر WebRTC مُرمِّزًا ويشير تقرير GPU إلى أنه يعمل بتسريع العتاد." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "الأفضل مع تطبيق سطح المكتب" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "المتصفح: الصفحة الرئيسية" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "الإعدادات الإقليمية للمتصفح: {format}" @@ -6545,8 +6545,8 @@ msgstr "اشترِ هدية {premiumProductName} من علامة تبويب {pre msgid "Buy gift" msgstr "شراء هدية" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "بإنشائك مجتمعًا، فإنك توافق على اتباع <0>إرشادات مجتمع {PRODUCT_NAME} والالتزام بها." @@ -6658,7 +6658,7 @@ msgstr "المكالمات" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "معاينة الكاميرا" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "جودة الكاميرا" @@ -6809,8 +6809,8 @@ msgstr "لا يمكن تحميل الملفات هنا" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "إلغاء التبديل المجدول" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "إلغاء الاشتراك" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "هل تريد إلغاء الاشتراك؟" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "الفئة" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "تحذير محتوى الفئة" @@ -7131,15 +7131,15 @@ msgstr "تغيير الاسم المستعار في المجموعة" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "تغيير الأيقونة" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "تغيير في إعدادات النظام" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "شارات القنوات" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "تحذير محتوى القناة" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "اختصارات الدردشة" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "تحقق مرة أخرى" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "جارٍ التحقق من الوصول..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "جارٍ التحقق من إذن تسجيل الشاشة..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "الدفع غير متاح" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "اختر طريقة الدفع المفضلة لاشتراكك." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "اختيار طريقة الدفع" @@ -8174,7 +8174,7 @@ msgstr "اختر الإعدادات الافتراضية الخاصة بك" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "اختر خادمك" @@ -8216,8 +8216,8 @@ msgstr "استلام الهدية" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "المطالبة بحسابك" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "شارات المجتمع" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "تحذير بشأن محتوى المجتمع" @@ -9089,8 +9089,8 @@ msgstr "رسائل المجتمع المباشرة" msgid "Community filter" msgstr "تصفية المجتمعات" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "أيقونة المجتمع" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "تم تحديث المجتمع" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "صوت المجتمع" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "إتمام الدفع" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "أكمل التحقق من المحتوى للبالغين لفتح الوسائط المخصصة للبالغين." @@ -9409,7 +9409,7 @@ msgstr "تأكيد" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "التأكيد قبل الانضمام إلى القنوات الصوتية" @@ -9457,7 +9457,7 @@ msgstr "أكّد البيان لإرسال البلاغ." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "تأكيد الانضمام إلى الصوت" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "تأكيد" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "التأكيد أو النقر المزدوج للانضمام إلى القنوات الصوتية في المجتمعات" @@ -9476,7 +9476,7 @@ msgstr "التأكيد أو النقر المزدوج للانضمام إلى ا msgid "Conflicts with {conflictLabel}" msgstr "يتعارض مع {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "وصّل كاميرا وحاول مرة أخرى." @@ -9489,7 +9489,7 @@ msgstr "وصّل كاميرا أو جهاز التقاط افتراضي، ثم msgid "Connect a display, then try again." msgstr "وصّل شاشة، ثم حاول مرة أخرى." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "وصّل ميكروفونًا وحاول مرة أخرى." @@ -9633,7 +9633,7 @@ msgstr "الاتصال: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "جهة اتصال" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "المحتوى محظور" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "متابعة في متصفحك" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "متابعة إلى الدفع" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "المتابعة باستخدام مفتاح المرور" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "نسخ رابط الدعوة" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "نسخ الأسطر" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "نسخ الأسطر لملف hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "نسخ الأسطر لملف hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "تعذّر تغيير سعر اشتراكك" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "تعذّر التحقق من وجود تحديثات" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "تعذّر حذف رسائلك" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "تعذّر تنزيل تحديث تطبيق سطح المكتب" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "تعذر بدء عملية الدفع" @@ -10932,7 +10932,7 @@ msgstr "إنشاء ومشاركة" msgid "Create a community" msgstr "إنشاء مجتمع" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "أنشئ مجتمعًا لك ولأصدقائك للدردشة." @@ -11365,7 +11365,7 @@ msgstr "مصدر مخصص" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "السمع معطّل من قبل المشرفين" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "حزمة DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "تطبيق سطح المكتب" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "تطبيق سطح المكتب محدّث" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "يتوفر تحديث سطح المكتب {version}. اختر حزمة Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "يتوفر تحديث لتطبيق سطح المكتب" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "يتوفر تحديث لتطبيق سطح المكتب. اختر حزمة Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "يتوفر إصدار سطح المكتب {version}. نزّل برنامج التثبيت ثم شغّله لتحديث {productName}." @@ -12613,7 +12613,7 @@ msgstr "التفاصيل: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "اكتشاف أثناء الكتابة" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "أدوات المطور غير متاحة" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "إصدار التطوير" @@ -13455,8 +13455,8 @@ msgstr "تنزيل" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "تنزيل {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification وضعه في مجلد <1>.well-known حتى نتمكن من التحقق من النطاق." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "تنزيل التطبيق" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "تنزيل التطبيق" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "زر التنزيل" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "تنزيل تطبيق سطح المكتب" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "تنزيل الصورة" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "تنزيل المثبّت" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "تنزيل الوسائط" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "تنزيل الحزمة" @@ -13655,11 +13655,11 @@ msgstr "إفلات العنصر" msgid "Drop to upload background" msgstr "أفلت لتحميل الخلفية" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "نظرًا لقوانين المحتوى للبالغين في {regionName}، يُحجب المحتوى للبالغين حتى تُكمل التحقق من المحتوى للبالغين." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "نظرًا لقوانين المحتوى للبالغين في {regionName}، فإن المحتوى للبالغين غير متاح من هنا. يتوفر التحقق من المحتوى للبالغين في المملكة المتحدة فقط." @@ -13673,7 +13673,7 @@ msgstr "نظرًا لقوانين المحتوى للبالغين في {regionNa msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "نظرًا لقوانين المحتوى للبالغين في {regionName}، فإن هذا المحتوى غير متاح من هنا. يتوفر التحقق من المحتوى للبالغين في المملكة المتحدة فقط." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "نظرًا لقوانين المحتوى للبالغين في {regionName}، فإن هذه الوسائط غير متاحة في منطقتك الحالية." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "كل رمز يعمل مرة واحدة بدلاً من تطبيق المصادقة الخاص بك." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "يمكن لكل مفتاح تشغيل اختصار واحد فقط على مستوى النظام." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "تمكين" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "تمكين إذن {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "تفعيل الاختصار" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "تفعيل المدقق الإملائي" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "إنهاء فترة السماح الآن" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "إنهاء فترة السماح" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "إنهاء فترة السماح الآن؟" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "أدخل رمز PIN لمفتاح الأمان للمتابعة." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "أدخل هذا الرمز في متصفحك" @@ -14845,7 +14845,7 @@ msgstr "أدخل هذا الرمز في متصفحك" msgid "Enter this code in your browser to complete sign-in." msgstr "أدخل هذا الرمز في متصفحك لإكمال تسجيل الدخول." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "أدخل هذا الرمز في تطبيق {PRODUCT_NAME} القديم لديك لإكمال تسجيل الدخول." @@ -14916,7 +14916,7 @@ msgstr "صوت النظام بالكامل" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "صوت الدخول" @@ -15026,7 +15026,7 @@ msgstr "وقت المساء" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "يوازن مستوى صوت الميكروفون حتى لا يكون صوتك منخفضًا جدًا." @@ -15249,7 +15249,7 @@ msgstr "تنتهي صلاحيته بين {earliest} و{latest}" msgid "Expires in {remaining}s" msgstr "تنتهي الصلاحية خلال {remaining} ث" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "تنتهي صلاحيته خلال {remainingSeconds} ثانية" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "إضافة القناة إلى المفضلة" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "القنوات المفضلة" @@ -16243,7 +16243,7 @@ msgstr "لمدة {threeHours} ساعات" msgid "For {twentyFourHours} hours" msgstr "لمدة {twentyFourHours} ساعة" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "للعيون البريطانية فقط..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "لنفسي" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "للضغط لكتم الصوت، استخدم مفتاحًا واحدًا بدون Ctrl أو Alt أو Shift. عند استخدام تركيبة مفاتيح، حرّر المفتاح الرئيسي أولًا وإلا فقد يبقى الميكروفون مكتومًا." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "للضغط للتحدث، استخدم مفتاحًا واحدًا بدون Ctrl أو Alt أو Shift. عند استخدام تركيبة مفاتيح، حرّر المفتاح الرئيسي أولًا وإلا فقد يبقى الميكروفون قيد التشغيل." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "لهذا الاختصار، استخدم مفتاحًا واحدًا بدون Ctrl أو Alt أو Shift. عند استخدام تركيبة مفاتيح، حرّر المفتاح الرئيسي أولًا وإلا فقد يبقى الاختصار نشطًا." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "لأولوية النشاط الصوتي، استخدم مفتاحًا واحدًا بدون Ctrl أو Alt أو Shift. عند استخدام تركيبة مفاتيح، حرّر المفتاح الرئيسي أولًا وإلا فقد تبقى الأولوية مفعّلة." @@ -16460,14 +16460,14 @@ msgstr "إطار" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "معدل الإطارات" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "تتطلب معدلات الإطارات التي تزيد عن 30 إطارًا في الثانية {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "تلقَّ إشعارات عند استلامك رسائل. قد تحتاج إلى السماح بالإشعارات في إعدادات المتصفح. للتحكم في الإشعارات لكل قناة/مجتمع، انقر بزر الفأرة الأيمن على أيقونة المجتمع وافتح إعدادات الإشعارات." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "احصل على تطبيق {productName} لسطح المكتب لاستخدام الضغط للتحدث على مستوى النظام وبعض المزايا الأخرى." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "احصل على تطبيق سطح المكتب" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "ارجع إلى {productName} للمتابعة." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "ارجع إلى تطبيق {PRODUCT_NAME}. سيتم تسجيل الدخول تلقائيًا." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "ارجع إلى تطبيق {PRODUCT_NAME}. يمكنك إغلاق هذه النافذة." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "مساعدة" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "زر المساعدة" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "مركز المساعدة" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "مركز المساعدة" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "ساعد في ترجمة {PRODUCT_NAME} إلى لغتك على <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "إخفاء الدردشة" msgid "Hide community owner crown" msgstr "إخفاء تاج مالك المجتمع" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "إخفاء زر التنزيل" @@ -17860,7 +17860,7 @@ msgstr "إخفاء المفضلة" msgid "Hide guidelines" msgstr "إخفاء الإرشادات" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "إخفاء زر مركز المساعدة" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "إخفاء رسائل الانضمام" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "إخفاء تلميحات لوحة المفاتيح" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "رابط تشعبي" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "لا يحتوي Hyprland على نافذة لإعداد الاختصارات. أضف الأسطر الخاصة بإصدار Hyprland لديك إلى ملف إعدادات Hyprland واستبدل KEY بالمفتاح الذي تريده." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "لا يحتوي Hyprland على نافذة لإعداد الاختصارات. اربط المفاتيح في ملف إعدادات Hyprland." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (قبل Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 والإصدارات الأحدث)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "أؤكد بحسن نية أن المعلومات والادعاءات الواردة في هذا الإشعار دقيقة وكاملة." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "فهمت" @@ -18598,11 +18598,11 @@ msgstr "جارٍ الاستيراد… تمت معالجة {processedCount, numb msgid "In" msgstr "في" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "في وضع \"نظام التشغيل\"، تكون القواميس المذكورة أعلاه إرشادية فقط. سيمرر {PRODUCT_NAME} علامات اللغة هذه إلى مدقق الإملاء في نظام التشغيل عندما يكون ذلك مدعومًا. يتم تجاهل العلامات التي لا يتعرف عليها." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "في المتصفح، لا تعمل ميزة الضغط للتحدث إلا عندما تكون علامة تبويب {PRODUCT_NAME} نشطة. ثبّت تطبيق سطح المكتب لاستخدام الضغط للتحدث على مستوى النظام." @@ -18650,7 +18650,7 @@ msgstr "في الدردشة الصوتية" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "قواميس داخل التطبيق" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "الإدخال" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "الإدخال والإخراج" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "إدراج رمز تعبيري" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "ثبّت {productName} للحصول على أداة اختيار المصدر الكاملة وعناصر تحكم أكثر سلاسة لمشاركة الشاشة." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "تثبيت التطبيق الجديد" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "مثبّت" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "الإصدار المثبّت: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "الواجهة" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "لغة الواجهة" @@ -19467,13 +19467,13 @@ msgstr "انضمام" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "انضم إلى {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "انضم إلى {communityName} للدردشة مع الفريق والبقاء على اطلاع دائم." @@ -19561,7 +19561,7 @@ msgstr "الانضمام إلى مكالمة الفيديو" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "الانضمام إلى المحادثة الصوتية" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "حافظ على المستويات المجانية والمدفوعة. يمكنك تخصيص المستويات، أو البيع عبر Stripe، أو توزيع رموز هدايا لاحقًا من لوحة التحكم." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "الاحتفاظ بفترة السماح" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "مواصلة التشغيل" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "الاحتفاظ بالاشتراك" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "احتفظ بهذه الصفحة في مكان آمن. إذا نسيت كلمة مرورك، يمكنك استخدامها للعودة إلى حسابك. يمكن لأي شخص لديه مفتاح الاسترداد هذا إعادة تعيين كلمة مرورك، لذا لا تشاركه أبدًا." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "يستمر الإرسال لفترة وجيزة بعد إفلات زر الضغط للتحدث." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "لوحة المفاتيح" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "تعذّر بدء الوصول إلى لوحة المفاتيح. لا تعمل الاختصارات إلا عندما تكون نافذة {productName} نشطة." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "وضع لوحة المفاتيح" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "إظهار اختصارات لوحة المفاتيح في التلميحات" @@ -19923,7 +19923,7 @@ msgstr "إعدادات اللغة" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "اللغات" @@ -19971,7 +19971,7 @@ msgstr "رسم بياني لزمن الاستجابة" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "تم السماح للعضو بسماع الآخرين في هذا المجتمع مرة أخرى" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "يتيح لـ {productName} قراءة لوحة المفاتيح مباشرةً. عطّل هذا الخيار لإعداد الاختصارات عبر سطح المكتب لديك بدلاً من ذلك." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "يتيح لـ {productName} قراءة لوحة المفاتيح مباشرةً. نظامك يسمح بذلك بالفعل." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "الافتراضي في Linux" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "حزمة لينكس" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "الملفات المحلية" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "التوقيت المحلي" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "المظهر والشكل" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "يبدو أنك تستخدم {0}. قد تؤدي إضافة معالجة {PRODUCT_NAME} فوقه إلى تذبذب مستوى الصوت أو تشويهه. يمرّر الإدخال المباشر الصوت كما هو دون أي تعديل." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "نقل ملكية المجموعة" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "تأكد من تطابق هذا الرمز مع الرمز الموجود في تطبيق {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "إدارة اشتراكك" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "تحديث تطبيق سطح المكتب يدويًا" @@ -21145,15 +21145,15 @@ msgstr "ماساتشوستس" msgid "Master volume" msgstr "مستوى الصوت الرئيسي" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "فئة للبالغين" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "قناة للبالغين" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "مجتمع للبالغين" @@ -21194,7 +21194,7 @@ msgstr "تم إرسال طلب التحقق من المحتوى للبالغين #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "يتوفر التحقق من المحتوى للبالغين حاليًا في المملكة المتحدة فقط." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "تم تحديث أدوار العضو" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "عضو منذ" @@ -22013,7 +22013,7 @@ msgstr "ميكروفون" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "اختبار الميكروفون" @@ -22127,7 +22127,7 @@ msgstr "مينيسوتا" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "نيكو" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "قط نيكو يطارد مؤشر الفأرة" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "لا يمكن للمستخدمين الجدد الانضمام الآن. لا يزال بإمكانك إنشاء حساب أو تسجيل الدخول، ثم إعادة المحاولة باستخدام هذا الرابط لاحقًا." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "إصدار جديد" @@ -23465,7 +23465,7 @@ msgstr "لا توجد إشارات مرجعية" msgid "No bot banner" msgstr "لا توجد لافتة للبوت" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "لم يتم العثور على كاميرا" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "لا يوجد وصف." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "لا يتوفر تحديث لتطبيق سطح المكتب." @@ -23684,7 +23684,7 @@ msgstr "لا توجد مشاركات مطابقة" msgid "No mentions yet" msgstr "لا توجد إشارات بعد" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "لم يتم العثور على ميكروفون" @@ -23731,7 +23731,7 @@ msgstr "لا توجد طلبات معلقة مطابقة لهذا البحث" msgid "No permissions found" msgstr "لم يتم العثور على أذونات" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "لا توجد كلمات في قاموسك الشخصي بعد." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "غير مسموح به" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "غير معيّن" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "عند النقر" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "على جهازك الآخر، قم بتسجيل الدخول على {signInAddress} وأدخل هذا الرمز عند الطلب." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "افتح {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "افتح {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "فتح مبدل الحسابات" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "فتح إعدادات الوسائط المتقدمة" @@ -24788,7 +24788,7 @@ msgstr "فتح خيارات اللافتة" msgid "Open bookmarks" msgstr "فتح الإشارات المرجعية" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "فتح المتصفح" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "فتح منتقي التاريخ" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "فتح صفحة تنزيل تطبيق سطح المكتب" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "فتح الإعدادات" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "فتح مركز البرامج" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "فتح إعدادات النظام" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "افتح \"إعدادات النظام\" ← \"الخصوصية والأمان\" ← \"تسجيل الشاشة\"، ثم اسمح لـ {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "فتح قالب JSON" @@ -25089,7 +25089,7 @@ msgstr "فتح قالب JSON" msgid "Open the context menu" msgstr "فتح قائمة السياق" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "افتح الرابط أدناه في متصفحك، ثم انسخ استجابة JSON بالكامل والصقها في المربع." @@ -25167,11 +25167,11 @@ msgstr "فتح إعدادات الصوت والفيديو" msgid "Open with {accountName} on {instanceName}" msgstr "فتح باستخدام {accountName} على {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "افتح متصفحك، سجّل الدخول، ثم أدخل الرمز أدناه لربط حسابك." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "افتح تطبيق {PRODUCT_NAME} القديم واختر \"ربط جهاز جديد\"، ثم أدخل الرمز أدناه." @@ -25199,7 +25199,7 @@ msgstr "يفتح صفحة الأعضاء. اضغط على المسافة أو En #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "نظام التشغيل" @@ -25629,7 +25629,7 @@ msgstr "آخر 7 أيام" msgid "Paste" msgstr "لصق" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "الصق رابط قالب {theOtherPlatform} لاستيراد هيكله إلى مجتمع جديد." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "أذونات {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "القاموس الشخصي" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "اختر علامة واحدة على الأقل لهذا المنشور." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "اختر قاموسًا واحدًا أو أكثر. يتم قبول الكلمات من أي قاموس محدد، وهو أمر مفيد للمحادثات متعددة اللغات." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "جارٍ تحميل الأسعار." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "المشتريات غير متاحة" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "مفتاح الضغط للتحدث" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "الضغط للتحدث" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "الضغط للتحدث (محدود)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "لا يوجد بعد مفتاح على مستوى النظام للضغط للتحدث. لتعيينه، انتقل إلى الإعدادات > التطبيقات > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "لا يوجد بعد مفتاح على مستوى النظام للضغط للتحدث. لتعيينه، انتقل إلى إعدادات النظام > لوحة المفاتيح > الاختصارات > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "لا يوجد بعد مفتاح على مستوى النظام للضغط للتحدث. لتعيينه، افتح إعدادات اختصارات لوحة المفاتيح في سطح المكتب لديك." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "يتم تجاهل الضغط للتحدث في وضع الإدخال المباشر. بدّل إلى الصوت المركّز أو المخصص لاستخدامه." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "الضغط للتحدث مفعّل. اضغط مع الاستمرار على مفتاح الضغط للتحدث لتتحدث." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "لا يعمل الضغط للتحدث إلا عندما تكون نافذة {productName} نشطة، لأن سطح المكتب لديك لم يُعِدّ الاختصارات على مستوى النظام." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "لن يعمل الضغط للتحدث إلا أثناء تركيز {productName} حتى يتم تمكين {permissionName}." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "لا يعمل الضغط للتحدث إلا عندما تكون نافذة {productName} نشطة إلى أن تُعِدّ الاختصارات على مستوى النظام." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "لا يعمل الضغط للتحدث إلا عندما تكون علامة تبويب المتصفح نشطة." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "سيستخدم الضغط للتحدث المفتاح الذي تعيّنه في {productName}. عيّن مفتاحًا أولًا، وإلا فسيعمل الميكروفون بالنشاط الصوتي." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "لن يلغي الضغط للتحدث كتم الميكروفون أثناء تعطيل السمع. ألغِ تعطيل السمع لتتحدث." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "لا يعمل الضغط للتحدث خارج {productName} إلا بعد ربطه في ملف إعدادات Hyprland." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "لا يعمل الضغط للتحدث خارج {productName} إلا بعد ربطه في ملف إعدادات Hyprland. أضف السطر الخاص بإصدار Hyprland لديك واستبدل KEY بالمفتاح الذي تريده." @@ -27533,12 +27533,12 @@ msgstr "سيتم توجيه المستلمين إلى {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "مُوصى به" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "مُوصى به. ينقّي صوت الميكروفون ليكون الكلام واضحًا." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "أُعيد الاتصال بنجاح. اختر شاشة مرة أخرى إذا أردت استئناف بثك السابق." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "جارٍ إعادة الاتصال بسطح المكتب…" @@ -27836,7 +27836,7 @@ msgstr "إعادة التشغيل للتطبيق" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "تأخير الإفلات" @@ -27853,7 +27853,7 @@ msgstr "الأكثر صلة" msgid "Reload" msgstr "إعادة تحميل" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "أعد تحميل {PRODUCT_NAME} لتطبيق تغيير المحرك بالكامل. يتطلب التبديل بين المدقق الإملائي داخل التطبيق ومدقق النظام إعادة تحميل العارض لأن Electron لا يمكنه تبديل المزودين أثناء التشغيل." @@ -27872,7 +27872,7 @@ msgstr "أعد تحميل {productName} لاستخدام تحديث الويب { msgid "Reload app" msgstr "إعادة تحميل التطبيق" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "إعادة التحميل الآن" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "إزالة" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "إزالة \"{word}\" من القاموس" @@ -28086,8 +28086,8 @@ msgstr "إزالة من صور GIF المفضلة (بالرابط فقط)" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "إزالة الأيقونة" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "الصفوف لكل صفحة" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "حزمة RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "السلامة" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "نفس توقيتك" @@ -29770,7 +29770,7 @@ msgstr "تسجيل الشاشة" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "مطلوب إذن تسجيل الشاشة" @@ -29858,7 +29858,7 @@ msgstr "خصوصية مشاركة الشاشة" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "جودة مشاركة الشاشة" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "البحث عن رمز اللغة…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "البحث عن اللغات…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "اختر صورة GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "اختيار لغة الواجهة" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "اختر الحساب الذي تريد تسجيل الدخول به على جهازك الجديد." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "تحديد وضع معالجة الصوت" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "يرسل صوت الميكروفون الخام بدون معالجة." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "يرسل صوتك دون أي تعديل. مناسب إذا كنت تستخدم برامج صوت خارجية." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "تم تعيين موضع في قائمة الأعضاء للدور" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "تم التعيين بواسطة إعداد {preset}. يؤدي اختيار قيمة هنا إلى التبديل إلى مخصص." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "تم تعيين منطقة الصوت إلى تلقائي" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "إعداد" @@ -31307,7 +31307,7 @@ msgstr "مشاركة مع صديق" msgid "Share your screen" msgstr "مشاركة شاشتك" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "شارك شاشتك بدقة عالية (1080p) أو رباعية عالية الدقة (1440p) أو بدقة المصدر الأصلية، بمعدل يصل إلى 60 إطارًا في الثانية." @@ -31399,7 +31399,7 @@ msgstr "رموز مختصرة" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "اختصار" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "شارات الاختصارات" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "إظهار زر المفضلة" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "إظهار العناصر المفضلة في جميع أنحاء التطبيق" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "تسجيل الدخول عبر متصفحك" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "تسجيل الدخول باستخدام تطبيق {productName} القديم" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "تسجيل الخروج؟" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "تم إلغاء تسجيل الدخول" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "تفاصيل تسجيل الدخول" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "خطوات تسجيل الدخول" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "تسجيل الدخول باسم {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "تسجيل الدخول على جهاز آخر؟" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "حدث خطأ ما أثناء بدء عملية الدفع. يرجى المحاولة مرة أخرى بعد قليل." @@ -32812,7 +32812,7 @@ msgstr "الأصوات" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "السرعة" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "التدقيق الإملائي" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "محرك التدقيق الإملائي" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "رسوم متحركة للنجمة" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "القنوات المميزة بنجمة" @@ -33140,7 +33140,7 @@ msgstr "بدء مكالمة صوتية؟" msgid "Start call" msgstr "بدء المكالمة" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "بدء اختبار الكاميرا وتكوين المؤثرات" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "بدء مصغر" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "بدء التشغيل" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "نيكو ثابت" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "لا تزال الفهرسة جارية. تحقق مجددًا بعد قليل" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "نيكو ساكن" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "في انتظار الوصول إلى تسجيل الشاشة" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "إيقاف اختبار الميكروفون" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "منع نيكو من مطاردة مؤشر الفأرة مع إبقائه قابلًا للسحب والتفاعل." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "الاشتراك موجود بالفعل" @@ -33957,7 +33957,7 @@ msgstr "التبديل إلى التخطيط المريح" msgid "Switch to dense layout" msgstr "التبديل إلى التخطيط المضغوط" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "التبديل إلى الإدخال المباشر" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "لا تدعم الرسائل المباشرة من النظام المكالمات الصوتية." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "الإعدادات الإقليمية للنظام: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "علبة النظام" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "تثبيت مُدار بواسطة النظام" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "اختصارات على مستوى النظام" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "تعذر إعداد الاختصارات على مستوى النظام." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "اضغط لإضافة ملاحظة" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "أرشيف tar.gz" @@ -34360,7 +34360,7 @@ msgstr "شارة شريط المهام" msgid "Teleporting you to another voice region..." msgstr "جارٍ نقلك إلى منطقة صوتية أخرى..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "قالب" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "يُظهر تطبيق {PRODUCT_NAME} على جهازك الآخر ذلك تحت \"تسجيل الدخول على جهاز آخر\". أدخل رمزًا من جهاز تتحكم فيه فقط." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "لم يتم تسجيل الدخول إلى تطبيق {PRODUCT_NAME}. يمكنك إغلاق هذه النافذة." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "ربما حُذف المجتمع الذي تبحث عنه أو ليس لديك صلاحية الوصول إليه." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "تعذر تنزيل تحديث سطح المكتب. حاول مرة أخرى من زر التحديث عندما يصبح اتصالك مستقرًا." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "حُفظ الملف الذي تم تنزيله على جهاز الكمبيوتر. ثبّته باستخدام مدير الحزم الذي تستخدمه عادةً." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "تحتوي هذه الفئة بالفعل على الحد الأقصى من القنوات وهو {maxChannelsPerCategory}." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "تم وضع علامة على هذه الفئة لاحتوائها على محتوى للبالغين وقد تتضمن مواد غير مناسبة لبعض المستخدمين." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "هذه القناة لديها تحذير محتوى. يمكن إرسال التحديثات فقط إلى القنوات التي لديها تحذير محتوى أو تقييد عمري." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "تم وضع علامة على هذه القناة لاحتوائها على محتوى للبالغين وقد تتضمن مواد غير مناسبة لبعض المستخدمين." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "هذا المجتمع ممتلئ" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "تم وضع علامة على هذا المجتمع لاحتوائه على محتوى للبالغين وقد يتضمن مواد غير مناسبة لبعض المستخدمين." @@ -35324,14 +35324,14 @@ msgstr "هذا المجتمع لم يعد متاحًا" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "تم التحقق من هذا الاتصال." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "لم يتم التحقق من هذا الاتصال." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "هذه المحادثة لم تعد متاحة." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "لا يمكن لإصدار سطح المكتب هذا تثبيت التحديثات داخل {productName}. نزّل أحدث مثبّت لسطح المكتب بدلًا من ذلك." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "لا يوفّر سطح المكتب هذا اختصارات على مستوى النظام. لا يعمل الضغط للتحدث إلا عندما تكون نافذة {productName} نشطة." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "لا يوفّر سطح المكتب هذا اختصارات على مستوى النظام. لا تزال الاختصارات تعمل عندما تكون نافذة {productName} نشطة." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "لا يمكن لإصدار التطوير هذا تحديث نفسه. نزّل مثبّت سطح المكتب لاختبار عملية التحديث." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "لم يمكن قراءة هذه الصورة. قد تكون تالفة." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "هذا التثبيت مُدار بواسطة نظامك. حدّث {productName} من مركز البرامج أو مدير الحزم." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "هذا المثيل يستخدم أسماء المستخدمين لتسجيل الدخول بالفعل. لا يمكن تغيير هذا الآن." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "يسمح هذا المثيل حاليًا بمشاركة الشاشة بدقة تصل إلى 720p بمعدل 30 إطارًا في الثانية." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "هذا الرابط غير صالح. افتح الرابط من بريدك الإلكتروني مرة أخرى." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "هذه الفئة المخصصة للبالغين غير متاحة لحسابك." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "هذه الفئة المخصصة للبالغين غير متاحة لحسابك. <0>معرفة المزيد" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "هذه القناة المخصصة للبالغين غير متاحة لحسابك." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "هذه القناة المخصصة للبالغين غير متاحة لحسابك. <0>معرفة المزيد" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "هذا المجتمع المخصص للبالغين غير متاح لحسابك." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "هذا المجتمع المخصص للبالغين غير متاح لحسابك. <0>معرفة المزيد" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "هذه الوسائط المخصصة للبالغين غير متاحة لحسابك." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "هذه الوسائط المخصصة للبالغين غير متاحة لحسابك. <0>معرفة المزيد" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "هذه الخطة غير متاحة. اتصل بالدعم." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "هذه الخطة غير متاحة. اتصل بمسؤولي هذا المثيل." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "عملية الشراء هذه غير مؤهلة لاسترداد الأموال." @@ -35837,7 +35853,7 @@ msgstr "تم قفل هذا الموضوع. يمكن للمشرفين فقط إر msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "قام هذا المستخدم بتقييد ملفه الشخصي. بعض التفاصيل مخفية عن الأشخاص الذين ليسوا أصدقاءه." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "ليس لدى هذا المستخدم أي أدوار في هذا المجتمع." @@ -36050,14 +36066,14 @@ msgstr "الوقت" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "تنسيق الوقت" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "اختيار تنسيق الوقت" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "منصة شريط العنوان" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "لتغيير المفاتيح، انتقل إلى الإعدادات > التطبيقات > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "لتغيير المفاتيح، انتقل إلى إعدادات النظام > لوحة المفاتيح > الاختصارات > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "لتغيير المفاتيح، افتح إعدادات اختصارات لوحة المفاتيح في سطح المكتب لديك." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "شريط الأدوات" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "تلميحات الاختصارات" @@ -36864,7 +36880,7 @@ msgstr "أربع وعشرون ساعة" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "نقرتان" @@ -37263,7 +37279,7 @@ msgstr "خيار احتياطي شامل. أقل جودة، لكنه يعمل ف #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "غير معروف" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "افتح الرموز التعبيرية المخصصة في الرسائل المباشرة مع {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "افتح مشاركة الشاشة عالية الدقة باستخدام {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "حتى 720p بمعدل 30 إطارًا في الثانية" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "حدّث {productName} لاستخدام الاختصارات على مستوى النظام على Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "تحديث حالتي" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "تحديث الآن" @@ -38008,8 +38024,8 @@ msgstr "تحميل الملفات والوسائط في هذه القناة." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "تحميل أيقونة" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "استخدم {name} على {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "استخدام {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "استخدام {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "استخدام طريقة بديلة" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "استخدام التمرير التلقائي" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "استخدام البطاقة" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "استخدام القيمة الافتراضية" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "استخدام الوصول المباشر إلى أجهزة الإدخال" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "استخدام الملصقات من المجتمعات الأخرى." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "استخدام لغة النظام لتنسيق الوقت" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "استخدام إطار نافذة نظام التشغيل" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "استخدم المدقق الإملائي المدمج في نظام التشغيل لديك." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "استخدام النشاط الصوتي" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "استخدم المدقق الإملائي في نظام التشغيل لديك عند توفره. وإلا، استخدم قواميس {productName} المدمجة في التطبيق." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "تحقق من بريدك الإلكتروني أولاً" @@ -39244,7 +39260,7 @@ msgstr "عرض التفاصيل" msgid "View devices that are signed in to your account" msgstr "عرض الأجهزة التي سجلت الدخول إلى حسابك" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "عرض الملف الشخصي كاملاً" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "يتضمن Visionary بالفعل وصولاً دائمًا، لذا لا يلزم اشتراك متكرر. لا يزال بإمكانك شراء هدايا للآخرين." @@ -39535,7 +39551,7 @@ msgstr "قناة صوتية" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "تأكيد القناة الصوتية" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "القناة الصوتية ممتلئة" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "سلوك الانضمام إلى القناة الصوتية" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "المشاركون في المكالمة الصوتية" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "معالجة الصوت" @@ -39661,7 +39677,7 @@ msgstr "إلغاء تعطيل السمع" msgid "Voice unmute" msgstr "إلغاء كتم الصوت" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "يستخدم الصوت جهاز الإخراج الخاص بنظامك في هذا المتصفح. قم بتغييره في إعدادات نظامك." @@ -39675,7 +39691,7 @@ msgstr "ملغاة" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "الانتظار بين الرسائل. يمكن للأعضاء الذي msgid "Waiting for connection..." msgstr "في انتظار الاتصال..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "جارٍ انتظار مفتاح المرور…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "في انتظارك لـ..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "في انتظار سطح المكتب…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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} على هذا الحساب. يمكنك إدارته في بوابة الفوترة الآمنة لتحديث تفاصيل الدفع أو التحقق من حالة التجديد. إذا كنت قد دفعت للتو، فانتظر دقيقة وأعد فتح هذه الصفحة." @@ -39914,7 +39930,7 @@ msgstr "لقد غيّرنا حجم هذا الملصق وضغطناه إلى 320 msgid "We sent a code to {email}." msgstr "أرسلنا رمزًا إلى {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "سنقوم بملء {prefillEmail} مسبقًا بمجرد فتح تسجيل الدخول في المتصفح." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "معاينات المواقع" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "أهلاً بعودتك" @@ -40321,7 +40337,7 @@ msgstr "أي المجتمعات" msgid "Which conversations" msgstr "أي المحادثات" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "عند تشغيل الضغط للتحدث، يتحكم اختصارك في الميكروفون، لذلك يكون زر كتم الصوت معطّلًا." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "أنت الآن تنتقل إلى {paymentProviderName} لإتمام الدفع. عد إلى {productName} بمجرد الانتهاء." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "لقد ضغطت على Tab للتو. وضع لوحة المفاتيح قيد التشغيل الآن حتى تتمكن من التنقل في {productName} دون استخدام الماوس." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "ستحتفظ بمزاياك حتى تاريخ التجديد التالي. أعد تفعيل اشتراكك قبل ذلك للاحتفاظ بسجل اشتراكك." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "ستفقد جميع مزايا {PREMIUM_PRODUCT_NAME} على الفور وستتم إعادة تعيين سجل اشتراكك. لا يمكن التراجع عن هذا الإجراء." @@ -41137,8 +41153,8 @@ msgstr "أنت بحاجة إلى إذن \"{permissionLabel}\" لاستخدام msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "أنت بحاجة إلى إذن \"{permissionLabel}\" لاستخدام الملصقات من المجتمعات الأخرى هنا." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "يجب عليك المطالبة بحسابك قبل أن تتمكن من إنشاء مجتمع." @@ -41155,8 +41171,8 @@ msgstr "يجب المطالبة بحسابك لإرسال رسائل مباشر msgid "You need to claim your account to send messages in this community." msgstr "يجب المطالبة بحسابك لإرسال الرسائل في هذا المجتمع." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "يجب عليك التحقق من عنوان بريدك الإلكتروني قبل أن تتمكن من إنشاء مجتمع." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "يجب عليك التحقق من بريدك الإلكتروني قبل أن تتمكن من شراء {premiumProductFullName}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "ستظهر بحالة غير متصل" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "سيتم محاسبتك الآن. تتم إضافة وقت هديتك المتبقي بعد فترة الدفع الخاصة بك، لذلك لن يُفقد أي منها." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "أنت من فئة Visionary بالفعل" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "ترسل البلاغات بسرعة كبيرة. حاول مرة أخرى لاحقًا." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "تم تسجيل دخولك" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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} لتغيير خطتك أو التحقق من حالة التجديد." @@ -41559,10 +41575,14 @@ msgstr "حسابك جديد جدًا ولا يمكنه إرسال رسائل ف msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "طلب حسابك بانتظار الموافقة. يمكنك تسجيل الدخول بعد أن يوافق عليه أحد المسؤولين." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "يتطلب حسابك مصادقة متعددة العوامل، ولكن لم يتم إعداد أي طرق مدعومة على هذا الجهاز. سجّل الدخول على جهاز باستخدام تطبيق المصادقة أو مفتاح الأمان الخاص بك، أو اتصل بالدعم." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "يتطلب حسابك مصادقة متعددة العوامل، ولكن لم يتم إعداد أي طرق مدعومة على هذا الجهاز. سجّل الدخول على جهاز باستخدام تطبيق المصادقة أو مفتاح الأمان الخاص بك، أو اتصل بمسؤولي هذا المثيل." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "لم يتم تغيير أو حذف حساباتك وإعداداتك." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "تعذّر إكمال الإجراء الذي طلبته لأن أنظمة الأمان لدينا وضعت عليه علامة. إذا كنت تعتقد أن هذا خطأ، فيُرجى التواصل مع الدعم." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "تعذّر إكمال الإجراء الذي طلبته لأن أنظمة الأمان لدينا وضعت عليه علامة. إذا كنت تعتقد أن هذا خطأ، فيُرجى التواصل مع مسؤولي هذا المثيل." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "ستتوقف مجموعتك الحالية عن العمل بمجرد إنشاء المجموعة الجديدة." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "لم يُعِدّ سطح المكتب لديك الاختصارات على مستوى النظام." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "يحجز سطح المكتب لديك هذه المفاتيح لـ {productName}، لذا لا تستطيع التطبيقات الأخرى استخدامها." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "يحجز سطح المكتب لديك هذه المفاتيح لـ {productName}، لذا لا تستطيع التطبيقات الأخرى استخدامها. لاستخدام المفتاح نفسه في تطبيقات أخرى، فعّل الوصول المباشر إلى أجهزة الإدخال أدناه." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "يشغّل سطح المكتب لديك هذه الاختصارات حتى عندما لا تكون نافذة {productName} نشطة." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "انتهت فترة هديتك. اشترك للاحتفاظ بـ {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "يتم الاحتفاظ بوقت هديتك" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "انتهت فترة السماح الخاصة بك." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "تثبيت التطبيق تالف، ويجب إعادة تثبيته لتعمل جميع الميزات." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "عملية شرائك الأخيرة خارج فترة استرداد الأموال. اتصل بالدعم بخصوص مشكلات الفوترة." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "تعذّر تسليم رسالتك لأن أنظمة الأمان لدينا وضعت عليها علامة. إذا كنت تعتقد أن هذا خطأ، فيُرجى التواصل مع الدعم." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "تعذّر تسليم رسالتك لأن أنظمة الأمان لدينا وضعت عليها علامة. إذا كنت تعتقد أن هذا خطأ، فيُرجى التواصل مع مسؤولي هذا المثيل." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "تعذّر تسليم رسالتك. يحدث هذا عادةً لأنك لا تشترك مع المستلم في أي مجتمع أو لأن المستلم يقبل الرسائل المباشرة من الأصدقاء فقط. قد تحتاج أيضًا إلى تعديل إعدادات خصوصية الرسائل المباشرة لديك في {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "تعذّر تسليم رسالتك. يجب المطالبة بحسابك لإرسال رسائل مباشرة." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "تعذّر تسليم رسالتك. يجب المطالبة بحسابك لإرسال الرسائل." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "لم يتم إرسال بلاغك. حاول مرة أخرى." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "تحتاج جودة الشاشة المحفوظة لديك بدقة {savedResolution} بمعدل إطارات {savedFrameRate} إطارًا في الثانية إلى {premiumProductName}، لذا تستخدم المشاركات دقة {resolution} بمعدل إطارات {frameRate} إطارًا في الثانية." diff --git a/fluxer_app/src/features/i18n/locales/auto-i18n-reviewed-unchanged.json b/fluxer_app/src/features/i18n/locales/auto-i18n-reviewed-unchanged.json index 25fcf00c1..ffb332322 100644 --- a/fluxer_app/src/features/i18n/locales/auto-i18n-reviewed-unchanged.json +++ b/fluxer_app/src/features/i18n/locales/auto-i18n-reviewed-unchanged.json @@ -4522,6 +4522,9 @@ { "msgid": "This key works while {productName} is focused. Your desktop sets the system-wide key, under {settingsTabName} > {sectionName}." }, + { + "msgid": "This mature media is not available to your account." + }, { "msgid": "This message can only be forwarded to age-restricted channels" }, @@ -4531,6 +4534,9 @@ { "msgid": "This option is required. Please provide a value." }, + { + "msgid": "This plan isn't available. Contact the administrators of this instance." + }, { "msgid": "This request has expired. Go back and try again." }, @@ -4894,12 +4900,18 @@ { "msgid": "Your account has no email address. If you forget your password, a recovery kit is the only way back in. It only takes a minute." }, + { + "msgid": "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." + }, { "msgid": "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." }, { "msgid": "Your accounts and settings have not been changed or deleted." }, + { + "msgid": "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." + }, { "msgid": "Your answers" }, @@ -4954,6 +4966,9 @@ { "msgid": "Your gift time is kept" }, + { + "msgid": "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." + }, { "msgid": "Your new nickname, or leave blank to reset it." }, diff --git a/fluxer_app/src/features/i18n/locales/bg/messages.po b/fluxer_app/src/features/i18n/locales/bg/messages.po index 1c09dba31..2efab783f 100644 --- a/fluxer_app/src/features/i18n/locales/bg/messages.po +++ b/fluxer_app/src/features/i18n/locales/bg/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} работи с по-нова версия на Fluxer от това приложение. Актуализирайте Fluxer и опитайте отново." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} напред спрямо теб" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} назад спрямо теб" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {преди # час} other {преди # часа}} #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# час} other {# часа}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# час} other {# часа}} {minutes, plural, one {# минута} other {# минути}}" @@ -1602,7 +1602,7 @@ msgstr "Файлът за {label} е твърде голям. Избери фа msgid "{label} images cannot be animated. Use a static image." msgstr "Изображението за {label} не може да бъде анимирано. Използвай статично изображение." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Знаме на {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {преди # минута} other {преди # м #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# минута} other {# минути}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} откри ново изходно аудиоустрой msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} трябва да се рестартира, преди настройките за вградено превъртане на Chromium да променят начина, по който работи превъртането." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} трябва да се рестартира, за да влезе в сила хардуерното ускорение." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} трябва да се рестартира, за да влезе в сила промяната на заглавната лента." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} трябва да се рестартира, за да изключи хардуерното ускорение на Chromium. Използвай това само ако отстраняваш графични проблеми или високо натоварване на графичния процесор." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Ловец на бъгове в {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} може да поиска от работната ти среда да изпълнява клавишните му комбинации, докато {productName} не е на фокус. Работната среда ще поиска потвърждение и ще ти позволи да избереш клавишите." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} вече не може да чете клавиатурата ти, затова следи за клавишни комбинации чрез X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} вече не може да чете клавиатурата ти, затова се използват клавишните комбинации на работната среда." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} вече не може да чете клавиатурата ти. Клавишните комбинации работят само докато {productName} е на фокус." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} може да регистрира клавишните си комбинации в Hyprland, за да работят, докато {productName} не е на фокус. След това задаваш клавишите в конфигурацията на Hyprland." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} не може да използва хардуерен енкодер за това, затова ще използва процесора ти." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} ще се затвори, ще инсталира актуализацията и ще се отвори отново." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} не можа да се свърже с услугата за актуализации. Провери връзката си и опитай отново." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} се премести на {host}. Отвори го в браузъра си, за да инсталираш новото приложение." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Член на {productName} от" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} се нуждае от достъп до микрофона ти. Разреши достъпа до микрофона в настройките за поверителност на операционната система и рестартирай приложението." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} се нуждае от достъп до камерата, за да покаже списък с устройствата ти." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} се нуждае от достъп до микрофона, за да покаже списък с устройствата ти." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "Резервен комплект на {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} регистрира клавишните си комбинации в Hyprland. Задай им клавиши в конфигурацията на Hyprland, за да ги използваш, докато {productName} не е на фокус." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 месеца (1 година)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12-часов" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 часа" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24-часов" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "име на хост, напр. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Налична е актуализация за настолното приложение на Linux. Избери формата на пакета за тази система и {productName} ще я запази локално." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "една минута" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Налична е нова версия на настолното приложение. Изтегли инсталатора и го стартирай, за да актуализираш {productName}." @@ -2817,7 +2817,7 @@ msgstr "Относно {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "За мен" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Споделяне на активност" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Праг на активност" @@ -3155,7 +3155,7 @@ msgstr "Действителен размер" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Добавяне" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Първо добавете потребителско име и парола към акаунта си." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Добавяне на дума…" @@ -3244,7 +3244,7 @@ msgstr "Добави ключ за YouTube Data API, за да обогатиш #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Добавяне на акаунт" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Адрес" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Настрой всяка опция ръчно: потискане на шума, потискане на ехото и усилване." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Разширени" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Разширени настройки за видео" @@ -3906,22 +3906,22 @@ msgstr "Разрешаване" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Разрешаване на {everyoneMention} и {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Разрешете на {PRODUCT_NAME} достъп до вашата камера в Системни настройки → Поверителност и сигурност → Камера." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Разрешете на {PRODUCT_NAME} достъп до микрофона си в Системни настройки → Поверителност и сигурност → Микрофон." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Разреши на {PRODUCT_NAME} достъп до микрофона ти. Провери адресната лента или настройките на браузъра си." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Разрешете {productName} в „Запис на екрана“ в „Системни настройки“. Ако вече е разрешено, рестартирайте {productName2}, за да може macOS да приложи промените." @@ -3961,7 +3961,7 @@ msgstr "Разрешаване на директни съобщения от б msgid "Allow bots to send you direct messages?" msgstr "Да се разреши ли на ботовете да ти изпращат директни съобщения?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Разрешаване на камерата" @@ -4029,7 +4029,7 @@ msgstr "Позволява на членовете без разрешениет msgid "Allow mentions for this role" msgstr "Разрешаване на споменавания за тази роля" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Разреши микрофона" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Винаги подчертавай линковете" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Винаги използвай речниците Hunspell на {productName}, които се изтеглят при нужда." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Значка на иконата на приложението" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Час според езика на приложението: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Изисква се одобрение" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Одобри това приложение от приложението {productName}, което вече използваш. Не е нужна парола." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Оторизирано на {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Автоматично" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Автоматично разпознаване на език" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Автоматично задаване на праг за активност" @@ -5534,7 +5534,7 @@ msgstr "AV1 (изисква активиране)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Налична" @@ -5608,11 +5608,11 @@ msgstr "В момента ме няма" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Най-добра компресия. Използвай го само когато WebRTC предоставя енкодер и отчетът за GPU показва, че е с хардуерна поддръжка." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Най-добре с настолното приложение" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Браузър: начална страница" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Час според настройките на браузъра: {format}" @@ -6545,8 +6545,8 @@ msgstr "Купи подарък {premiumProductName} от раздела {premiu msgid "Buy gift" msgstr "Купи подарък" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Със създаването на общност се съгласяваш да спазваш и поддържаш <0>насоките на общността на {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Обаждания" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Визуализация на камерата" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Качество на камерата" @@ -6809,8 +6809,8 @@ msgstr "Тук не можеш да качваш файлове" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Отказ на планираната промяна" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Отказ от абонамент" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Да откажеш ли абонамента?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Категория" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Предупреждение за съдържанието на категорията" @@ -7131,15 +7131,15 @@ msgstr "Промяна на прякор в групата" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Смяна на икона" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Промени в системните настройки" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Значки за канали" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Предупреждение за съдържанието на канала" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Клавишни комбинации за чат" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Провери отново" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Проверка на достъпа..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Проверка на разрешението за запис на екрана..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Плащането е недостъпно" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Избери как искаш да платиш за този абонамент." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Избери начин на плащане" @@ -8174,7 +8174,7 @@ msgstr "Изберете вашите настройки по подразбир #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Изберете вашия сървър" @@ -8216,8 +8216,8 @@ msgstr "Вземи подарък" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Заяви акаунта си" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Значки на общността" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Предупреждение за съдържание в общността" @@ -9089,8 +9089,8 @@ msgstr "DM от общност" msgid "Community filter" msgstr "Филтър за общности" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Икона на общността" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Общността е актуализирана" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Гласов чат в общност" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Завършване на плащането" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Завърши проверката за съдържание за възрастни, за да отключиш медията за възрастни." @@ -9409,7 +9409,7 @@ msgstr "Потвърди" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Потвърждаване преди присъединяване към гласови канали" @@ -9457,7 +9457,7 @@ msgstr "Потвърди изявлението, за да изпратиш си #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Потвърждаване на присъединяването към гласов канал" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Потвърждение" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Потвърждение или двойно щракване при присъединяване към гласов канал в общност" @@ -9476,7 +9476,7 @@ msgstr "Потвърждение или двойно щракване при п msgid "Conflicts with {conflictLabel}" msgstr "В конфликт с {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Свържи камера и опитай отново." @@ -9489,7 +9489,7 @@ msgstr "Свържи камера или виртуално устройство msgid "Connect a display, then try again." msgstr "Свържи дисплей и опитай отново." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Свържи микрофон и опитай отново." @@ -9633,7 +9633,7 @@ msgstr "Връзка: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Контакт" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Съдържанието е блокирано" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Продължи в браузъра си" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Продължи към плащане" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Продължи с ключ за достъп" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Копирай URL адреса за покана" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Копирай редовете" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Копирай редовете за hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Копирай редовете за hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Не успяхме да сменим цената ти" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Неуспешна проверка за актуализации" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Съобщенията ти не можаха да бъдат изтрити" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Неуспешно изтегляне на актуализацията за настолното приложение" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Неуспешно стартиране на плащането" @@ -10932,7 +10932,7 @@ msgstr "Създаване и споделяне" msgid "Create a community" msgstr "Създаване на общност" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Създай общност, в която ти и приятелите ти да си чатите." @@ -11365,7 +11365,7 @@ msgstr "Персонализиран източник" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Звукът е изключен от модератори" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB пакет" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Настолно приложение" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Настолното приложение е актуално" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Налична е актуализация {version} за настолното приложение. Избери пакет за Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Налична е актуализация за настолното приложение" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Налична е актуализация за настолното приложение. Избери пакет за Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Налична е версия {version} на настолното приложение. Изтегли инсталатора и го стартирай, за да актуализираш {productName}." @@ -12613,7 +12613,7 @@ msgstr "Подробности: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Автоматично разпознаване по време на писане" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Инструментите за разработчици не са налични" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Развойна версия" @@ -13455,8 +13455,8 @@ msgstr "Изтегляне" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Изтегляне на {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification и го постави в папката си <1>.well-known, за да можем да потвърдим домейна." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Изтегляне на приложението" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Бутон за изтегляне на приложението в страничната лента" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Бутон за изтегляне" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Изтегляне на настолното приложение" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Изтегляне на изображение" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Изтегляне на инсталатор" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Изтегляне на медия" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Изтегляне на пакет" @@ -13655,11 +13655,11 @@ msgstr "Пускане на елемента" msgid "Drop to upload background" msgstr "Пусни тук, за да качиш фон" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Поради законите за съдържание за възрастни в {regionName}, съдържанието за възрастни е блокирано, докато не завършиш проверката за съдържание за възрастни." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Поради законите за съдържание за възрастни в {regionName}, съдържанието за възрастни не е налично оттук. Проверките за съдържание за възрастни са налични само в Обединеното кралство." @@ -13673,7 +13673,7 @@ msgstr "Поради законите за съдържание за възра msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Поради законите за съдържание за възрастни в {regionName}, това съдържание не е достъпно оттук. Проверките за съдържание за възрастни са достъпни само в Обединеното кралство." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Поради законите за съдържание за възрастни в {regionName}, този медиен файл не е наличен в текущия ти регион." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Всеки код работи еднократно вместо приложението ви за удостоверяване." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Всеки клавиш може да задейства само една системна клавишна комбинация." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Активиране" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Включи разрешението {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Активиране на пряк път" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Включване на проверката на правописа" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Прекратяване сега" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Край на гратисния период" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Да се прекрати ли гратисният период сега?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Въведи ПИН кода на защитния си ключ, за да продължиш." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Въведете този код в браузъра си" @@ -14845,7 +14845,7 @@ msgstr "Въведете този код в браузъра си" msgid "Enter this code in your browser to complete sign-in." msgstr "Въведи този код в браузъра си, за да завършиш влизането." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Въведи този код в старото си приложение {PRODUCT_NAME}, за да завършиш влизането." @@ -14916,7 +14916,7 @@ msgstr "Звук от цялата система" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Звук при влизане" @@ -15026,7 +15026,7 @@ msgstr "Вечер" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Изравнява силата на микрофона ти, за да не звучиш твърде тихо." @@ -15249,7 +15249,7 @@ msgstr "Изтича между {earliest} и {latest}" msgid "Expires in {remaining}s" msgstr "Изтича след {remaining} сек" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Изтича след {remainingSeconds} сек." @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Добави канала в любими" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Любими канали" @@ -16243,7 +16243,7 @@ msgstr "За {threeHours} часа" msgid "For {twentyFourHours} hours" msgstr "За {twentyFourHours} часа" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Само за британски очи..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "За мен" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "За „Натисни и изключи микрофона“ използвай единичен клавиш без Ctrl, Alt или Shift. При комбинация първо пусни основния клавиш, иначе микрофонът може да остане изключен." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "За „Натисни и говори“ използвай единичен клавиш без Ctrl, Alt или Shift. При комбинация първо пусни основния клавиш, иначе микрофонът може да остане включен." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "За тази клавишна комбинация използвай единичен клавиш без Ctrl, Alt или Shift. При комбинация първо пусни основния клавиш, иначе тя може да остане активна." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "За приоритета на гласовата активност използвай единичен клавиш без Ctrl, Alt или Shift. При комбинация първо пусни основния клавиш, иначе приоритетът може да остане включен." @@ -16460,14 +16460,14 @@ msgstr "Рамка" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Кадрова честота" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Кадрова честота над 30 FPS изисква {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Получавай известия, когато получаваш съобщения. Може да се наложи да разрешиш известията в настройките на браузъра си. За настройки за отделен канал или общност щракни с десния бутон върху иконата на общността и отвори настройките за известия." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Изтегли настолното приложение {productName} за „Натисни и говори“ в цялата система и още няколко екстри." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Изтегли настолното приложение" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Върни се към {productName}, за да продължиш." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Върни се към приложението {PRODUCT_NAME}. То ще завърши влизането само." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Върни се към приложението {PRODUCT_NAME}. Можеш да затвориш този раздел." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Помощ" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Бутон за помощ" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Помощен център" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Помощ в центъра за помощ в страничната лента" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Помогни да преведем {PRODUCT_NAME} на твоя език на <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Скрий чата" msgid "Hide community owner crown" msgstr "Скрий короната на собственика на общността" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Скрий бутона за изтегляне" @@ -17860,7 +17860,7 @@ msgstr "Скрий любимите" msgid "Hide guidelines" msgstr "Скрий указанията" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Скрий бутона за помощния център" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Скрий съобщенията за присъединяване" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Скрий подсказките за клавиатурата" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Хипервръзка" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland няма прозорец за клавишни комбинации. Добави редовете за твоята версия на Hyprland в конфигурацията му и замени KEY с желания клавиш." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland няма прозорец за клавишни комбинации. Задай клавишите в конфигурацията на Hyprland." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (преди Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 и по-нови)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Потвърждавам добросъвестно, че информацията и твърденията в това уведомление са точни и пълни." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Разбрах" @@ -18598,11 +18598,11 @@ msgstr "Импортиране… {processedCount, number} / {totalCount, number msgid "In" msgstr "В" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "В режим „Операционна система“ посочените по-горе речници са препоръчителни. {PRODUCT_NAME} ще предаде тези езикови етикети на проверката на правописа на твоята ОС, когато това се поддържа. Етикетите, които тя не разпознава, се игнорират." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "В браузър „Натисни и говори“ работи само докато разделът на {PRODUCT_NAME} е активен. Инсталирай настолното приложение за „Натисни и говори“ в цялата система." @@ -18650,7 +18650,7 @@ msgstr "В гласов чат" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Речници в приложението" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Въвеждане" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Вход и изход" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Вмъкване на емоджи" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Инсталирай {productName} за пълния избор на източник и по-плавни контроли за споделяне на екрана." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Инсталирай новото приложение" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Инсталирана" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Инсталирана версия: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Интерфейс" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Език на интерфейса" @@ -19467,13 +19467,13 @@ msgstr "Присъединяване" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Присъединяване към {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Присъедини се към {communityName}, за да разговаряш с екипа и да си в крак с новостите." @@ -19561,7 +19561,7 @@ msgstr "Присъединяване към видеоразговор" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Присъединяване към гласов чат" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Запазете безплатни и премиум нива. Можете да персонализирате нивата, да продавате премиум чрез Stripe или по-късно да раздавате кодове за подаръци от административния панел." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Запазване на гратисния период" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Работа във фонов режим" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Запазване на абонамента" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Пазете тази страница на сигурно място. Ако забравите паролата си, можете да я използвате, за да влезете отново в профила си. Всеки, който има този ключ за възстановяване, може да нулира паролата ви, така че никога не го споделяйте." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Продължава да предава за кратко след отпускане на бутона." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Клавиатура" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Достъпът до клавиатурата не можа да стартира. Клавишните комбинации работят само докато {productName} е на фокус." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Режим „Клавиатура“" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Показване на клавишните комбинации в подсказките" @@ -19923,7 +19923,7 @@ msgstr "Настройки на езика" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Езици" @@ -19971,7 +19971,7 @@ msgstr "Графика на латентността" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Позволи на члена отново да чува другите в тази общност" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Позволява на {productName} да чете клавиатурата директно. Изключи това, за да настроиш клавишните комбинации през работната си среда." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Позволява на {productName} да чете клавиатурата директно. Системата ти вече разрешава това." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "По подразбиране за Linux" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Пакет за Linux" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Локални файлове" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Местно време" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Външен вид" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Изглежда, че използваш {0}. Наслагването на обработката на {PRODUCT_NAME} отгоре може да причини пулсиране или изкривяване на звука. Директният вход предава звука ти непроменен." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Направи собственик на групата" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Уверете се, че този код съвпада с този в приложението {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Управление на абонамента" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Ръчно актуализиране на десктоп приложението" @@ -21145,15 +21145,15 @@ msgstr "Масачузетс" msgid "Master volume" msgstr "Обща сила на звука" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Категория за възрастни" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Канал за възрастни" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Общност за възрастни" @@ -21194,7 +21194,7 @@ msgstr "Проверката за съдържание за възрастни #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Проверките за съдържание за възрастни в момента са налични само в Обединеното кралство." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Ролите на члена са актуализирани" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Член от" @@ -22013,7 +22013,7 @@ msgstr "Микрофон" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Тест на микрофон" @@ -22127,7 +22127,7 @@ msgstr "Минесота" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Неко" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Котето Неко, което гони курсора ти" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "В момента нови потребители не могат да се присъединят. Все пак можеш да създадеш акаунт или да влезеш, а след това опитай отново с този линк по-късно." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Нова версия" @@ -23465,7 +23465,7 @@ msgstr "Няма отметки" msgid "No bot banner" msgstr "Няма банер на бота" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Не е намерена камера" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Няма описание." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Няма налична актуализация за настолната версия." @@ -23684,7 +23684,7 @@ msgstr "Няма съвпадащи публикации" msgid "No mentions yet" msgstr "Все още няма споменавания" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Не е намерен микрофон" @@ -23731,7 +23731,7 @@ msgstr "Няма чакащи покани, които да отговарят msgid "No permissions found" msgstr "Няма намерени разрешения" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Все още няма лични думи." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Не е разрешено" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Не е зададено" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "При щракване" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "На другото си устройство влезте на адрес {signInAddress} и въведете този код, когато бъдете попитани." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Отвори {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Отвори {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Отвори превключвател на акаунти" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Отваряне на разширените настройки за медия" @@ -24788,7 +24788,7 @@ msgstr "Отваряне на опциите за банера" msgid "Open bookmarks" msgstr "Отваряне на отметките" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Отваряне на браузъра" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Отваряне на календара" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Отваряне на изтеглянията за настолното приложение" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Отваряне на настройките" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Отваряне на софтуерния център" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Отвори Системни настройки" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Отворете „Системни настройки“ → „Поверителност и сигурност“ → „Запис на екрана“ и разрешете {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Отваряне на JSON на шаблона" @@ -25089,7 +25089,7 @@ msgstr "Отваряне на JSON на шаблона" msgid "Open the context menu" msgstr "Отваряне на контекстното меню" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Отвори линка по-долу в браузъра си, след което копирай целия JSON отговор и го постави в полето." @@ -25167,11 +25167,11 @@ msgstr "Отваряне на настройките за глас и видео msgid "Open with {accountName} on {instanceName}" msgstr "Отвори с {accountName} в {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Отвори браузъра си, влез в акаунта си, след което въведи кода по-долу, за да свържеш акаунта си." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Отвори старото си приложение {PRODUCT_NAME} и избери „Свържи ново устройство“, след което въведи кода по-долу." @@ -25199,7 +25199,7 @@ msgstr "Отваря страницата „Членове“. Натисни #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Операционна система" @@ -25629,7 +25629,7 @@ msgstr "Последните 7 дни" msgid "Paste" msgstr "Постави" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Постави URL адрес на шаблон от {theOtherPlatform}, за да импортираш структурата му в нова общност." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Разрешения за {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Личен речник" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Изберете поне един етикет за тази публикация." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Избери един или повече речници. Приемат се думи от всеки избран речник, което е полезно за многоезични чатове." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Цените все още се зареждат." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Покупките не са достъпни" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Клавиш за „Натисни и говори“" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Натисни и говори" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Натисни и говори (ограничено)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "„Натисни и говори“ все още няма системен клавиш. За да зададеш такъв, отиди в Настройки > Приложения > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "„Натисни и говори“ все още няма системен клавиш. За да зададеш такъв, отиди в Системни настройки > Клавиатура > Клавишни комбинации > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "„Натисни и говори“ все още няма системен клавиш. За да зададеш такъв, отвори настройките за клавишни комбинации на работната си среда." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "„Натисни и говори“ се игнорира при директен вход. Превключи на „Фокусиран глас“ или „По избор“, за да го използваш." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "„Натисни и говори“ е включено. Задръж клавиша за „Натисни и говори“, за да говориш." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "„Натисни и говори“ работи само докато {productName} е на фокус, защото работната ти среда не настрои системни клавишни комбинации." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Натискането за говорене работи само докато {productName} е активно, докато не активирате {permissionName}." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "„Натисни и говори“ работи само когато {productName} е на фокус, докато не настроиш системни клавишни комбинации." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "„Натисни и говори“ работи само докато разделът на браузъра е на фокус." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "„Натисни и говори“ ще използва клавиша, зададен в {productName}. Първо задай такъв, иначе микрофонът ще работи с гласова активност." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "„Натисни и говори“ няма да включи микрофона ти, докато звукът ти е изключен. Включи звука, за да говориш." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "„Натисни и говори“ работи извън {productName} само след като му зададеш клавиш в конфигурацията на Hyprland." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "„Натисни и говори“ работи извън {productName} само след като му зададеш клавиш в конфигурацията на Hyprland. Добави реда за твоята версия на Hyprland и замени KEY с желания клавиш." @@ -27533,12 +27533,12 @@ msgstr "Получателите ще бъдат отведени до {0} <0>{1 #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Препоръчително" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Препоръчително. Изчиства звука от микрофона ти за ясна реч." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Връзката е възстановена. Избери екран отново, ако искаш да възобновиш предишния си поток." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Повторно свързване с работната среда…" @@ -27836,7 +27836,7 @@ msgstr "Престартирай, за да приложиш" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Забавяне при отпускане" @@ -27853,7 +27853,7 @@ msgstr "Най-подходящи" msgid "Reload" msgstr "Презареждане" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Презареди {PRODUCT_NAME}, за да приложиш напълно смяната на модула. Превключването между проверката на правописа в приложението и системната изисква презареждане на рендърера, защото Electron не може да сменя доставчици, докато работи." @@ -27872,7 +27872,7 @@ msgstr "Презареди {productName}, за да използваш уеб а msgid "Reload app" msgstr "Презареди приложението" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Презареди сега" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Премахване" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Премахване на „{word}“ от речника" @@ -28086,8 +28086,8 @@ msgstr "Премахване от любимите GIF файлове, запа #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Премахване на икона" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Редове на страница" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM пакет" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Безопасност" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "В същия часови пояс като теб" @@ -29770,7 +29770,7 @@ msgstr "Запис на екрана" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Изисква се разрешение за запис на екрана" @@ -29858,7 +29858,7 @@ msgstr "Поверителност на споделяне на екрана" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Качество на споделяне на екрана" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Търсене на езиков код…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Търсене на езици…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Избери GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Избери език на интерфейса" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Избери акаунта, с който искаш да влезеш на новото си устройство." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Избери режим за обработка на глас" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Изпраща звука от микрофона без никаква обработка." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Изпраща звука ти без промени. Най-добре е, ако използваш външен аудио софтуер." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Зададе позиция в списъка с членове за ролята" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Зададено от {preset} председ. Избирането на стойност тук превключва към „Персонализирано“." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Зададе гласовия регион на автоматичен" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Настрой" @@ -31307,7 +31307,7 @@ msgstr "Сподели с приятел" msgid "Share your screen" msgstr "Споделяне на екрана" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Споделяй екрана си с висока разделителна способност (1080p), Quad HD (1440p) или оригиналната разделителна способност на източника, при до 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Кратки кодове" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Пряк път" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Значки за клавишни комбинации" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Показване на бутон „Любими“" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Показвай любимите навсякъде в приложението" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Влезте с браузъра си" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Влез със старото си приложение {productName}" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Да излезеш ли?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Входът е отказан" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Данни за вход" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Процес на вход" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Влизане като {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Влизате от друго устройство?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Нещо се обърка при стартирането на плащането. Опитай отново след малко." @@ -32812,7 +32812,7 @@ msgstr "Звуци" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Скорост" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Правопис" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Модул за проверка на правописа" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Анимация на звезда" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Отбелязани канали" @@ -33140,7 +33140,7 @@ msgstr "Да започнеш ли гласово повикване?" msgid "Start call" msgstr "Започване на разговор" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Стартиране на тест на камерата и конфигуриране на ефекти" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Стартирай свит" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Стартиране" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Статичен Неко" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Индексирането още тече. Провери отново след малко." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Неподвижен Неко" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Все още чакаме достъп за запис на екрана" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Спиране на теста на микрофона" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Спри Неко да гони курсора ти, като запазиш възможността да го местиш и да взаимодействаш с него." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Вече имаш абонамент" @@ -33957,7 +33957,7 @@ msgstr "Превключване към удобен изглед" msgid "Switch to dense layout" msgstr "Превключване към сбит изглед" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Превключване към директен вход" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "Системните DM не поддържат гласови повиквания." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Час според настройките на системата: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Системен трей" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Инсталация, управлявана от системата" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Системни клавишни комбинации" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Системните клавишни комбинации не можаха да бъдат настроени." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Докосни, за да добавиш бележка" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz архив" @@ -34360,7 +34360,7 @@ msgstr "Значка в лентата на задачите" msgid "Teleporting you to another voice region..." msgstr "Прехвърляне към друг гласов регион..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Шаблон" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "Приложението {PRODUCT_NAME} на другото ви устройство се показва под „Влизане от друго устройство“. Въвеждайте код само от устройство, което контролирате." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "Приложението {PRODUCT_NAME} не беше вписано. Можете да затворите този раздел." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Общността, която търсиш, може да е изтрита или да нямаш достъп до нея." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Актуализацията за настолното приложение не можа да бъде изтеглена. Опитай отново от бутона за актуализация, когато връзката ти е стабилна." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Изтегленият файл е запазен на компютъра ти. Инсталирай го с обичайния си мениджър на пакети." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Тази категория вече съдържа максималния брой от {maxChannelsPerCategory} канала." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Тази категория е маркирана за съдържание за възрастни и може да съдържа материали, които може да са неподходящи за някои потребители." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Този канал има предупреждение за съдържание. Актуализации могат да се изпращат само към канали с предупреждение за съдържание или ограничение по възраст." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Този канал е маркиран за съдържание за възрастни и може да съдържа материали, които може да са неподходящи за някои потребители." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Тази общност е пълна" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Тази общност е маркирана за съдържание за възрастни и може да съдържа материали, които може да са неподходящи за някои потребители." @@ -35324,14 +35324,14 @@ msgstr "Тази общност вече не е налична" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Тази връзка е потвърдена." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Тази връзка не е потвърдена." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Този разговор вече не е наличен." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Тази версия на настолното приложение не може да инсталира актуализации в {productName}. Вместо това изтегли най-новия инсталатор." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Тази работна среда не поддържа системни клавишни комбинации. „Натисни и говори“ работи само докато {productName} е на фокус." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Тази работна среда не поддържа системни клавишни комбинации. Клавишните комбинации пак работят, докато {productName} е на фокус." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Тази развойна версия не може да се актуализира сама. Изтегли инсталатор за настолното приложение, за да тестваш процеса на актуализация." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Този образ не може да бъде прочетен. Може да е повреден." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Тази инсталация се управлява от системата ти. Актуализирай {productName} през софтуерния център или мениджъра на пакети." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Този инсталационен файл вече използва потребителски имена за вход. Това вече не може да се промени." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Тази инстанция в момента позволява споделяне на екран до 720p при 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Тази връзка не е валидна. Отворете отново връзката от имейла си." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Тази категория за възрастни не е достъпна за акаунта ти." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Тази категория за възрастни не е достъпна за акаунта ти. <0>Научи повече" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Този канал за възрастни не е достъпен за акаунта ти." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Този канал за възрастни не е достъпен за акаунта ти. <0>Научи повече" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Тази общност за възрастни не е достъпна за акаунта ти." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Тази общност за възрастни не е достъпна за акаунта ти. <0>Научи повече" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Тази медия за възрастни не е достъпна за акаунта ти." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Тази медия за възрастни не е достъпна за акаунта ти. <0>Научи повече" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Този план не е наличен. Свържи се с поддръжката." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Този план не е наличен. Свържи се с администраторите на тази инстанция." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Тази покупка не отговаря на условията за възстановяване на сума." @@ -35837,7 +35853,7 @@ msgstr "Тази тема е заключена. Само модератори msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Този потребител е ограничил профила си. Някои подробности са скрити от хора, които не са му приятели." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Този потребител няма роли в тази общност." @@ -36050,14 +36066,14 @@ msgstr "Час" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Формат на часа" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Избор на формат за час" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Платформа на заглавната лента" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "За да смениш клавишите, отиди в Настройки > Приложения > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "За да смениш клавишите, отиди в Системни настройки > Клавиатура > Клавишни комбинации > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "За да смениш клавишите, отвори настройките за клавишни комбинации на работната си среда." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Лента с инструменти" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Клавишни комбинации в подсказките" @@ -36864,7 +36880,7 @@ msgstr "24-часов" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Две кликвания" @@ -37263,7 +37279,7 @@ msgstr "Универсален вариант. Най-ниско качеств #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Неизвестен" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Отключи персонализирани емоджита в DM с {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Отключи споделяне на екран в HD с {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "До 720p при 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Обнови {productName}, за да използваш системни клавишни комбинации в Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Актуализиране на статуса ми" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Актуализирай сега" @@ -38008,8 +38024,8 @@ msgstr "Качване на файлове и медии в този канал. #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Качване на икона" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Използвай {name} на {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Използвай {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Използвай {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Използвай друг метод" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Използване на автоматично превъртане" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Използвай карта" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Използване на стойността по подразбиране" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Използвай директен достъп до входните устройства" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Използване на стикери от други общности." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Използване на езиковите настройки на системата за формат на часа" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Използване на системната рамка на прозореца" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Използвай проверката на правописа, вградена в операционната система." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Използване на гласова активност" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Използвай проверката на правописа на операционната система, когато е налична. В противен случай използвай вградените речници на {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Първо потвърди имейла си" @@ -39244,7 +39260,7 @@ msgstr "Преглед на подробности" msgid "View devices that are signed in to your account" msgstr "Преглед на устройствата, които са влезли в акаунта ти" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Преглед на пълния профил" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Визионер вече включва постоянен достъп, така че не е необходим абонамент с периодично плащане. Все още можеш да купуваш подаръци за други." @@ -39535,7 +39551,7 @@ msgstr "Гласов канал" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Потвърждение за гласов канал" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Гласовият канал е пълен" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Поведение при присъединяване към гласов канал" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Участници в гласов чат" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Обработка на глас" @@ -39661,7 +39677,7 @@ msgstr "Включване на звука в гласов чат" msgid "Voice unmute" msgstr "Включване на микрофона в гласов чат" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Гласът използва системното ви изходно устройство в този браузър. Променете го в настройките на системата си." @@ -39675,7 +39691,7 @@ msgstr "Анулирана" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Изчакване между съобщенията. Членовете msgid "Waiting for connection..." msgstr "Изчакване на връзка..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Изчакване на ключ за достъп…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Чакаме те да..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Изчакване на работната среда…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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} за този акаунт. Управлявай го в защитения портал за плащане, за да актуализираш данните за плащане или да провериш състоянието на подновяването. Ако току-що плати, изчакай минута и отвори страницата отново." @@ -39914,7 +39930,7 @@ msgstr "Преоразмерихме и компресирахме този ст msgid "We sent a code to {email}." msgstr "Изпратихме код на {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Ще попълним предварително {prefillEmail}, след като се отвори влизането в браузъра." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Визуализации на уебсайтове" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Добре дошли отново" @@ -40321,7 +40337,7 @@ msgstr "Кои общности" msgid "Which conversations" msgstr "Кои разговори" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Докато „Натисни и говори“ е включено, микрофонът ти се управлява от клавишната комбинация, така че бутонът за изключване на микрофона е неактивен." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Прехвърляме те към {paymentProviderName}, за да завършиш плащането. Върни се във {productName}, след като приключиш." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Току-що натисна Tab. Режимът за навигация с клавиатура вече е включен, за да можеш да използваш {productName} без мишка." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Запазваш предимствата си до следващата дата на подновяване. Активирай абонамента отново преди това, за да запазиш историята си като абонат." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Веднага губиш всички предимства на {PREMIUM_PRODUCT_NAME} и историята ти като абонат се нулира. Това не може да бъде отменено." @@ -41137,8 +41153,8 @@ msgstr "Нужно е разрешението „{permissionLabel}“, за д msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Нужно е разрешението „{permissionLabel}“, за да използваш стикери от други общности тук." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Трябва да заявиш акаунта си, преди да можеш да създадеш общност." @@ -41155,8 +41171,8 @@ msgstr "Трябва да заявиш акаунта си, за да изпра msgid "You need to claim your account to send messages in this community." msgstr "Трябва да заявиш акаунта си, за да изпращаш съобщения в тази общност." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Трябва да потвърдиш имейл адреса си, преди да можеш да създадеш общност." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Трябва да потвърдиш имейла си, преди да можеш да закупиш {premiumProductFullName}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Ще изглеждаш офлайн" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Ще бъдете таксувани сега. Остатъчното ви безплатно време ще бъде добавено след платената ви услуга, така че няма да загубите нищо." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Вече си Визионер" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Изпращаш сигнали твърде бързо. Опитай отново по-късно." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Влезли сте" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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}, за да смениш плана си или да провериш състоянието на подновяването." @@ -41559,10 +41575,14 @@ msgstr "Акаунтът ти е твърде нов, за да изпращаш msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Заявката ти за акаунт чака одобрение. Можеш да влезеш, след като администратор я одобри." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Акаунтът ти изисква многофакторно удостоверяване, но на това устройство не са настроени поддържани методи. Влез от устройство с приложението за удостоверяване или защитния си ключ, или се свържи с поддръжката." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Акаунтът ти изисква многофакторно удостоверяване, но на това устройство не са настроени поддържани методи. Влез от устройство с приложението за удостоверяване или защитния си ключ, или се свържи с администраторите на тази инстанция." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Вашите акаунти и настройки не са променени или изтрити." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Действието ти не можа да бъде извършено, защото беше отбелязано от системите ни за безопасност. Ако смяташ, че това е грешка, свържи се с поддръжката." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Действието ти не можа да бъде извършено, защото беше отбелязано от системите ни за безопасност. Ако смяташ, че това е грешка, свържи се с администраторите на тази инстанция." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Настоящият ви комплект спира да работи веднага щом бъде създаден нов." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Работната ти среда не настрои системни клавишни комбинации." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Работната ти среда запазва тези клавиши за {productName}, така че други приложения не могат да ги използват." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Работната ти среда запазва тези клавиши за {productName}, така че други приложения не могат да ги използват. За да използваш същия клавиш в други приложения, включи директния достъп до входните устройства по-долу." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Работната ти среда изпълнява тези клавишни комбинации, дори когато {productName} не е на фокус." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Времето на подаръка ви изтече. Абонирайте се, за да запазите {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Подаръчното ви време се запазва" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Гратисният ти период приключи." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Инсталацията ти е повредена и трябва да преинсталираш приложението, за да работи всичко." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Последната ти покупка е извън срока за възстановяване на сума. Свържи се с поддръжката при проблеми с таксуването." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Съобщението ти не можа да бъде доставено, защото беше отбелязано от системите ни за безопасност. Ако смяташ, че това е грешка, свържи се с поддръжката." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Съобщението ти не можа да бъде доставено, защото беше отбелязано от системите ни за безопасност. Ако смяташ, че това е грешка, свържи се с администраторите на тази инстанция." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Съобщението ти не можа да бъде доставено. Обикновено причината е, че нямаш обща общност с получателя или че той приема директни съобщения само от приятели. Може също да се наложи да промениш собствените си настройки за поверителност на директните съобщения в {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Съобщението ти не можа да бъде доставено. Трябва да заявиш акаунта си, за да изпращаш директни съобщения." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Съобщението ти не можа да бъде доставено. Трябва да заявиш акаунта си, за да изпращаш съобщения." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Сигналът ти не беше изпратен. Опитай отново." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Вашата запазена настройка {savedResolution} при {savedFrameRate} FPS изисква {premiumProductName}, така че споделянията използват {resolution} при {frameRate} FPS." diff --git a/fluxer_app/src/features/i18n/locales/cs/messages.po b/fluxer_app/src/features/i18n/locales/cs/messages.po index 025915e70..50acaf589 100644 --- a/fluxer_app/src/features/i18n/locales/cs/messages.po +++ b/fluxer_app/src/features/i18n/locales/cs/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} používá novější verzi Fluxeru než tato aplikace. Aktualizujte Fluxer a zkuste to znovu." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "O {duration} před vámi" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "O {duration} za vámi" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} snímků/s" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {Před # hodinou} few {Před # hodinami} many {Před #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# hodina} few {# hodiny} many {# hodiny} other {# hodin}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# hodina} few {# hodiny} many {# hodiny} other {# hodin}} {minutes, plural, one {# minuta} few {# minuty} many {# minuty} other {# minut}}" @@ -1602,7 +1602,7 @@ msgstr "Soubor {label} je příliš velký. Vyberte soubor menší než {maxSize msgid "{label} images cannot be animated. Use a static image." msgstr "Obrázky {label} nemohou být animované. Použijte statický obrázek." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Vlajka: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {Před # minutou} few {Před # minutami} many {Př #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minuta} few {# minuty} many {# minuty} other {# minut}}" @@ -1803,15 +1803,15 @@ msgstr "Aplikace {PRODUCT_NAME} našla nové výstupní zvukové zařízení s n msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "Aby se změny nastavení nativního posouvání Chromia projevily, je potřeba restartovat aplikaci {PRODUCT_NAME}." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "Aby se změna hardwarové akcelerace projevila, je potřeba restartovat aplikaci {PRODUCT_NAME}." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "Aby se změna záhlaví okna projevila, je potřeba restartovat aplikaci {PRODUCT_NAME}." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "Aplikace {PRODUCT_NAME} se musí restartovat, aby se vypnula hardwarová akcelerace Chromia. Tuto možnost použijte pouze při řešení problémů s grafikou nebo vysokým využitím GPU." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Lovec chyb {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "Aplikace {productName} může požádat vaše desktopové prostředí, aby spouštělo její zkratky, i když okno aplikace {productName} není aktivní. Desktopové prostředí vás požádá o potvrzení a umožní vám vybrat klávesy." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "Aplikace {productName} už nemůže číst vaši klávesnici, a proto místo toho sleduje klávesové zkratky přes X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "Aplikace {productName} už nemůže číst vaši klávesnici, a proto se místo toho používají zkratky vašeho desktopového prostředí." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "Aplikace {productName} už nemůže číst vaši klávesnici. Klávesové zkratky fungují jen při aktivním okně aplikace {productName}." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "Aplikace {productName} může zaregistrovat své zkratky v Hyprlandu, aby fungovaly, i když okno aplikace {productName} není aktivní. Klávesy pak přiřadíte v konfiguraci Hyprlandu." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "Aplikace {productName} nemůže použít hardwarový enkodér, takže bude využívat váš procesor." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} se zavře, nainstaluje aktualizaci a znovu se otevře." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "Aplikace {productName} se nemohla připojit ke službě pro aktualizace. Zkontrolujte své připojení a zkuste to znovu." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} se přesunul na {host}. Otevřete jej v prohlížeči a nainstalujte novou aplikaci." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Členem {productName} od" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} potřebuje přístup k vašemu mikrofonu. Povolte přístup k mikrofonu v nastavení soukromí operačního systému a restartujte aplikaci." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "Aplikace {productName} potřebuje přístup ke kameře, aby mohla zobrazit vaše zařízení." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "Aplikace {productName} potřebuje přístup k mikrofonu, aby mohla zobrazit vaše zařízení." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "Klíč k obnovení {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "Aplikace {productName} zaregistrovala své zkratky v Hyprlandu. Přiřaďte jim klávesy v konfiguraci Hyprlandu, abyste je mohli používat, i když okno aplikace {productName} není aktivní." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 měsíců (1 rok)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12hodinový" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 hodin" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24hodinový" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "název hostitele, např. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Je k dispozici aktualizace desktopové aplikace pro Linux. Vyberte formát balíčku pro tento systém a aplikace {productName} jej uloží do počítače." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "minutu" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Je k dispozici nová verze desktopové aplikace. Stáhněte instalační program a spusťte jej, abyste aktualizovali {productName}." @@ -2817,7 +2817,7 @@ msgstr "O aplikaci {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "O mně" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Sdílení aktivit" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Práh aktivity" @@ -3155,7 +3155,7 @@ msgstr "Skutečná velikost" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Přidat" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Nejprve si k účtu přidejte uživatelské jméno a heslo." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Přidat slovo…" @@ -3244,7 +3244,7 @@ msgstr "Přidejte klíč YouTube Data API pro doplnění informací k odkazům n #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Přidat účet" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Adresa" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Upravte si každé nastavení sami: potlačení šumu, potlačení ozvěny a zesílení." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Pokročilé" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Pokročilé nastavení videa" @@ -3906,22 +3906,22 @@ msgstr "Povolit" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Povolit zmínky {everyoneMention} a {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Povolte {PRODUCT_NAME} přístup ke kameře v Nastavení systému → Soukromí a zabezpečení → Kamera." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Povolte {PRODUCT_NAME} přístup k mikrofonu v Nastavení systému → Soukromí a zabezpečení → Mikrofon." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Povolte aplikaci {PRODUCT_NAME} přístup k mikrofonu. Zkontrolujte adresní řádek nebo nastavení prohlížeče." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Povolte {productName} v části Nahrávání obrazovky v Nastavení systému. Pokud je již povoleno, restartujte {productName2}, aby se to projevilo v systému macOS." @@ -3961,7 +3961,7 @@ msgstr "Povolit přímé zprávy od botů" msgid "Allow bots to send you direct messages?" msgstr "Povolit botům posílat vám přímé zprávy?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Povolit kameru" @@ -4029,7 +4029,7 @@ msgstr "Povolit členům bez oprávnění {readMessageHistoryPermissionLabel} zo msgid "Allow mentions for this role" msgstr "Povolit zmínky pro tuto roli" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Povolit mikrofon" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Vždy podtrhávat odkazy" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Vždy používat slovníky Hunspell pro {productName}, stažené na vyžádání." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Označení ikony aplikace" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Čas podle jazyka aplikace: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Vyžaduje schválení" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Schvalte tuto aplikaci z aplikace {productName}, kterou již používáte. Heslo není potřeba." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Autorizováno dne {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Automaticky" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Automaticky rozpoznat jazyk" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Automaticky nastavit práh aktivity" @@ -5534,7 +5534,7 @@ msgstr "AV1 (vyžaduje výslovné zapnutí)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "K dispozici" @@ -5608,11 +5608,11 @@ msgstr "Momentálně pryč" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Nejlepší komprese. Použijte pouze tehdy, když WebRTC zpřístupňuje enkodér a přehled GPU potvrzuje, že využívá hardware." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Nejlépe funguje s desktopovou aplikací" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Prohlížeč: domovská stránka" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Čas podle nastavení prohlížeče: {format}" @@ -6545,8 +6545,8 @@ msgstr "Kupte dárkové předplatné {premiumProductName} na kartě {premiumProd msgid "Buy gift" msgstr "Koupit dárek" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Vytvořením komunity souhlasíte s dodržováním a prosazováním <0>pravidel komunity {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Hovory" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Náhled kamery" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Kvalita kamery" @@ -6809,8 +6809,8 @@ msgstr "Sem nelze nahrávat soubory" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Zrušit plánovanou změnu" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Zrušit předplatné" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Zrušit předplatné?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Kategorie" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Upozornění na obsah kategorie" @@ -7131,15 +7131,15 @@ msgstr "Změnit přezdívku skupiny" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Změnit ikonu" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Změnit v systémovém nastavení" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Odznaky kanálu" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Upozornění na obsah kanálu" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Zkratky chatu" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Zkontrolovat znovu" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Kontrola přístupu..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Kontrola oprávnění k nahrávání obrazovky..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Dokončení nákupu není k dispozici" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Zvolte, jak chcete zaplatit za toto předplatné." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Zvolte způsob platby" @@ -8174,7 +8174,7 @@ msgstr "Vyberte výchozí nastavení" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Vyberte svou instanci" @@ -8216,8 +8216,8 @@ msgstr "Převzít dárek" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Dokončit registraci účtu" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Odznaky komunity" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Upozornění na obsah komunity" @@ -9089,8 +9089,8 @@ msgstr "Přímé zprávy od členů komunity" msgid "Community filter" msgstr "Filtr komunit" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Ikona komunity" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Komunita aktualizována" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Hlasové hovory v komunitě" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Dokončit platbu" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Pro zpřístupnění médií pro dospělé dokončete ověření věku." @@ -9409,7 +9409,7 @@ msgstr "Potvrdit" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Vyžadovat potvrzení před připojením k hlasovým kanálům" @@ -9457,7 +9457,7 @@ msgstr "Potvrďte prohlášení pro odeslání nahlášení." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Potvrzení připojení k hlasovému hovoru" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Potvrzení" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Potvrzení nebo dvojité kliknutí pro připojení k hlasovým kanálům komunity" @@ -9476,7 +9476,7 @@ msgstr "Potvrzení nebo dvojité kliknutí pro připojení k hlasovým kanálům msgid "Conflicts with {conflictLabel}" msgstr "V konfliktu s {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Připojte kameru a zkuste to znovu." @@ -9489,7 +9489,7 @@ msgstr "Připojte kameru nebo virtuální záznamové zařízení a zkuste to zn msgid "Connect a display, then try again." msgstr "Připojte displej a zkuste to znovu." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Připojte mikrofon a zkuste to znovu." @@ -9633,7 +9633,7 @@ msgstr "Připojení: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Kontakt" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Obsah zablokován" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Pokračovat v prohlížeči" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Pokračovat k platbě" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Pokračovat pomocí přístupového klíče" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Kopírovat URL pozvánky" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Kopírovat řádky" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Kopírovat řádky pro hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Kopírovat řádky pro hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Nepodařilo se změnit vaši cenu" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Nepodařilo se zkontrolovat aktualizace" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Zprávy se nepodařilo smazat" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Nepodařilo se stáhnout aktualizaci desktopové aplikace" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Nepodařilo se spustit platbu" @@ -10932,7 +10932,7 @@ msgstr "Vytvořit a sdílet" msgid "Create a community" msgstr "Vytvořit komunitu" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Vytvořte komunitu pro sebe a své přátele, kde si můžete povídat." @@ -11365,7 +11365,7 @@ msgstr "Vlastní zdroj" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Zvuk vypnutý moderátory" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "Balíček DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Desktopová aplikace" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Desktopová aplikace je aktuální" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Je k dispozici aktualizace desktopové aplikace {version}. Vyberte balíček pro Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Je k dispozici aktualizace desktopové aplikace" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Je k dispozici aktualizace desktopové aplikace. Vyberte balíček pro Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Je k dispozici verze desktopové aplikace {version}. Stáhněte instalační program a spusťte jej, abyste aktualizovali {productName}." @@ -12613,7 +12613,7 @@ msgstr "Podrobnosti: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Zjišťovat při psaní" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Nástroje pro vývojáře nejsou k dispozici" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Vývojová verze" @@ -13455,8 +13455,8 @@ msgstr "Stáhnout" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Stáhnout {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification a umístěte jej do složky <1>.well-known, abychom mohli ověřit doménu." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Stáhnout aplikaci" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Stáhnout aplikaci" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Tlačítko pro stažení" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Stáhnout desktopovou aplikaci" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Stáhnout obrázek" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Stáhnout instalační program" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Stáhnout média" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Stáhnout balíček" @@ -13655,11 +13655,11 @@ msgstr "Pustit položku" msgid "Drop to upload background" msgstr "Puštěním nahrajete pozadí" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Kvůli zákonům o obsahu pro dospělé v oblasti {regionName} je obsah pro dospělé zablokován, dokud nedokončíte ověření věku." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Kvůli zákonům o obsahu pro dospělé v oblasti {regionName} zde tento obsah není dostupný. Ověření věku je dostupné pouze ve Spojeném království." @@ -13673,7 +13673,7 @@ msgstr "Kvůli zákonům o obsahu pro dospělé v oblasti {regionName} je tento msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Kvůli zákonům o obsahu pro dospělé v oblasti {regionName} zde tento obsah není dostupný. Ověření věku je dostupné pouze ve Spojeném království." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Vzhledem k zákonům o obsahu pro dospělé v oblasti {regionName} není toto médium z vašeho aktuálního regionu dostupné." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Každý kód funguje jednou místo vaší aplikace pro ověřování." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Každá klávesa může spouštět jen jednu zkratku pro celý systém." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Zapnout" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Povolit oprávnění {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Zapnout zkratku" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Zapnout kontrolu pravopisu" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Ukončit dodatečnou lhůtu hned" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Ukončit dodatečnou lhůtu" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Ukončit dodatečnou lhůtu hned?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Zadejte PIN pro váš bezpečnostní klíč a pokračujte." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Zadejte tento kód do prohlížeče" @@ -14845,7 +14845,7 @@ msgstr "Zadejte tento kód do prohlížeče" msgid "Enter this code in your browser to complete sign-in." msgstr "Zadejte tento kód do prohlížeče a dokončete přihlášení." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Zadejte tento kód do své staré aplikace {PRODUCT_NAME} pro dokončení přihlášení." @@ -14916,7 +14916,7 @@ msgstr "Veškerý zvuk systému" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Zvuk při vstupu" @@ -15026,7 +15026,7 @@ msgstr "Večer" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Vyrovnává hlasitost mikrofonu, abyste nebyli příliš potichu." @@ -15249,7 +15249,7 @@ msgstr "Platnost vyprší mezi {earliest} a {latest}" msgid "Expires in {remaining}s" msgstr "Vyprší za {remaining} s" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Vyprší za {remainingSeconds} s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Přidat kanál do oblíbených" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Oblíbené kanály" @@ -16243,7 +16243,7 @@ msgstr "Na {threeHours} hodiny" msgid "For {twentyFourHours} hours" msgstr "Na {twentyFourHours} hodin" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Pouze pro britské oči..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Pro mě" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Pro funkci Stisknutím ztlumit použijte jednu klávesu bez Ctrl, Alt nebo Shift. U kombinace kláves nejprve uvolněte hlavní klávesu, jinak může mikrofon zůstat ztlumený." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Pro funkci Stisknutím mluvit použijte jednu klávesu bez Ctrl, Alt nebo Shift. U kombinace kláves nejprve uvolněte hlavní klávesu, jinak může mikrofon zůstat zapnutý." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Pro tuto zkratku použijte jednu klávesu bez Ctrl, Alt nebo Shift. U kombinace kláves nejprve uvolněte hlavní klávesu, jinak může zkratka zůstat aktivní." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Pro funkci Priorita hlasové aktivity použijte jednu klávesu bez Ctrl, Alt nebo Shift. U kombinace kláves nejprve uvolněte hlavní klávesu, jinak může priorita zůstat zapnutá." @@ -16460,14 +16460,14 @@ msgstr "Rámeček" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Snímková frekvence" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Snímková frekvence nad 30 FPS vyžaduje {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Dostávejte oznámení, když obdržíte zprávy. Možná budete muset povolit oznámení v nastavení prohlížeče. Pro ovládání oznámení pro jednotlivé kanály/komunity klikněte pravým tlačítkem na ikonu komunity a otevřete nastavení oznámení." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Pořiďte si desktopovou aplikaci {productName} pro funkci Stisknutím mluvit fungující v celém systému a další vychytávky." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Stáhněte si desktopovou aplikaci" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Pro pokračování se vraťte do aplikace {productName}." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Zpět do aplikace {PRODUCT_NAME}. Přihlašování se samo dokončí." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Zpět do aplikace {PRODUCT_NAME}. Tuto kartu můžete zavřít." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Nápověda" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Tlačítko Nápověda" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Centrum nápovědy" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Centrum nápovědy" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Pomozte přeložit {PRODUCT_NAME} do vašeho jazyka na <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Skrýt chat" msgid "Hide community owner crown" msgstr "Skrýt korunku vlastníka komunity" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Skrýt tlačítko pro stažení" @@ -17860,7 +17860,7 @@ msgstr "Skrýt oblíbené" msgid "Hide guidelines" msgstr "Skrýt pokyny" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Skrýt tlačítko centra nápovědy" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Skrýt zprávy o připojení" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Skrýt tipy pro klávesnici" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Hypertextový odkaz" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland nemá dialog pro klávesové zkratky. Přidejte do konfigurace Hyprlandu řádky pro svou verzi Hyprlandu a nahraďte KEY požadovanou klávesou." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland nemá dialog pro klávesové zkratky. Klávesy přiřaďte v konfiguraci Hyprlandu." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (Hyprland před verzí 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 a novější)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Potvrzuji v dobré víře, že informace a tvrzení uvedená v tomto nahlášení jsou přesná a úplná." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Rozumím" @@ -18598,11 +18598,11 @@ msgstr "Importování… Zpracováno: {processedCount, number} / {totalCount, nu msgid "In" msgstr "V" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "V režimu „Operační systém“ slouží výše uvedené slovníky pouze jako doporučení. Aplikace {PRODUCT_NAME} předá tyto jazykové značky systémové kontrole pravopisu, pokud to podporuje. Značky, které nerozpozná, ignoruje." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "V prohlížeči funguje funkce Stisknutím mluvit pouze tehdy, když je karta {PRODUCT_NAME} aktivní. Pro použití této funkce v celém systému si nainstalujte desktopovou aplikaci." @@ -18650,7 +18650,7 @@ msgstr "V hlasovém hovoru" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Slovníky v aplikaci" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Zadávání" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Vstup a výstup" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Vložit emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Nainstalujte si aplikaci {productName} a získejte kompletní výběr zdrojů a plynulejší ovládání sdílení obrazovky." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Nainstalovat novou aplikaci" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Nainstalováno" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Nainstalovaná verze: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Rozhraní" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Jazyk rozhraní" @@ -19467,13 +19467,13 @@ msgstr "Připojit se" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Připojit se k {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Připojte se ke komunitě {communityName}, povídejte si s týmem a sledujte novinky." @@ -19561,7 +19561,7 @@ msgstr "Připojit se k videohovoru" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Připojit se k hovoru" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Ponechte bezplatnou i prémiovou úroveň. Úrovně můžete přizpůsobit, prodávat prémiové členství přes Stripe nebo později rozdávat dárkové kódy z administračního panelu." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Ponechat dodatečnou lhůtu" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Pokračovat v běhu" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Ponechat předplatné" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Tuto stránku si uložte na bezpečné místo. Pokud zapomenete heslo, můžete ji použít k obnovení přístupu ke svému účtu. Kdokoli s tímto obnovovacím klíčem může resetovat vaše heslo, takže ho nikdy nesdílejte." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Udržovat vysílání krátce po uvolnění tlačítka." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Klávesnice" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Přístup ke klávesnici se nepodařilo spustit. Klávesové zkratky fungují jen při aktivním okně aplikace {productName}." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Režim navigace klávesnicí" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Nápověda klávesových zkratek v popiscích" @@ -19923,7 +19923,7 @@ msgstr "Nastavení jazyka" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Jazyky" @@ -19971,7 +19971,7 @@ msgstr "Graf latence" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Členovi bylo znovu umožněno slyšet ostatní v této komunitě" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Umožňuje aplikaci {productName} číst vaši klávesnici přímo. Pokud chcete zkratky nastavit přes desktopové prostředí, tuto možnost vypněte." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Umožňuje aplikaci {productName} číst vaši klávesnici přímo. Váš systém to již povoluje." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Výchozí zařízení v systému Linux" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Balíček pro Linux" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Místní soubory" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Místní čas" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Vzhled a ovládání" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Zdá se, že používáte {0}. Přidání dalšího zpracování zvuku v aplikaci {PRODUCT_NAME} může způsobit kolísání hlasitosti nebo zkreslení. Přímý vstup propouští zvuk beze změn." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Nastavit jako vlastníka skupiny" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Ujistěte se, že se tento kód shoduje s kódem v aplikaci {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Spravovat předplatné" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Ruční aktualizace desktopové aplikace" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Hlavní hlasitost" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Kategorie pro dospělé" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Kanál pro dospělé" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Komunita pro dospělé" @@ -21194,7 +21194,7 @@ msgstr "Ověření věku odesláno" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Ověření věku pro obsah pro dospělé je momentálně dostupné pouze ve Spojeném království." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Role člena upraveny" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Členem od" @@ -22013,7 +22013,7 @@ msgstr "Mikrofon" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Test mikrofonu" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Kočka Neko, která honí váš kurzor" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Noví uživatelé se teď nemůžou připojit. Můžete si ale vytvořit účet nebo se přihlásit a zkusit tento odkaz znovu později." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Nová verze" @@ -23465,7 +23465,7 @@ msgstr "Žádné záložky" msgid "No bot banner" msgstr "Žádný banner bota" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Nenalezena žádná kamera" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Bez popisu." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Není k dispozici žádná aktualizace desktopové aplikace." @@ -23684,7 +23684,7 @@ msgstr "Žádné odpovídající příspěvky" msgid "No mentions yet" msgstr "Zatím žádné zmínky" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Mikrofon nenalezen" @@ -23731,7 +23731,7 @@ msgstr "Žádné čekající žádosti neodpovídají hledání" msgid "No permissions found" msgstr "Nenalezena žádná oprávnění" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Zatím žádná vlastní slova." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Není povoleno" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Nepřiřazeno" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Při kliknutí" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "Na jiném zařízení se přihlaste na adrese {signInAddress} a na vyžádání zadejte tento kód." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Otevřít {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Otevřít {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Otevřít přepínač účtů" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Otevřít rozšířené nastavení médií" @@ -24788,7 +24788,7 @@ msgstr "Otevřít možnosti banneru" msgid "Open bookmarks" msgstr "Otevřít záložky" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Otevřít prohlížeč" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Otevřít výběr data" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Otevřít stránku pro stažení desktopové aplikace" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Otevřít nastavení" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Otevřít centrum softwaru" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Otevřít Nastavení systému" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Otevřete Nastavení systému → Soukromí a zabezpečení → Nahrávání obrazovky a povolte {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Otevřít šablonu JSON" @@ -25089,7 +25089,7 @@ msgstr "Otevřít šablonu JSON" msgid "Open the context menu" msgstr "Otevřít kontextovou nabídku" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Otevřete odkaz níže ve svém prohlížeči, zkopírujte celou odpověď JSON a vložte ji do pole." @@ -25167,11 +25167,11 @@ msgstr "Otevřít nastavení zvuku a videa" msgid "Open with {accountName} on {instanceName}" msgstr "Otevřít s {accountName} na {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Otevřete prohlížeč, přihlaste se a poté zadejte níže uvedený kód pro propojení účtu." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Otevřete svou starou aplikaci {PRODUCT_NAME} a vyberte „Propojit nové zařízení“, poté zadejte níže uvedený kód." @@ -25199,7 +25199,7 @@ msgstr "Otevře stránku Členové. Stisknutím mezerníku nebo Enter otevřete. #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Operační systém" @@ -25629,7 +25629,7 @@ msgstr "Posledních 7 dní" msgid "Paste" msgstr "Vložit" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Vložte URL šablony platformy {theOtherPlatform} a importujte její strukturu do nové komunity." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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." @@ -25933,7 +25933,7 @@ msgstr "Oprávnění pro {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Osobní slovník" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Vyberte alespoň jednu značku pro tento příspěvek." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Vyberte jeden nebo více slovníků. Slova z libovolného vybraného slovníku jsou přijata, což je užitečné pro vícejazyčné chaty." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Ceny se stále načítají." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Nákupy nejsou k dispozici" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Klávesa pro režim Stisknutím mluvit" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Stisknutím mluvit" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Stisknutím mluvit (omezená funkčnost)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Režim Stisknutím mluvit zatím nemá klávesu pro celý systém. Nastavíte ji v Nastavení > Aplikace > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Režim Stisknutím mluvit zatím nemá klávesu pro celý systém. Nastavíte ji v Nastavení systému > Klávesnice > Klávesové zkratky > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Režim Stisknutím mluvit zatím nemá klávesu pro celý systém. Nastavíte ji v nastavení klávesových zkratek vašeho desktopového prostředí." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "V režimu Přímý vstup se nastavení Stisknutím mluvit ignoruje. Chcete-li ho použít, přepněte na režim Hlas v popředí nebo Vlastní." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Režim Stisknutím mluvit je zapnutý. Chcete-li mluvit, podržte klávesu pro režim Stisknutím mluvit." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Režim Stisknutím mluvit funguje jen při aktivním okně aplikace {productName}, protože vaše desktopové prostředí nenastavilo zkratky pro celý systém." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Fungování funkce „stisknutím promluvit“ je omezeno na dobu, kdy je aplikace {productName} aktivní, dokud neaktivujete {permissionName}." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Dokud nenastavíte zkratky pro celý systém, funguje režim Stisknutím mluvit jen při aktivním okně aplikace {productName}." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Režim Stisknutím mluvit funguje pouze při aktivní kartě prohlížeče." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Režim Stisknutím mluvit bude používat klávesu nastavenou v aplikaci {productName}. Nejprve ji nastavte, jinak bude mikrofon používat hlasovou aktivitu." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Režim Stisknutím mluvit nezapne mikrofon, pokud máte vypnutý zvuk. Chcete-li mluvit, nejprve zvuk zapněte." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Režim Stisknutím mluvit funguje mimo aplikaci {productName}, až když mu přiřadíte klávesu v konfiguraci Hyprlandu." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Režim Stisknutím mluvit funguje mimo aplikaci {productName}, až když mu přiřadíte klávesu v konfiguraci Hyprlandu. Přidejte řádek pro svou verzi Hyprlandu a nahraďte KEY požadovanou klávesou." @@ -27533,12 +27533,12 @@ msgstr "Příjemci budou přesměrováni na {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Doporučeno" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Doporučeno. Upravuje zvuk mikrofonu pro srozumitelnou řeč." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Opětovné připojení proběhlo úspěšně. Pokud chcete pokračovat v předchozím streamu, vyberte obrazovku znovu." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Znovu se připojujeme k desktopovému prostředí…" @@ -27836,7 +27836,7 @@ msgstr "Znovu spustit pro použití" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Prodleva uvolnění" @@ -27853,7 +27853,7 @@ msgstr "Relevantní" msgid "Reload" msgstr "Znovu načíst" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Aby se změna nástroje pro kontrolu pravopisu plně projevila, znovu načtěte aplikaci {PRODUCT_NAME}. Přepínání mezi kontrolou pravopisu v aplikaci a systémovou kontrolou vyžaduje opětovné načtení vykreslovacího procesu, protože Electron nemůže měnit poskytovatele za běhu." @@ -27872,7 +27872,7 @@ msgstr "Znovu načtěte aplikaci {productName}, aby se použila aktualizace webo msgid "Reload app" msgstr "Znovu načíst aplikaci" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Znovu načíst" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Odebrat" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Odebrat \"{word}\" ze slovníku" @@ -28086,8 +28086,8 @@ msgstr "Odebrat z oblíbených GIFů uložených pouze jako URL" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Odebrat ikonu" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Řádků na stránku" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "Balíček RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Bezpečnost" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Má stejný čas jako vy" @@ -29770,7 +29770,7 @@ msgstr "Nahrávání obrazovky" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Je potřeba povolit nahrávání obrazovky" @@ -29858,7 +29858,7 @@ msgstr "Soukromí sdílení obrazovky" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Kvalita sdílení obrazovky" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Hledat kód jazyka…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Hledat jazyky…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Vyberte GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Vyberte jazyk rozhraní" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Vyberte účet, ke kterému se chcete přihlásit na novém zařízení." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Vyberte režim zpracování hlasu" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Odesílá nezpracovaný zvuk z mikrofonu bez úprav." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Odesílá váš zvuk beze změn. Nejlepší, pokud používáte externí zvukový software." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Nastavena pozice role v seznamu členů" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Nastaveno předvolbou {preset}. Výběr hodnoty zde přepne na Vlastní." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Hlasový region nastaven na automatický" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Nastavit" @@ -31307,7 +31307,7 @@ msgstr "Sdílet s přítelem" msgid "Share your screen" msgstr "Sdílet obrazovku" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Sdílejte obrazovku ve vysokém rozlišení (1080p), Quad HD (1440p) nebo v nativním rozlišení zdroje, a to až při 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Zkratky" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Zkratka" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Odznaky zkratek" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Zobrazit tlačítko pro přidání do oblíbených" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Zobrazovat oblíbené položky v celé aplikaci" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Přihlásit se pomocí prohlížeče" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Přihlásit se pomocí staré aplikace {productName}" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Odhlásit se?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Přihlášení zrušeno" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Přihlašovací údaje" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Průběh přihlášení" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Přihlášení jako {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Přihlašujete se na jiném zařízení?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Zvuky" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Rychlost" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Kontrola pravopisu" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Nástroj pro kontrolu pravopisu" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Animace hvězdy" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Oblíbené kanály" @@ -33140,7 +33140,7 @@ msgstr "Zahájit hlasový hovor?" msgid "Start call" msgstr "Zahájit hovor" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Spustit test kamery a konfigurovat efekty" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Začít minimalizováno" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Spuštění" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Statická Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Indexování stále probíhá – zkuste to za chvíli znovu" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Nehybná Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Stále čekáme na přístup k nahrávání obrazovky" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Zastavit test mikrofonu" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Neko přestane honit kurzor, ale bude možné ji nadále přetahovat a interagovat s ní." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Předplatné už existuje" @@ -33957,7 +33957,7 @@ msgstr "Přepnout na pohodlné rozvržení" msgid "Switch to dense layout" msgstr "Přepnout na zhuštěné rozvržení" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Přepnout na přímý vstup" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "V systémových konverzacích nelze zahájit hlasový hovor." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Čas podle nastavení systému: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Oznamovací oblast" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Instalace spravovaná systémem" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Zkratky pro celý systém" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Zkratky pro celý systém se nepodařilo nastavit." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Klepnutím přidáte poznámku" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "Archiv tar.gz" @@ -34360,7 +34360,7 @@ msgstr "Odznak na hlavním panelu" msgid "Teleporting you to another voice region..." msgstr "Přesouváme vás do jiného hlasového regionu..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Šablona" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "Aplikace {PRODUCT_NAME} na vašem druhém zařízení se zobrazí pod možností Přihlášení na jiném zařízení. Zadejte kód pouze ze zařízení, které ovládáte." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "Aplikace {PRODUCT_NAME} nebyla přihlášena. Tuto kartu můžete zavřít." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Komunita, kterou hledáte, mohla být smazána nebo k ní nemáte přístup." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Aktualizaci desktopové aplikace se nepodařilo stáhnout. Až bude připojení stabilní, zkuste to znovu pomocí tlačítka aktualizace." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Stažený soubor je uložen do vašeho počítače. Nainstalujte jej pomocí svého správce balíčků." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Tato kategorie již obsahuje maximální počet {maxChannelsPerCategory} kanálů." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Tato kategorie je označena jako obsah pro dospělé a může obsahovat materiál, který je pro některé uživatele nevhodný." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Tento kanál má varování o obsahu. Aktualizace lze posílat pouze do kanálů s varováním o obsahu nebo věkovým omezením." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Tento kanál je označen jako kanál pro dospělé a může obsahovat materiál, který nemusí být vhodný pro některé uživatele." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Tato komunita je plná" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Tato komunita je označena jako komunita pro dospělé a může obsahovat materiál, který nemusí být vhodný pro některé uživatele." @@ -35324,14 +35324,14 @@ msgstr "Tato komunita již není k dispozici" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Toto propojení bylo ověřeno." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Toto propojení nebylo ověřeno." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Tato konverzace již není k dispozici." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Tato verze desktopové aplikace neumožňuje instalovat aktualizace přímo v aplikaci {productName}. Stáhněte si nejnovější instalátor desktopové aplikace." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Toto desktopové prostředí nenabízí zkratky pro celý systém. Režim Stisknutím mluvit funguje jen při aktivním okně aplikace {productName}." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Toto desktopové prostředí nenabízí zkratky pro celý systém. Klávesové zkratky dál fungují při aktivním okně aplikace {productName}." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Tato vývojová verze se nemůže sama aktualizovat. Stáhněte si desktopový instalátor a otestujte proces aktualizace." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Tento obrázek se nepodařilo přečíst. Může být poškozený." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Tato instalace je spravována vaším systémem. Aktualizujte aplikaci {productName} prostřednictvím vašeho softwarového centra nebo správce balíčků." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Tato instance už k přihlášení používá uživatelská jména. To už nelze změnit." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Tato instance momentálně umožňuje sdílení obrazovky až do rozlišení 720p při 30 snímcích za sekundu." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Tento odkaz není platný. Zkuste znovu otevřít odkaz z e-mailu." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Tato kategorie pro dospělé není pro váš účet dostupná." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Tato kategorie pro dospělé není pro váš účet dostupná. <0>Zjistit více" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Tento kanál s obsahem pro dospělé není pro váš účet dostupný." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Tento kanál pro dospělé není pro váš účet dostupný. <0>Zjistit více" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Tato komunita pro dospělé není pro váš účet dostupná." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Tato komunita pro dospělé není pro váš účet dostupná. <0>Zjistit více" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Tento obsah pro dospělé není pro váš účet dostupný." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Tento obsah pro dospělé není pro váš účet dostupný. <0>Další informace" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Tento tarif není k dispozici. Kontaktujte podporu." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Tento tarif není k dispozici. Kontaktujte správce této instance." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Za tento nákup nelze vrátit peníze." @@ -35837,7 +35853,7 @@ msgstr "Tato konverzace je uzamčena. Zprávy mohou posílat pouze moderátoři. msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Tento uživatel si omezil svůj profil. Některé detaily jsou skryté před lidmi, kteří nejsou jeho přáteli." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Tento uživatel nemá v této komunitě žádné role." @@ -36050,14 +36066,14 @@ msgstr "Čas" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Formát času" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Výběr formátu času" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Platforma záhlaví" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Chcete-li změnit klávesy, přejděte do Nastavení > Aplikace > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Chcete-li změnit klávesy, přejděte do Nastavení systému > Klávesnice > Klávesové zkratky > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Chcete-li změnit klávesy, otevřete nastavení klávesových zkratek vašeho desktopového prostředí." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Panel nástrojů" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Klávesové zkratky (nápověda)" @@ -36864,7 +36880,7 @@ msgstr "Čtyřiadvacetihodinový formát" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Dvě kliknutí" @@ -37263,7 +37279,7 @@ msgstr "Univerzální záložní volba. Nejnižší kvalita, ale funguje všude. #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Neznámý" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Odemkněte vlastní emoji v soukromých konverzacích s {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Odemkněte sdílení obrazovky v HD rozlišení s {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Až 720p při 30 snímcích za sekundu" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Aktualizujte {productName}, abyste mohli na Waylandu používat zkratky pro celý systém." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Aktualizovat můj stav" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Aktualizovat nyní" @@ -38008,8 +38024,8 @@ msgstr "Nahrávat soubory a média v tomto kanálu." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Nahrát ikonu" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Použít {name} na {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Použít {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Použít {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Použít jinou metodu" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Používat automatické posouvání" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Použít kartu" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Použít výchozí" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Použít přímý přístup ke vstupním zařízením" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Používat samolepky z jiných komunit." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Použít systémové nastavení pro formát času" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Použít rám a záhlaví okna operačního systému" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Použít kontrolu pravopisu integrovanou v operačním systému." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Používat hlasovou aktivitu" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Použijte kontrolu pravopisu vašeho operačního systému, pokud je k dispozici. Jinak použijte vestavěné slovníky {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Nejprve ověřte svůj e-mail" @@ -39244,7 +39260,7 @@ msgstr "Zobrazit podrobnosti" msgid "View devices that are signed in to your account" msgstr "Zobrazit zařízení přihlášená k vašemu účtu" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Zobrazit celý profil" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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í." @@ -39535,7 +39551,7 @@ msgstr "Hlasový kanál" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Potvrzení připojení k hlasovému kanálu" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Hlasový kanál je plný" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Chování při připojení k hlasovému kanálu" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Účastníci hlasového chatu" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Zpracování hlasu" @@ -39661,7 +39677,7 @@ msgstr "Zapnutí zvuku hovoru" msgid "Voice unmute" msgstr "Zapnutí mikrofonu" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Hlas používá výchozí výstupní zařízení vašeho systému v tomto prohlížeči. Změňte jej v nastavení systému." @@ -39675,7 +39691,7 @@ msgstr "Zrušeno" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Doba čekání mezi zprávami. Členové s oprávněním „{bypassSlowm msgid "Waiting for connection..." msgstr "Čekání na připojení..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Čekání na přístupový klíč…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Čeká se, až..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Čekáme na vaše desktopové prostředí…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Tento motiv se nepodařilo načíst. Může být poškozený nebo neplatný." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Změnili jsme velikost této samolepky na 320x320 pixelů a zkomprimoval msgid "We sent a code to {email}." msgstr "Kód jsme odeslali na {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Předvyplníme {prefillEmail}, jakmile se otevře přihlášení v prohlížeči." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Náhledy webových stránek" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Vítejte zpět" @@ -40321,7 +40337,7 @@ msgstr "Které komunity" msgid "Which conversations" msgstr "Které konverzace" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Když je zapnutý režim Stisknutím mluvit, mikrofon ovládá klávesová zkratka, takže tlačítko ztlumení není dostupné." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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}." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Právě jste stiskli klávesu Tab. Režim klávesnice je nyní zapnutý, takže můžete procházet aplikaci {productName} bez myši." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Výhody si ponecháte do data příštího obnovení. Pokud předplatné do té doby znovu aktivujete, zachováte si jeho historii." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Okamžitě ztratíte všechny výhody {PREMIUM_PRODUCT_NAME} a historie vašeho předplatného se resetuje. Tuto akci nelze vrátit zpět." @@ -41137,8 +41153,8 @@ msgstr "K používání emoji z jiných komunit zde potřebujete oprávnění \" msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "K používání samolepek z jiných komunit zde potřebujete oprávnění „{permissionLabel}“." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Než budete moci vytvořit komunitu, musíte dokončit registraci svého účtu." @@ -41155,8 +41171,8 @@ msgstr "Abyste mohli posílat soukromé zprávy, musíte dokončit registraci sv msgid "You need to claim your account to send messages in this community." msgstr "Abyste mohli v této komunitě posílat zprávy, musíte dokončit registraci svého účtu." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Než budete moct vytvořit komunitu, musíte si ověřit e-mailovou adresu." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 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." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Budete vypadat offline" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Budeme vám účtovat ihned. Zbývající čas z dárku se přidá po placeném období, takže o nic nepřijdete." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Už máte Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Odesíláte nahlášení příliš rychle. Zkuste to později." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Jste přihlášeni" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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í." @@ -41559,10 +41575,14 @@ msgstr "Váš účet je příliš nový na odesílání zpráv v této komunitě msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Žádost o váš účet čeká na schválení. Přihlásit se můžete, až ji administrátor schválí." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Váš účet vyžaduje vícefaktorové ověřování, ale na tomto zařízení nejsou nastavené žádné podporované metody. Přihlaste se na zařízení s ověřovací aplikací nebo bezpečnostním klíčem, případně kontaktujte podporu." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Váš účet vyžaduje vícefaktorové ověřování, ale na tomto zařízení nejsou nastavené žádné podporované metody. Přihlaste se na zařízení s ověřovací aplikací nebo bezpečnostním klíčem, případně kontaktujte správce této instance." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Vaše účty a nastavení nebyly změněny ani smazány." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Vaši akci se nepodařilo dokončit, protože byla označena našimi bezpečnostními systémy. Pokud se domníváte, že jde o chybu, kontaktujte prosím podporu." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Vaši akci se nepodařilo dokončit, protože byla označena našimi bezpečnostními systémy. Pokud se domníváte, že jde o chybu, kontaktujte prosím správce této instance." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Vaše současná sada přestane fungovat, jakmile bude vytvořena nová." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Vaše desktopové prostředí nenastavilo zkratky pro celý systém." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Vaše desktopové prostředí vyhradí tyto klávesy pro aplikaci {productName}, takže je ostatní aplikace nemohou používat." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Vaše desktopové prostředí vyhradí tyto klávesy pro aplikaci {productName}, takže je ostatní aplikace nemohou používat. Chcete-li stejnou klávesu používat i v jiných aplikacích, zapněte níže přímý přístup ke vstupním zařízením." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Vaše desktopové prostředí spouští tyto zkratky, i když okno aplikace {productName} není aktivní." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Čas vašeho dárku vypršel. Přihlaste se k odběru a zachovejte si {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Váš dárkový čas si ponecháte" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Vaše dodatečná lhůta skončila." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Vaše instalace je poškozená. Pro plnou funkčnost je potřeba aplikaci přeinstalovat." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Váš poslední nákup je mimo lhůtu pro vrácení peněz. V případě problémů s fakturací kontaktujte podporu." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Vaše zpráva nemohla být doručena, protože byla označena našimi bezpečnostními systémy. Pokud se domníváte, že jde o chybu, kontaktujte prosím podporu." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Vaše zpráva nemohla být doručena, protože byla označena našimi bezpečnostními systémy. Pokud se domníváte, že jde o chybu, kontaktujte prosím správce této instance." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Vaši zprávu se nepodařilo doručit. Obvykle je to proto, že s příjemcem nesdílíte komunitu nebo příjemce přijímá přímé zprávy pouze od přátel. Možná budete také muset upravit vlastní nastavení soukromí přímých zpráv v {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Vaši zprávu se nepodařilo doručit. Abyste mohli posílat soukromé zprávy, musíte dokončit registraci svého účtu." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Vaši zprávu se nepodařilo doručit. Abyste mohli posílat zprávy, musíte dokončit registraci svého účtu." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Nahlášení se nepodařilo odeslat. Zkuste to znovu." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Vaše uložené rozlišení {savedResolution} s frekvencí {savedFrameRate} snímků za sekundu vyžaduje {premiumProductName}, takže sdílení používá rozlišení {resolution} s frekvencí {frameRate} snímků za sekundu." diff --git a/fluxer_app/src/features/i18n/locales/da/messages.po b/fluxer_app/src/features/i18n/locales/da/messages.po index 44cc65146..04f79933c 100644 --- a/fluxer_app/src/features/i18n/locales/da/messages.po +++ b/fluxer_app/src/features/i18n/locales/da/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} kører en nyere version af Fluxer end denne app. Opdater Fluxer, og prøv igen." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} foran dig" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} efter dig" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} billeder/sek." @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# time siden} other {# timer siden}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# time} other {# timer}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# time} other {# timer}} {minutes, plural, one {# minut} other {# minutter}}" @@ -1602,7 +1602,7 @@ msgstr "Filen for {label} er for stor. Vælg en fil, der er mindre end {maxSizeL msgid "{label} images cannot be animated. Use a static image." msgstr "{label}-billeder kan ikke være animerede. Brug et statisk billede." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Flag: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# minut siden} other {# minutter siden}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minut} other {# minutter}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} har fundet en ny lydudgangsenhed med navnet <0>{deviceNam msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} skal genstarte, før Chromiums indstillinger for indbygget rulning ændrer den måde, rulning fungerer på." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} skal genstartes, for at hardwareacceleration kan træde i kraft." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} skal genstartes, for at ændringen af titellinjen kan træde i kraft." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} skal genstartes for at deaktivere Chromiums hardwareacceleration. Brug kun dette, hvis du fejlfinder grafiske fejl eller høj GPU-brug." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Fejljæger hos {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} kan bede dit skrivebord om at køre sine genveje, mens {productName} ikke er i fokus. Dit skrivebord beder dig bekræfte og lader dig vælge tasterne." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} kan ikke længere læse dit tastatur, så det lytter i stedet efter genveje via X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} kan ikke længere læse dit tastatur, så skrivebordets genveje bruges i stedet." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} kan ikke længere læse dit tastatur. Genveje virker kun, mens {productName} er i fokus." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} kan registrere sine genveje hos Hyprland, så de kører, selvom {productName} ikke er i fokus. Du binder derefter tasterne i din Hyprland-konfiguration." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} kan ikke bruge en hardware-encoder til dette, så den vil bruge din CPU." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} lukker, installerer opdateringen og åbner igen." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} kunne ikke oprette forbindelse til opdateringstjenesten. Kontroller din internetforbindelse, og prøv igen." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} er flyttet til {host}. Åbn det i din browser for at installere den nye app." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "{productName}-medlem siden" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} skal have adgang til din mikrofon. Giv mikrofonadgang i operativsystemets privatlivsindstillinger, og genstart appen." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} skal have adgang til kameraet for at vise dine enheder." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} skal have adgang til mikrofonen for at vise dine enheder." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "{productName} gendannelsessæt" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} har registreret sine genveje hos Hyprland. Bind dem i din Hyprland-konfiguration for at bruge dem, mens {productName} ikke er i fokus." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 måneder (1 år)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12-timers" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 timer" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24-timers" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "et værtsnavn, f.eks. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "En opdatering til Linux-appen er tilgængelig. Vælg pakkeformatet for dette system, så gemmer {productName} det lokalt." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "et minut" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "En ny version af computerappen er tilgængelig. Download installationsprogrammet, og kør det for at opdatere {productName}." @@ -2817,7 +2817,7 @@ msgstr "Om {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Om mig" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Aktivitetsdeling" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Aktivitetstærskel" @@ -3155,7 +3155,7 @@ msgstr "Faktisk størrelse" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Tilføj" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Tilføj først et brugernavn og en adgangskode til din konto." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Tilføj et ord …" @@ -3244,7 +3244,7 @@ msgstr "Tilføj en YouTube Data API-nøgle for at berige YouTube-links." #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Tilføj konto" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Adresse" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Juster selv hver indstilling: støjundertrykkelse, ekkoannullering og forstærkning." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Avanceret" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Avancerede videoindstillinger" @@ -3906,22 +3906,22 @@ msgstr "Tillad" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Tillad {everyoneMention} og {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Tillad {PRODUCT_NAME} at få adgang til dit kamera i Systemindstillinger → Anonymitet og sikkerhed → Kamera." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Tillad {PRODUCT_NAME} at få adgang til din mikrofon i Systemindstillinger → Anonymitet og sikkerhed → Mikrofon." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Giv {PRODUCT_NAME} adgang til din mikrofon. Tjek din browsers adresselinje eller indstillinger." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Tillad {productName} under Skærmoptagelse i Systemindstillinger. Hvis det allerede er tilladt, genstart {productName2}, så macOS anvender det." @@ -3961,7 +3961,7 @@ msgstr "Tillad direkte beskeder fra bots" msgid "Allow bots to send you direct messages?" msgstr "Tillad bots at sende dig direkte beskeder?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Tillad kamera" @@ -4029,7 +4029,7 @@ msgstr "Tillad medlemmer uden tilladelsen {readMessageHistoryPermissionLabel} at msgid "Allow mentions for this role" msgstr "Tillad omtaler for denne rolle" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Tillad mikrofon" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Understreg altid links" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Brug altid {productName}s Hunspell-ordbøger, der downloades efter behov." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Badge på appikon" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Tidsformat fra appsproget: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Godkendelse påkrævet" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Godkend denne app fra din eksisterende {productName}-app. Ingen adgangskode nødvendig." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Autoriseret den {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Automatisk" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Registrer sprog automatisk" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Indstil aktivitetstærskel automatisk" @@ -5534,7 +5534,7 @@ msgstr "AV1 (kræver tilvalg)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Tilgængelig" @@ -5608,11 +5608,11 @@ msgstr "Ikke til stede lige nu" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Bedste komprimering. Brug kun dette, når WebRTC stiller en encoder til rådighed, og GPU-rapporten angiver, at den bruger hardware." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Bedst med computerappen" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Browser: startside" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Tidsformat fra browseren: {format}" @@ -6545,8 +6545,8 @@ msgstr "Køb en {premiumProductName}-gave fra fanen {premiumProductName} for at msgid "Buy gift" msgstr "Køb gave" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Ved at oprette et fællesskab accepterer du at følge og håndhæve <0>retningslinjerne for fællesskabet hos {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Opkald" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Forhåndsvisning af kamera" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Kamerakvalitet" @@ -6809,8 +6809,8 @@ msgstr "Kan ikke uploade filer her" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Annuller planlagt skift" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Opsig abonnement" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Opsig abonnement?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Kategori" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Advarsel om kategoriindhold" @@ -7131,15 +7131,15 @@ msgstr "Skift kaldenavn i gruppen" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Skift ikon" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Ændr i systemindstillinger" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Kanalbadges" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Advarsel om kanalindhold" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Genveje til chat" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Tjek igen" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Tjekker adgang ..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Kontrollerer tilladelsen til skærmoptagelse…" @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Betaling ikke tilgængelig" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Vælg, hvordan du vil betale for dette abonnement." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Vælg betalingsmetode" @@ -8174,7 +8174,7 @@ msgstr "Vælg dine standardindstillinger" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Vælg din instans" @@ -8216,8 +8216,8 @@ msgstr "Indløs gave" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Fuldfør oprettelsen af din konto" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Fællesskabsbadges" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Advarsel om fællesskabsindhold" @@ -9089,8 +9089,8 @@ msgstr "Fællesskabs-DM" msgid "Community filter" msgstr "Fællesskabsfilter" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Fællesskabsikon" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Fællesskab opdateret" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Tale i fællesskaber" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Gennemfør betaling" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Gennemfør adgangsbekræftelsen for indhold for voksne for at få adgang til medier med indhold for voksne." @@ -9409,7 +9409,7 @@ msgstr "Bekræft" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Bekræft, før du deltager i talekanaler" @@ -9457,7 +9457,7 @@ msgstr "Bekræft erklæringen for at sende anmeldelsen." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Bekræft deltagelse i taleopkald" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Bekræftelse" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Bekræftelse eller dobbeltklik ved deltagelse i fællesskabets talekanaler" @@ -9476,7 +9476,7 @@ msgstr "Bekræftelse eller dobbeltklik ved deltagelse i fællesskabets talekanal msgid "Conflicts with {conflictLabel}" msgstr "Konflikter med {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Tilslut et kamera og prøv igen." @@ -9489,7 +9489,7 @@ msgstr "Tilslut et kamera eller en virtuel optagelsesenhed, og prøv igen." msgid "Connect a display, then try again." msgstr "Tilslut en skærm, og prøv igen." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Tilslut en mikrofon og prøv igen." @@ -9633,7 +9633,7 @@ msgstr "Forbindelse: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Kontakt" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Indhold blokeret" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Fortsæt i din browser" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Fortsæt til betaling" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Fortsæt med adgangsnøgle" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Kopiér invitationslink" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Kopiér linjer" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Kopiér linjer til hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Kopiér linjer til hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Kunne ikke ændre din pris" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Kunne ikke søge efter opdateringer" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Kunne ikke slette dine beskeder" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Kunne ikke downloade opdateringen til computerappen" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Kunne ikke starte betaling" @@ -10932,7 +10932,7 @@ msgstr "Opret og del" msgid "Create a community" msgstr "Opret et fællesskab" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Opret et fællesskab, hvor du og dine venner kan chatte." @@ -11365,7 +11365,7 @@ msgstr "Brugerdefineret" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Lyden er slået fra af moderatorer" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB-pakke" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Computerapp" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Computerappen er opdateret" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Version {version} af computerappen er tilgængelig. Vælg en Linux-pakke." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Opdatering til computerappen tilgængelig" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Opdatering til computerappen tilgængelig. Vælg en Linux-pakke." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Version {version} af computerappen er tilgængelig. Download installationsprogrammet, og kør det for at opdatere {productName}." @@ -12613,7 +12613,7 @@ msgstr "Detaljer: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Registrer under indtastning" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Udviklerværktøjer er ikke tilgængelige" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Udviklingsversion" @@ -13455,8 +13455,8 @@ msgstr "Download" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Download {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification, og læg den i din <1>.well-known-mappe, så vi kan validere domænet." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Download app" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Download app-knap i sidebjælken" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Download-knap" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Download computerappen" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Hent billede" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Download installationsprogram" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Download medier" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Download pakke" @@ -13655,11 +13655,11 @@ msgstr "Slip element" msgid "Drop to upload background" msgstr "Slip her for at uploade baggrund" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "På grund af lovgivningen om indhold for voksne i {regionName} er indhold for voksne blokeret, indtil du har gennemført adgangsbekræftelsen." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "På grund af lovgivningen om indhold for voksne i {regionName} er indhold for voksne ikke tilgængeligt herfra. Adgangsbekræftelsen for indhold for voksne er kun tilgængelig i Storbritannien." @@ -13673,7 +13673,7 @@ msgstr "På grund af lovgivningen om indhold for voksne i {regionName} er dette msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "På grund af lovgivningen om indhold for voksne i {regionName} er dette indhold ikke tilgængeligt herfra. Adgangsbekræftelsen for indhold for voksne er kun tilgængelig i Storbritannien." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "På grund af lovgivningen om indhold for voksne i {regionName} er dette medie ikke tilgængeligt fra din nuværende region." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Hver kode kan bruges én gang i stedet for din godkendelsesapp." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Hver tast kan kun køre én systemdækkende genvej." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Slå til" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Slå tilladelsen {permissionName} til" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Slå genvej til" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Slå stavekontrol til" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Afslut overgangsperiode nu" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Afslut overgangsperiode" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Afslut overgangsperiode nu?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Indtast pinkoden til din sikkerhedsnøgle for at fortsætte." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Indtast denne kode i din browser" @@ -14845,7 +14845,7 @@ msgstr "Indtast denne kode i din browser" msgid "Enter this code in your browser to complete sign-in." msgstr "Indtast denne kode i din browser for at logge ind." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Indtast denne kode i din gamle {PRODUCT_NAME}-app for at fuldføre login." @@ -14916,7 +14916,7 @@ msgstr "Hele systemets lyd" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Ankomstlyd" @@ -15026,7 +15026,7 @@ msgstr "Aften" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Udjævner mikrofonens lydstyrke, så din tale ikke er for lav." @@ -15249,7 +15249,7 @@ msgstr "Udløber mellem {earliest} og {latest}" msgid "Expires in {remaining}s" msgstr "Udløber om {remaining} s" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Udløber om {remainingSeconds}s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Føj kanal til favoritter" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Favoritkanaler" @@ -16243,7 +16243,7 @@ msgstr "I {threeHours} timer" msgid "For {twentyFourHours} hours" msgstr "I {twentyFourHours} timer" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Kun for britiske øjne ..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Til mig" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Brug en enkelt tast uden Ctrl, Alt eller Shift til Tryk for at slå mikrofonen fra. Ved en kombination skal du slippe hovedtasten først, ellers kan mikrofonen forblive slået fra." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Brug en enkelt tast uden Ctrl, Alt eller Shift til Tryk for at tale. Ved en kombination skal du slippe hovedtasten først, ellers kan mikrofonen forblive tændt." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Brug en enkelt tast uden Ctrl, Alt eller Shift til denne genvej. Ved en kombination skal du slippe hovedtasten først, ellers kan genvejen forblive aktiv." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Brug en enkelt tast uden Ctrl, Alt eller Shift til Prioritet for taleaktivitet. Ved en kombination skal du slippe hovedtasten først, ellers kan prioriteten forblive slået til." @@ -16460,14 +16460,14 @@ msgstr "Ramme" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Billedhastighed" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Billedhastigheder over 30 FPS kræver {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Få besked, når du modtager beskeder. Du skal muligvis tillade notifikationer i dine browserindstillinger. For at styre notifikationer for specifikke kanaler/fællesskaber skal du højreklikke på et fællesskabsikon og åbne notifikationsindstillingerne." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Hent computerappen til {productName} for at bruge Tryk for at tale i hele systemet og få et par ekstra funktioner." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Hent computerappen" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Gå tilbage til {productName} for at fortsætte." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Gå tilbage til {PRODUCT_NAME}-appen. Den fuldfører login af sig selv." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Gå tilbage til {PRODUCT_NAME}-appen. Du kan lukke denne fane." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Hjælp" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Hjælp-knap" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Hjælpecenter" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Hjælpecenterknap i sidebjælken" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Hjælp med at oversætte {PRODUCT_NAME} til dit sprog på <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Skjul chat" msgid "Hide community owner crown" msgstr "Skjul fællesskabsejerens krone" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Skjul download-knap" @@ -17860,7 +17860,7 @@ msgstr "Skjul favoritter" msgid "Hide guidelines" msgstr "Skjul retningslinjer" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Skjul knap til hjælpecenter" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Skjul beskeder om nye medlemmer" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Skjul tastaturvejledninger" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Hyperlink" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland har ingen genvejsdialog. Tilføj linjerne for din Hyprland-version til din Hyprland-konfiguration, og erstat KEY med den tast, du vil bruge." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland har ingen genvejsdialog. Bind tasterne i din Hyprland-konfiguration." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (før Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 og senere)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Jeg bekræfter i god tro, at oplysningerne og påstandene i denne anmeldelse er nøjagtige og fuldstændige." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Jeg forstår" @@ -18598,11 +18598,11 @@ msgstr "Importerer… {processedCount, number} / {totalCount, number} behandlet, msgid "In" msgstr "I" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "I tilstanden \"Operativsystem\" er ordbøgerne ovenfor vejledende. {PRODUCT_NAME} sender disse sprogkoder til din OS-stavekontrol, når det understøttes. Koder, den ikke genkender, ignoreres." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "I en browser virker Tryk for at tale kun, når fanen {PRODUCT_NAME} er i fokus. Installer computerappen for at bruge Tryk for at tale i hele systemet." @@ -18650,7 +18650,7 @@ msgstr "I talechat" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Ordbøger i appen" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Input" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Input og output" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Indsæt emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Installer {productName} for at få den fulde kildevælger og mere flydende skærmdelingskontroller." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Installer den nye app" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Installeret" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Installeret version: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Brugerflade" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Brugerfladesprog" @@ -19467,13 +19467,13 @@ msgstr "Deltag" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Bliv medlem af {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Bliv medlem af {communityName} for at chatte med teamet og holde dig opdateret." @@ -19561,7 +19561,7 @@ msgstr "Deltag i videoopkald" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Deltag i talechat" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Behold gratis og premium-niveauer. Du kan tilpasse niveauerne, sælge premium via Stripe eller uddele gavekoder senere fra adminpanelet." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Behold overgangsperioden" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Fortsæt med at køre" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Behold abonnement" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Opbevar denne side et sikkert sted. Hvis du glemmer din adgangskode, kan du bruge den til at få adgang til din konto igen. Enhver med denne gendannelsesnøgle kan nulstille din adgangskode, så del den aldrig." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Fortsæt med at sende kort tid efter, at knappen slippes." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Tastatur" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Tastaturadgang kunne ikke startes. Genveje virker kun, mens {productName} er i fokus." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Tastaturtilstand" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Vis genvejstips i værktøjstips" @@ -19923,7 +19923,7 @@ msgstr "Sprogindstillinger" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Sprog" @@ -19971,7 +19971,7 @@ msgstr "Latensgraf" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Lod medlemmet høre andre i dette community igen" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Lader {productName} læse dit tastatur direkte. Slå dette fra for at opsætte genveje via dit skrivebord i stedet." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Lader {productName} læse dit tastatur direkte. Dit system tillader det allerede." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Linux-standard" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Linux-pakke" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Lokale filer" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Lokaltid" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Udseende og funktionalitet" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Det ser ud til, at du bruger {0}. Ekstra lydbehandling fra {PRODUCT_NAME} kan få lyden til at pumpe eller blive forvrænget. Direkte input sender din lyd igennem uændret." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Gør til gruppeejer" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Sørg for, at denne kode matcher den i {PRODUCT_NAME}-appen." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Administrer dit abonnement" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Manuel opdatering af computerappen" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Overordnet lydstyrke" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Kategori for voksne" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Kanal med indhold for voksne" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Fællesskab med indhold for voksne" @@ -21194,7 +21194,7 @@ msgstr "Adgangsbekræftelse for indhold for voksne sendt" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Adgangsbekræftelse for indhold for voksne er i øjeblikket kun tilgængelig i Storbritannien." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Medlemsroller opdateret" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Medlem siden" @@ -22013,7 +22013,7 @@ msgstr "Mikrofon" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Mikrofontest" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Neko-kat, der jager din markør" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Nye brugere kan ikke blive medlem lige nu. Du kan stadig oprette en konto eller logge ind og derefter prøve dette link igen senere." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Ny version" @@ -23465,7 +23465,7 @@ msgstr "Ingen gemte beskeder" msgid "No bot banner" msgstr "Intet bot-banner" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Intet kamera fundet" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Ingen beskrivelse." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Der er ingen opdatering til computerappen." @@ -23684,7 +23684,7 @@ msgstr "Ingen matchende opslag" msgid "No mentions yet" msgstr "Ingen omtaler endnu" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Mikrofon ikke fundet" @@ -23731,7 +23731,7 @@ msgstr "Ingen ventende anmodninger matcher søgningen" msgid "No permissions found" msgstr "Ingen tilladelser fundet" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Ingen personlige ord endnu." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Ikke tilladt" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Ikke tildelt" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Ved klik" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "På din anden enhed skal du logge ind på {signInAddress} og indtaste denne kode, når du bliver bedt om det." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Åbn {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Åbn {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Åbn kontoskifter" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Åbn avancerede medieindstillinger" @@ -24788,7 +24788,7 @@ msgstr "Åbn bannerindstillinger" msgid "Open bookmarks" msgstr "Åbn gemte beskeder" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Åbn browser" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Åbn datovælger" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Åbn downloads til computer" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Åbn indstillinger" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Åbn softwarecenter" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Åbn Systemindstillinger" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Åbn Systemindstillinger → Anonymitet og sikkerhed → Skærmoptagelse, og giv derefter {productName} tilladelse." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Åbn skabelon-JSON" @@ -25089,7 +25089,7 @@ msgstr "Åbn skabelon-JSON" msgid "Open the context menu" msgstr "Åbn genvejsmenuen" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Åbn linket herunder i din browser, kopier derefter hele JSON-svaret, og indsæt det i feltet." @@ -25167,11 +25167,11 @@ msgstr "Åbn indstillinger for lyd og video" msgid "Open with {accountName} on {instanceName}" msgstr "Åbn med {accountName} på {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Åbn din browser, log ind, og indtast derefter koden herunder for at forbinde din konto." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Åbn din gamle {PRODUCT_NAME}-app, vælg \"Tilknyt en ny enhed\", og indtast derefter koden nedenfor." @@ -25199,7 +25199,7 @@ msgstr "Åbner siden Medlemmer. Tryk på Mellemrum eller Enter for at åbne." #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Operativsystem" @@ -25629,7 +25629,7 @@ msgstr "Seneste 7 dage" msgid "Paste" msgstr "Sæt ind" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Indsæt en skabelon-URL fra {theOtherPlatform} for at importere strukturen til et nyt fællesskab." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Tilladelser for {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Personlig ordbog" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Vælg mindst én tag til dette opslag." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Vælg en eller flere ordbøger. Ord fra enhver valgt ordbog accepteres, hvilket er nyttigt til flersprogede chats." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Priser indlæses stadig." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Køb er ikke tilgængelige" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Tast til Tryk for at tale" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Tryk for at tale" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Tryk for at tale (begrænset)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Tryk for at tale har endnu ingen systemdækkende tast. Du kan angive en under Indstillinger > Apps > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Tryk for at tale har endnu ingen systemdækkende tast. Du kan angive en under Systemindstillinger > Tastatur > Genveje > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Tryk for at tale har endnu ingen systemdækkende tast. Du kan angive en i skrivebordets indstillinger for tastaturgenveje." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Tryk for at tale ignoreres ved direkte input. Skift til Fokuseret tale eller Tilpasset for at bruge det." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Tryk for at tale er slået til. Hold tasten til Tryk for at tale nede for at tale." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Tryk for at tale virker kun, mens {productName} er i fokus, fordi dit skrivebord ikke har opsat systemdækkende genveje." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Push-to-talk virker kun, mens {productName} er i fokus, indtil {permissionName} er aktiveret." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Tryk for at tale virker kun, mens {productName} er i fokus, indtil du opsætter systemdækkende genveje." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Tryk for at tale virker kun, når browserfanen er i fokus." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Tryk for at tale bruger den tast, du har angivet i {productName}. Angiv en først, ellers bruger din mikrofon taleaktivitet." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Tryk for at tale slår ikke mikrofonen til, mens du har slået lyden fra. Slå lyden til igen for at tale." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Tryk for at tale virker først uden for {productName}, når du har bundet det i din Hyprland-konfiguration." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Tryk for at tale virker først uden for {productName}, når du har bundet det i din Hyprland-konfiguration. Tilføj linjen for din Hyprland-version, og erstat KEY med den tast, du vil bruge." @@ -27533,12 +27533,12 @@ msgstr "Modtagere føres til {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Anbefalet" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Anbefales. Renser mikrofonlyden, så talen bliver tydelig." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Forbindelsen er genoprettet. Vælg en skærm igen, hvis du vil genoptage din tidligere stream." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Genopretter forbindelse til skrivebordet…" @@ -27836,7 +27836,7 @@ msgstr "Genstart for at anvende" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Forsinkelse efter tastslip" @@ -27853,7 +27853,7 @@ msgstr "Relevant" msgid "Reload" msgstr "Genindlæs" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Genindlæs {PRODUCT_NAME} for at anvende ændringen af stavekontrolmotor fuldt ud. Skift mellem stavekontrol i appen og systemets stavekontrol kræver, at brugerfladen genindlæses, fordi Electron ikke kan skifte udbyder under drift." @@ -27872,7 +27872,7 @@ msgstr "Genindlæs {productName} for at bruge webopdateringen {version}" msgid "Reload app" msgstr "Genindlæs app" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Genindlæs nu" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Fjern" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Fjern \"{word}\" fra ordbogen" @@ -28086,8 +28086,8 @@ msgstr "Fjern fra URL-baserede GIF-favoritter" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Fjern ikon" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Rækker pr. side" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM-pakke" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Sikkerhed" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Samme tid som dig" @@ -29770,7 +29770,7 @@ msgstr "Skærmoptagelse" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Skærmoptagelsestilladelse påkrævet" @@ -29858,7 +29858,7 @@ msgstr "Privatliv ved skærmdeling" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Kvalitet af skærmdeling" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Søg sprogkode…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Søg sprog…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Vælg GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Vælg sprog for appen" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Vælg den konto, du vil logge ind med på din nye enhed." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Vælg tilstand for talebehandling" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Sender rå mikrofonlyd uden behandling." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Sender din lyd uændret. Bedst, hvis du bruger ekstern lydsoftware." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Angav en position i medlemslisten for rollen" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Indstillet af {preset}-forudindstillingen. Valg af en værdi her skifter til Brugerdefineret." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Angav taleregionen til automatisk" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Opsæt" @@ -31307,7 +31307,7 @@ msgstr "Del med en ven" msgid "Share your screen" msgstr "Del din skærm" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Del din skærm i HD (1080p), quad HD (1440p) eller kildens oprindelige opløsning med op til 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Emojikoder" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Genvej" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Genvejsikoner" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Vis favoritknap" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Vis favoritter i hele appen" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Log ind med din browser" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Log ind med din gamle {productName}-app" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Log ud?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Logget ind afbrudt" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Loginoplysninger" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Loginforløb" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Logger ind som {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Logger du ind på en anden enhed?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Lyde" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Hastighed" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Stavekontrol" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Stavekontrolmotor" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Stjerneanimation" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Favoritkanaler" @@ -33140,7 +33140,7 @@ msgstr "Start et taleopkald?" msgid "Start call" msgstr "Start opkald" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Start kameratest, og konfigurer effekter" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Start minimeret" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Opstart" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Statisk Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Indekserer stadig – prøv igen om et øjeblik" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Stillestående Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Venter stadig på adgang til skærmoptagelse" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Stop mikrofontest" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Lad Neko blive stående i stedet for at følge markøren. Du kan stadig trække og interagere med katten." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Abonnementet findes allerede" @@ -33957,7 +33957,7 @@ msgstr "Skift til rummeligt layout" msgid "Switch to dense layout" msgstr "Skift til kompakt visning" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Skift til direkte input" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "System-DM'er kan ikke afholde taleopkald." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Tidsformat fra systemet: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Systembakke" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Systemadministreret installation" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Genveje i hele systemet" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Systemdækkende genveje kunne ikke opsættes." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Tryk for at tilføje en note" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz-arkiv" @@ -34360,7 +34360,7 @@ msgstr "Badge på proceslinjen" msgid "Teleporting you to another voice region..." msgstr "Flytter dig til en anden taleregion…" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Skabelon" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "Appen {PRODUCT_NAME} på din anden enhed vises under \"Logger ind på en anden enhed\". Indtast kun en kode fra en enhed, du kontrollerer." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "Appen {PRODUCT_NAME} blev ikke logget ind. Du kan lukke denne fane." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Det fællesskab, du leder efter, er muligvis blevet slettet, eller også har du ikke adgang til det." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Opdateringen til computerappen kunne ikke downloades. Prøv igen via opdateringsknappen, når din forbindelse er stabil." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Den downloadede fil gemmes på din computer. Installer den med din normale pakkehåndtering." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Denne kategori indeholder allerede det maksimale antal på {maxChannelsPerCategory} kanaler." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Denne kategori er mærket som indhold for voksne og kan indeholde materiale, der er upassende for nogle brugere." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Denne kanal har en indholdsadvarsel. Opdateringer kan kun sendes til kanaler med en indholdsadvarsel eller aldersbegrænsning." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Denne kanal er mærket som indhold for voksne og kan indeholde materiale, der er upassende for nogle brugere." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Dette fællesskab er fyldt" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Dette fællesskab er mærket som indhold for voksne og kan indeholde materiale, der er upassende for nogle brugere." @@ -35324,14 +35324,14 @@ msgstr "Dette fællesskab er ikke længere tilgængeligt" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Forbindelsen er bekræftet." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Denne forbindelse er ikke blevet bekræftet." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Denne samtale er ikke længere tilgængelig." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Denne version af computerappen kan ikke installere opdateringer i {productName}. Download den nyeste installationsfil til computerappen i stedet." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Dette skrivebord tilbyder ikke systemdækkende genveje. Tryk for at tale virker kun, mens {productName} er i fokus." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Dette skrivebord tilbyder ikke systemdækkende genveje. Genveje virker stadig, mens {productName} er i fokus." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Denne udviklingsversion kan ikke opdatere sig selv. Download en installationsfil til computerappen for at afprøve opdateringsforløbet." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Dette billede kunne ikke læses. Det er muligvis beskadiget." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Denne installation administreres af dit system. Opdater {productName} via dit softwarecenter eller din pakkehåndtering." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Denne instans bruger allerede brugernavne til at logge ind. Dette kan ikke længere ændres." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Denne instans tillader i øjeblikket skærmdeling op til 720p ved 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Dette link er ikke gyldigt. Prøv at åbne linket fra din e-mail igen." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Denne kategori med indhold for voksne er ikke tilgængelig for din konto." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Denne kategori med indhold for voksne er ikke tilgængelig for din konto. <0>Læs mere" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Denne kanal med indhold for voksne er ikke tilgængelig for din konto." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Denne kanal med indhold for voksne er ikke tilgængelig for din konto. <0>Læs mere" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Dette fællesskab med indhold for voksne er ikke tilgængeligt for din konto." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Dette fællesskab med indhold for voksne er ikke tilgængeligt for din konto. <0>Læs mere" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Dette medie med indhold for voksne er ikke tilgængeligt for din konto." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Dette medie med indhold for voksne er ikke tilgængeligt for din konto. <0>Læs mere" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Dette abonnement er ikke tilgængeligt. Kontakt support." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Dette abonnement er ikke tilgængeligt. Kontakt administratorerne af denne instans." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Dette køb er ikke berettiget til refusion." @@ -35837,7 +35853,7 @@ msgstr "Denne tråd er låst. Kun moderatorer kan sende beskeder." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Denne bruger har begrænset sin profil. Nogle detaljer er skjult for personer, der ikke er deres venner." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Denne bruger har ingen roller i dette fællesskab." @@ -36050,14 +36066,14 @@ msgstr "Tidspunkt" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Tidsformat" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Valg af tidsformat" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Titellinjeplatform" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "For at ændre tasterne skal du gå til Indstillinger > Apps > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "For at ændre tasterne skal du gå til Systemindstillinger > Tastatur > Genveje > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "For at ændre tasterne skal du åbne skrivebordets indstillinger for tastaturgenveje." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Værktøjslinje" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Genvejsværktøjstip" @@ -36864,7 +36880,7 @@ msgstr "24-timersformat" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "To klik" @@ -37263,7 +37279,7 @@ msgstr "Et alternativ, der virker overalt, men har den laveste kvalitet." #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Ukendt" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Lås op for tilpassede emojis i direkte beskeder med {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Lås op for HD-skærmdeling med {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Op til 720p ved 30 billeder/sek" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Opdater {productName} for at bruge systemdækkende genveje på Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Opdater min status" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Opdater nu" @@ -38008,8 +38024,8 @@ msgstr "Upload filer og medier i denne kanal." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Upload ikon" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Brug {name} på {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Brug {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Brug {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Brug en anden metode" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Brug automatisk rulning" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Brug kort" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Brug standard" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Brug direkte adgang til inputenheder" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Brug klistermærker fra andre fællesskaber." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Brug systemets sprogindstillinger til tidsformat" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Brug operativsystemets vinduesramme" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Brug den stavekontrol, der er indbygget i dit operativsystem." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Brug taleaktivitet" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Brug din computers stavekontrol, hvis den er tilgængelig. Ellers brug {productName}s ordbøger i appen." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Bekræft din e-mail først" @@ -39244,7 +39260,7 @@ msgstr "Se detaljer" msgid "View devices that are signed in to your account" msgstr "Se enheder, der er logget ind på din konto" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Se hele profilen" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Talekanal" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Bekræftelse før deltagelse i talekanal" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Talekanalen er fuld" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Indstillinger for deltagelse i talekanal" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Deltagere i taleopkald" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Talebehandling" @@ -39661,7 +39677,7 @@ msgstr "Slå lyden til i taleopkald" msgid "Voice unmute" msgstr "Slå mikrofonen til" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Stemmen bruger din systems lydenhed i denne browser. Skift den i dine systemindstillinger." @@ -39675,7 +39691,7 @@ msgstr "Annulleret" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Ventetid mellem beskeder. Medlemmer med tilladelsen \"{bypassSlowmodePer msgid "Waiting for connection..." msgstr "Venter på forbindelse ..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Venter på adgangsnøgle …" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Venter på, at du ..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Venter på skrivebordet…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Vi kunne ikke læse dette tema. Det er muligvis beskadiget eller ugyldigt." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Vi har ændret størrelsen på og komprimeret dette klistermærke til 32 msgid "We sent a code to {email}." msgstr "Vi har sendt en kode til {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Vi udfylder automatisk {prefillEmail}, når browser-login åbnes." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Forhåndsvisninger af links" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Velkommen tilbage" @@ -40321,7 +40337,7 @@ msgstr "Hvilke fællesskaber" msgid "Which conversations" msgstr "Hvilke samtaler" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Når Tryk for at tale er slået til, styrer genvejen din mikrofon, så knappen til at slå mikrofonen fra er deaktiveret." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Du har lige trykket på Tab. Tastaturtilstand er nu slået til, så du kan navigere i {productName} uden en mus." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Du beholder dine fordele indtil din næste fornyelsesdato. Genaktiver inden da for at bevare din abonnementshistorik." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Du mister alle dine {PREMIUM_PRODUCT_NAME}-fordele med det samme, og din abonnementshistorik nulstilles. Dette kan ikke fortrydes." @@ -41137,8 +41153,8 @@ msgstr "Du skal have tilladelsen \"{permissionLabel}\" for at bruge emojis fra a msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Du skal have tilladelsen \"{permissionLabel}\" for at bruge klistermærker fra andre fællesskaber her." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Du skal fuldføre oprettelsen af din konto, før du kan oprette et fællesskab." @@ -41155,8 +41171,8 @@ msgstr "Du skal fuldføre oprettelsen af din konto for at sende direkte beskeder msgid "You need to claim your account to send messages in this community." msgstr "Du skal fuldføre oprettelsen af din konto for at sende beskeder i dette fællesskab." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Du skal bekræfte din e-mailadresse, før du kan oprette et fællesskab." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 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}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Du vises som offline" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Du bliver opkrævet nu. Din resterende gavetid lægges til efter din betalte periode, så intet går tabt." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Du er allerede Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Du sender anmeldelser for hurtigt. Prøv igen senere." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Du er logget ind" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Din konto er for ny til at sende beskeder i dette fællesskab." msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Din kontoanmodning afventer godkendelse. Du kan logge ind, når en administrator har godkendt den." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Din konto kræver flerfaktorgodkendelse, men der er ingen understøttede metoder konfigureret på denne enhed. Log ind på en enhed med din godkendelsesapp eller sikkerhedsnøgle, eller kontakt support." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Din konto kræver flerfaktorgodkendelse, men der er ingen understøttede metoder konfigureret på denne enhed. Log ind på en enhed med din godkendelsesapp eller sikkerhedsnøgle, eller kontakt administratorerne af denne instans." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Dine konti og indstillinger er ikke blevet ændret eller slettet." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Din handling kunne ikke gennemføres, da den blev markeret af vores sikkerhedssystemer. Hvis du mener, at dette er en fejl, bedes du kontakte support." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Din handling kunne ikke gennemføres, da den blev markeret af vores sikkerhedssystemer. Hvis du mener, at dette er en fejl, bedes du kontakte administratorerne af denne instans." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Dit nuværende kit holder op med at virke, så snart det nye er oprettet." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Dit skrivebord har ikke opsat systemdækkende genveje." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Dit skrivebord reserverer disse taster til {productName}, så andre apps ikke kan bruge dem." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Dit skrivebord reserverer disse taster til {productName}, så andre apps ikke kan bruge dem. Slå direkte adgang til inputenheder til nedenfor for at bruge den samme tast i andre apps." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Dit skrivebord kører disse genveje, selv når {productName} ikke er i fokus." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Din gaveperiode er udløbet. Abonner for at beholde {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Din gavetid bevares" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Din overgangsperiode er udløbet." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Din installation er beskadiget, og du skal geninstallere appen for at alle funktioner virker." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Dit seneste køb er uden for refusionsperioden. Kontakt support for faktureringsproblemer." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Din besked kunne ikke leveres, fordi den blev markeret af vores sikkerhedssystemer. Hvis du mener, at dette er en fejl, bedes du kontakte support." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Din besked kunne ikke leveres, fordi den blev markeret af vores sikkerhedssystemer. Hvis du mener, at dette er en fejl, bedes du kontakte administratorerne af denne instans." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Din besked kunne ikke leveres. Dette skyldes som regel, at du ikke deler et fællesskab med modtageren, eller at modtageren kun accepterer direkte beskeder fra venner. Du skal muligvis også justere dine egne indstillinger for direkte beskeder i {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Din besked kunne ikke leveres. Du skal fuldføre oprettelsen af din konto for at sende direkte beskeder." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Din besked kunne ikke leveres. Du skal fuldføre oprettelsen af din konto for at sende beskeder." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Din anmeldelse blev ikke sendt. Prøv igen." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Din gemte {savedResolution} med {savedFrameRate} FPS kræver {premiumProductName}, så delinger bruger {resolution} med {frameRate} FPS." diff --git a/fluxer_app/src/features/i18n/locales/de/messages.po b/fluxer_app/src/features/i18n/locales/de/messages.po index 34ed4938e..e445a133c 100644 --- a/fluxer_app/src/features/i18n/locales/de/messages.po +++ b/fluxer_app/src/features/i18n/locales/de/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} verwendet eine neuere Version von Fluxer als diese App. Bitte aktualisiere Fluxer und versuche es dann erneut." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} voraus" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} zurück" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {vor # Stunde} other {vor # Stunden}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# Stunde} other {# Stunden}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# Stunde} other {# Stunden}} {minutes, plural, one {# Minute} other {# Minuten}}" @@ -1602,7 +1602,7 @@ msgstr "Die Datei \"{label}\" ist zu groß. Wähle eine Datei, die kleiner als { msgid "{label} images cannot be animated. Use a static image." msgstr "{label}-Bilder dürfen nicht animiert sein. Verwende ein statisches Bild." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Flagge: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "vor {minutes, plural, one {# Minute} other {# Minuten}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# Minute} other {# Minuten}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} hat ein neues Audioausgabegerät namens <0>{deviceName}{PRODUCT_NAME} community guidelines." msgstr "Durch das Erstellen einer Community stimmst du zu, die <0>Community-Richtlinien von {PRODUCT_NAME} zu befolgen und einzuhalten." @@ -6658,7 +6658,7 @@ msgstr "Anrufe" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Kameravorschau" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Kameraqualität" @@ -6809,8 +6809,8 @@ msgstr "Dateien können hier nicht hochgeladen werden" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Geplante Umstellung abbrechen" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Abo kündigen" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Abo kündigen?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Kategorie" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Inhaltswarnung für Kategorie" @@ -7131,15 +7131,15 @@ msgstr "Spitznamen in der Gruppe ändern" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Symbol ändern" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "In den Systemeinstellungen ändern" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Kanalabzeichen" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Inhaltswarnung für Kanal" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Tastenkombinationen für den Chat" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Erneut prüfen" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Zugriff wird geprüft …" #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Berechtigung zur Bildschirmaufnahme wird geprüft …" @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Kaufabwicklung nicht verfügbar" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Wähle, wie du dieses Abo bezahlen möchtest." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Zahlungsmethode auswählen" @@ -8174,7 +8174,7 @@ msgstr "Wähle deine Standardeinstellungen" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Instanz auswählen" @@ -8216,8 +8216,8 @@ msgstr "Geschenk einlösen" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Deinen Account beanspruchen" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Community-Abzeichen" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Inhaltswarnung der Community" @@ -9089,8 +9089,8 @@ msgstr "Community-DM" msgid "Community filter" msgstr "Community-Filter" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Community-Icon" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Community aktualisiert" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Community-Sprachchat" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Zahlung abschließen" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Schließe die Prüfung für nicht jugendfreie Inhalte ab, um nicht jugendfreie Medien freizuschalten." @@ -9409,7 +9409,7 @@ msgstr "Bestätigen" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Vor Beitritt zu Sprachkanälen bestätigen" @@ -9457,7 +9457,7 @@ msgstr "Bestätige die Aussage, um die Meldung zu senden." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Beitritt zum Sprachchat bestätigen" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Bestätigung" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Bestätigung oder Doppelklick zum Beitreten zu einem Sprachkanal in der Community" @@ -9476,7 +9476,7 @@ msgstr "Bestätigung oder Doppelklick zum Beitreten zu einem Sprachkanal in der msgid "Conflicts with {conflictLabel}" msgstr "In Konflikt mit {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Kamera verbinden und erneut versuchen." @@ -9489,7 +9489,7 @@ msgstr "Schließe eine Kamera oder ein virtuelles Aufnahmegerät an und versuche msgid "Connect a display, then try again." msgstr "Schließe einen Bildschirm an und versuche es erneut." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Verbinde ein Mikrofon und versuche es erneut." @@ -9633,7 +9633,7 @@ msgstr "Verbindung: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Kontakt" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Inhalt blockiert" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "In deinem Browser fortfahren" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Weiter zur Kasse" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Mit Passkey fortfahren" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Einladungs-URL kopieren" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Zeilen kopieren" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Zeilen für hyprland.conf kopieren" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Zeilen für hyprland.lua kopieren" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Preis konnte nicht geändert werden" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Suche nach Updates fehlgeschlagen" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Nachrichten konnten nicht gelöscht werden" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Desktop-Update konnte nicht heruntergeladen werden" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Kauf konnte nicht gestartet werden" @@ -10932,7 +10932,7 @@ msgstr "Erstellen & teilen" msgid "Create a community" msgstr "Community erstellen" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Erstelle eine Community, in der du und deine Freunde chatten können." @@ -11365,7 +11365,7 @@ msgstr "Benutzerdefiniert" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Ton von Moderatoren ausgeschaltet" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB-Paket" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Desktop-App" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Die Desktop-App ist auf dem neuesten Stand" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Desktop-Update {version} verfügbar. Wähle ein Linux-Paket." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Desktop-Update verfügbar" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Desktop-Update verfügbar. Wähle ein Linux-Paket." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Die Desktop-Version {version} ist verfügbar. Lade das Installationsprogramm herunter und führe es aus, um {productName} zu aktualisieren." @@ -12613,7 +12613,7 @@ msgstr "Details: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Beim Tippen erkennen" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Entwicklertools nicht verfügbar" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Entwicklungs-Build" @@ -13455,8 +13455,8 @@ msgstr "Herunterladen" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "{productName} herunterladen" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification herunter und lege die Datei in deinem Ordner <1>.well-known ab, damit wir die Domain überprüfen können." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "App herunterladen" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "App herunterladen" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Herunterladen-Button" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Desktop-App herunterladen" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Bild herunterladen" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Installer herunterladen" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Medien herunterladen" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Paket herunterladen" @@ -13655,11 +13655,11 @@ msgstr "Objekt ablegen" msgid "Drop to upload background" msgstr "Zum Hochladen des Hintergrunds hier ablegen" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Aufgrund von Gesetzen zu Inhalten für Erwachsene in {regionName} sind diese Inhalte blockiert, bis du die Altersprüfung abgeschlossen hast." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Aufgrund von Gesetzen zu nicht jugendfreien Inhalten in {regionName} sind solche Inhalte hier nicht verfügbar. Altersprüfungen sind nur im Vereinigten Königreich verfügbar." @@ -13673,7 +13673,7 @@ msgstr "Aufgrund von Gesetzen zu nicht jugendfreien Inhalten in {regionName} ist msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Aufgrund von Gesetzen zu nicht jugendfreien Inhalten in {regionName} ist dieser Inhalt hier nicht verfügbar. Altersprüfungen sind nur im Vereinigten Königreich verfügbar." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Aufgrund von Gesetzen zu nicht jugendfreien Inhalten in {regionName} ist dieses Medium in deiner aktuellen Region nicht verfügbar." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Jeder Code funktioniert einmal anstelle deiner Authentifizierungs-App." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Jede Taste kann nur eine systemweite Tastenkombination auslösen." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Aktivieren" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "{permissionName}-Berechtigung aktivieren" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Tastenkombination aktivieren" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Rechtschreibprüfung aktivieren" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Übergangsfrist jetzt beenden" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Übergangsfrist beenden" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Übergangsfrist jetzt beenden?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Gib die PIN für deinen Sicherheitsschlüssel ein, um fortzufahren." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Gib diesen Code in deinem Browser ein" @@ -14845,7 +14845,7 @@ msgstr "Gib diesen Code in deinem Browser ein" msgid "Enter this code in your browser to complete sign-in." msgstr "Gib diesen Code in deinem Browser ein, um die Anmeldung abzuschließen." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Gib diesen Code in deine alte {PRODUCT_NAME}-App ein, um die Anmeldung abzuschließen." @@ -14916,7 +14916,7 @@ msgstr "Gesamtes System-Audio" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Beitrittston" @@ -15026,7 +15026,7 @@ msgstr "Abend" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Gleicht deine Mikrofonlautstärke aus, damit du nicht zu leise bist." @@ -15249,7 +15249,7 @@ msgstr "Läuft zwischen {earliest} und {latest} ab" msgid "Expires in {remaining}s" msgstr "Läuft in {remaining}s ab" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Gültig für {remainingSeconds}s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Kanal favorisieren" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Lieblingskanäle" @@ -16243,7 +16243,7 @@ msgstr "Für {threeHours} Stunden" msgid "For {twentyFourHours} hours" msgstr "Für {twentyFourHours} Stunden" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Nur für britische Augen ..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Für mich" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Verwende für „Zum Stummschalten drücken“ eine einzelne Taste ohne Strg, Alt oder Umschalttaste. Lass bei einer Kombination zuerst die Haupttaste los, sonst kann das Mikrofon stummgeschaltet bleiben." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Verwende für Push-to-Talk eine einzelne Taste ohne Strg, Alt oder Umschalttaste. Lass bei einer Kombination zuerst die Haupttaste los, sonst kann das Mikrofon an bleiben." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Verwende für diese Tastenkombination eine einzelne Taste ohne Strg, Alt oder Umschalttaste. Lass bei einer Kombination zuerst die Haupttaste los, sonst kann die Tastenkombination aktiv bleiben." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Verwende für „Sprachaktivitätspriorität“ eine einzelne Taste ohne Strg, Alt oder Umschalttaste. Lass bei einer Kombination zuerst die Haupttaste los, sonst kann die Priorität aktiv bleiben." @@ -16460,14 +16460,14 @@ msgstr "Rahmen" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Bildrate" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Bildraten über 30 FPS erfordern {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Benachrichtigungen erhalten, wenn du neue Nachrichten bekommst. Möglicherweise musst du Benachrichtigungen in deinen Browser-Einstellungen zulassen. Für Benachrichtigungseinstellungen pro Kanal/Community klicke mit der rechten Maustaste auf ein Community-Symbol und öffne die Benachrichtigungseinstellungen." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Hol dir die {productName}-Desktop-App für systemweites Push-to-Talk und ein paar andere Extras." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Desktop-App herunterladen" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Zurück zu {productName}, um fortzufahren." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Zurück zur {PRODUCT_NAME}-App. Die Anmeldung wird automatisch abgeschlossen." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Zurück zur {PRODUCT_NAME}-App. Du kannst diesen Tab schließen." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Hilfe" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Hilfe-Schaltfläche" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Hilfebereich" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Hilfe-Center-Schaltfläche in der Seitenleiste" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Hilf auf <0>{I18N_WEBLATE_DOMAIN} mit, {PRODUCT_NAME} in deine Sprache zu übersetzen." @@ -17841,7 +17841,7 @@ msgstr "Chat ausblenden" msgid "Hide community owner crown" msgstr "Krone des Community-Eigentümers ausblenden" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Download-Button ausblenden" @@ -17860,7 +17860,7 @@ msgstr "Favoriten ausblenden" msgid "Hide guidelines" msgstr "Richtlinien ausblenden" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Hilfe-Button ausblenden" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Beitrittsnachrichten ausblenden" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Tastaturhinweise ausblenden" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Hyperlink" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland hat keinen Dialog für Tastenkombinationen. Füge die Zeilen für deine Hyprland-Version zu deiner Hyprland-Konfiguration hinzu und ersetze KEY durch die gewünschte Taste." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland hat keinen Dialog für Tastenkombinationen. Lege die Tasten in deiner Hyprland-Konfiguration fest." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (vor Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 und neuer)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Ich bestätige in gutem Glauben, dass die Angaben und Behauptungen in dieser Meldung richtig und vollständig sind." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Ich verstehe" @@ -18598,11 +18598,11 @@ msgstr "Importiere… {processedCount, number} / {totalCount, number} verarbeite msgid "In" msgstr "In" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "Im Modus „Betriebssystem“ dienen die oben aufgeführten Wörterbücher als Empfehlungen. {PRODUCT_NAME} übergibt diese Sprach-Tags, sofern unterstützt, an die Rechtschreibprüfung deines Betriebssystems. Nicht erkannte Tags werden ignoriert." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "Im Browser funktioniert Push-to-Talk nur, wenn der Tab \"{PRODUCT_NAME}\" im Fokus ist. Installiere die Desktop-App für systemweites Push-to-Talk." @@ -18650,7 +18650,7 @@ msgstr "Im Sprachchat" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "In-App-Wörterbücher" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Eingabe" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Ein- und Ausgabe" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Emoji einfügen" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Installiere {productName} für die vollständige Quellenauswahl und eine reibungslosere Bildschirmfreigabe." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Neue App installieren" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Installiert" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Installierte Version: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Oberfläche" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Sprache der Benutzeroberfläche" @@ -19467,13 +19467,13 @@ msgstr "Beitreten" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "{communityName} beitreten" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Tritt {communityName} bei, um mit dem Team zu chatten und auf dem Laufenden zu bleiben." @@ -19561,7 +19561,7 @@ msgstr "Videoanruf beitreten" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Sprachanruf beitreten" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Behalte kostenlose und Premium-Stufen bei. Du kannst die Stufen anpassen, Premium über Stripe verkaufen oder später Geschenke-Codes im Admin-Panel verteilen." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Übergangsfrist beibehalten" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Weiter ausführen" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Abo behalten" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Bewahre diese Seite gut auf. Wenn du dein Passwort vergisst, kannst du sie verwenden, um wieder auf dein Konto zuzugreifen. Jeder, der diesen Wiederherstellungsschlüssel hat, kann dein Passwort zurücksetzen. Teile ihn also niemals." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Auch nach Loslassen des Knopfes noch kurzzeitig übertragen." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Tastatur" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Der Tastaturzugriff konnte nicht gestartet werden. Tastenkombinationen funktionieren nur, solange {productName} im Fokus ist." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Tastaturmodus" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Tastenkombinationshinweise in Tooltips anzeigen" @@ -19923,7 +19923,7 @@ msgstr "Spracheinstellungen" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Sprachen" @@ -19971,7 +19971,7 @@ msgstr "Latenz-Diagramm" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Dem Mitglied wieder erlaubt, andere in dieser Community zu hören" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Lässt {productName} direkt auf deine Tastatur zugreifen. Schalte dies aus, um Tastenkombinationen stattdessen über deinen Desktop einzurichten." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Lässt {productName} direkt auf deine Tastatur zugreifen. Dein System erlaubt dies bereits." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Linux-Standard" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Linux-Paket" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Lokale Dateien" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Ortszeit" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Aussehen und Verhalten" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Es sieht so aus, als würdest du {0} verwenden. Wenn du die Verarbeitung von {PRODUCT_NAME} zusätzlich aktivierst, kann dies zu Pumpen oder Verzerrungen führen. Eine direkte Eingabe leitet dein Audio unverändert weiter." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Zum Gruppeneigentümer machen" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Stelle sicher, dass dieser Code mit dem in der {PRODUCT_NAME}-App übereinstimmt." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Abo verwalten" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Manuelles Desktop-Update" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Gesamtlautstärke" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Kategorie für nicht jugendfreie Inhalte" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Kanal für Erwachsene" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Community für Erwachsene" @@ -21194,7 +21194,7 @@ msgstr "Altersprüfung für nicht jugendfreie Inhalte eingereicht" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Altersprüfungen für nicht jugendfreie Inhalte sind derzeit nur im Vereinigten Königreich verfügbar." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Mitgliederrollen aktualisiert" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Mitglied seit" @@ -22013,7 +22013,7 @@ msgstr "Mikrofon" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Mikrofon-Test" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Neko-Katze, die deinem Mauszeiger folgt" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Neue Benutzer können im Moment nicht beitreten. Du kannst aber trotzdem einen Account erstellen oder dich anmelden und es später noch einmal mit diesem Link versuchen." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Neue Version" @@ -23465,7 +23465,7 @@ msgstr "Keine Lesezeichen" msgid "No bot banner" msgstr "Kein Bot-Banner" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Keine Kamera gefunden" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Keine Beschreibung." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Kein Desktop-Update verfügbar." @@ -23684,7 +23684,7 @@ msgstr "Keine passenden Beiträge" msgid "No mentions yet" msgstr "Noch keine Erwähnungen" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Kein Mikrofon gefunden" @@ -23731,7 +23731,7 @@ msgstr "Keine ausstehenden Anfragen stimmen mit der Suche überein" msgid "No permissions found" msgstr "Keine Berechtigungen gefunden" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Noch keine persönlichen Wörter." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Nicht erlaubt" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Nicht zugewiesen" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Beim Klicken" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "Melde dich auf deinem anderen Gerät unter {signInAddress} an und gib diesen Code ein, wenn du dazu aufgefordert wirst." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Öffne {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "{PRODUCT_NAME} öffnen" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Konto-Umschalter öffnen" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Erweiterte Medieneinstellungen öffnen" @@ -24788,7 +24788,7 @@ msgstr "Banner-Optionen öffnen" msgid "Open bookmarks" msgstr "Lesezeichen öffnen" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Browser öffnen" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Datumsauswahl öffnen" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Desktop-Downloads öffnen" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Einstellungen öffnen" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Softwarecenter öffnen" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Systemeinstellungen öffnen" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Öffne Systemeinstellungen → Datenschutz & Sicherheit → Bildschirmaufnahme und erlaube dann {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Vorlagen-JSON öffnen" @@ -25089,7 +25089,7 @@ msgstr "Vorlagen-JSON öffnen" msgid "Open the context menu" msgstr "Kontextmenü öffnen" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Öffne den Link unten in deinem Browser, kopiere dann die gesamte JSON-Antwort und füge sie in das Feld ein." @@ -25167,11 +25167,11 @@ msgstr "Einstellungen für Audio & Video öffnen" msgid "Open with {accountName} on {instanceName}" msgstr "Öffnen mit {accountName} auf {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Öffne deinen Browser, melde dich an und gib dann den folgenden Code ein, um deinen Account zu verknüpfen." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Öffne deine alte {PRODUCT_NAME}-App, wähle „Neues Gerät verknüpfen“ und gib dann den folgenden Code ein." @@ -25199,7 +25199,7 @@ msgstr "Öffnet die Mitgliederseite. Drücke Leertaste oder Eingabetaste zum Öf #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Betriebssystem" @@ -25629,7 +25629,7 @@ msgstr "Letzte 7 Tage" msgid "Paste" msgstr "Einfügen" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Füge eine {theOtherPlatform}-Vorlagen-URL ein, um ihre Struktur in eine neue Community zu importieren." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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." @@ -25933,7 +25933,7 @@ msgstr "Berechtigungen für {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Persönliches Wörterbuch" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Wähle mindestens ein Tag für diesen Beitrag." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Wähle ein oder mehrere Wörterbücher aus. Wörter aus jedem ausgewählten Wörterbuch werden akzeptiert, was für mehrsprachige Chats nützlich ist." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Preise werden noch geladen." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Käufe nicht verfügbar" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Push-to-Talk-Taste" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Push-to-Talk" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Push-to-Talk (begrenzt)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Push-to-Talk hat noch keine systemweite Taste. Um eine festzulegen, gehe zu Einstellungen > Apps > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Push-to-Talk hat noch keine systemweite Taste. Um eine festzulegen, gehe zu Systemeinstellungen > Tastatur > Kurzbefehle > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Push-to-Talk hat noch keine systemweite Taste. Um eine festzulegen, öffne die Tastenkombinationseinstellungen deines Desktops." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Push-to-Talk wird bei direkter Eingabe ignoriert. Wechsle zu „Fokussierter Sprachchat“ oder „Benutzerdefiniert“, um es zu verwenden." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Push-to-Talk ist aktiviert. Halte deine Push-to-Talk-Taste gedrückt, um zu sprechen." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Push-to-Talk funktioniert nur, solange {productName} im Fokus ist, da dein Desktop keine systemweiten Tastenkombinationen eingerichtet hat." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Push-to-Talk funktioniert nur, solange {productName} aktiv ist, bis {permissionName} aktiviert ist." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Push-to-Talk funktioniert nur, solange {productName} im Fokus ist, bis du systemweite Tastenkombinationen einrichtest." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Push-to-Talk funktioniert nur, während der Browser-Tab im Fokus ist." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Push-to-Talk verwendet die Taste, die du in {productName} festgelegt hast. Lege zuerst eine fest, sonst nutzt dein Mikrofon Sprachaktivität." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Push-to-Talk aktiviert dein Mikrofon nicht, solange dein Ton ausgeschaltet ist. Schalte deinen Ton ein, um zu sprechen." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Push-to-Talk funktioniert außerhalb von {productName} erst, nachdem du es in deiner Hyprland-Konfiguration festgelegt hast." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Push-to-Talk funktioniert außerhalb von {productName} erst, nachdem du es in deiner Hyprland-Konfiguration festgelegt hast. Füge die Zeile für deine Hyprland-Version hinzu und ersetze KEY durch die gewünschte Taste." @@ -27533,12 +27533,12 @@ msgstr "Empfänger werden zu {0} <0>{1} weitergeleitet" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Empfohlen" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Empfohlen. Filtert dein Mikrofonsignal für klare Sprache." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Wiederherstellung erfolgreich. Wähle erneut einen Bildschirm aus, wenn du deinen vorherigen Stream fortsetzen möchtest." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Verbindung zu deinem Desktop wird wiederhergestellt…" @@ -27836,7 +27836,7 @@ msgstr "Neu starten, um anzuwenden" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Verzögerung beim Loslassen" @@ -27853,7 +27853,7 @@ msgstr "Relevanz" msgid "Reload" msgstr "Neu laden" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "{PRODUCT_NAME} neu laden, um die Engine-Änderung vollständig zu übernehmen. (Das Wechseln zwischen In-App- und System-Rechtschreibprüfung erfordert einen Renderer-Neustart, da Electron Anbieter nicht während des Betriebs austauschen kann.)" @@ -27872,7 +27872,7 @@ msgstr "Lade {productName} neu, um das Web-Update {version} zu nutzen" msgid "Reload app" msgstr "App neu laden" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Jetzt neu laden" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Entfernen" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "„{word}“ aus dem Wörterbuch entfernen" @@ -28086,8 +28086,8 @@ msgstr "Aus der Liste der per URL gespeicherten GIFs entfernen" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Symbol entfernen" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Zeilen pro Seite" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM-Paket" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Sicherheit" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Gleiche Uhrzeit wie bei dir" @@ -29770,7 +29770,7 @@ msgstr "Bildschirmaufnahme" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Berechtigung zur Bildschirmaufnahme erforderlich" @@ -29858,7 +29858,7 @@ msgstr "Bildschirmfreigabe-Datenschutz" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Qualität der Bildschirmfreigabe" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Sprachcode suchen…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Sprachen suchen…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "GIF {title} auswählen" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Oberflächensprache auswählen" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Wähle das Konto aus, mit dem du dich auf deinem neuen Gerät anmelden möchtest." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Sprachverarbeitungsmodus auswählen" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Sendet rohes Mikrofon-Audio ohne Verarbeitung." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Sendet dein Audio unverändert. Am besten geeignet, wenn du externe Audiosoftware verwendest." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Eine Position in der Mitgliederliste für die Rolle festgelegt" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Festgelegt durch die {preset}-Voreinstellung. Die Auswahl eines Wertes hier wechselt zu Benutzerdefiniert." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Die Sprachregion auf automatisch gesetzt" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Einrichten" @@ -31307,7 +31307,7 @@ msgstr "Mit einem Freund teilen" msgid "Share your screen" msgstr "Bildschirm teilen" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Teile deinen Bildschirm in HD (1080p), Quad HD (1440p) oder nativer Quellauflösung mit bis zu 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Kurzcodes" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Tastenkombination" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Kennzeichnungen für Tastenkombinationen" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Favoriten-Button anzeigen" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Favoriten in der gesamten App anzeigen" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Mit deinem Browser anmelden" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Mit deiner alten {productName}-App anmelden" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Abmelden?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Anmeldung abgebrochen" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Anmeldedaten" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Anmeldevorgang" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Anmeldung als {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Auf einem anderen Gerät anmelden?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Töne" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Geschwindigkeit" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Rechtschreibprüfung" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Engine für die Rechtschreibprüfung" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Stern-Animation" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Markierte Kanäle" @@ -33140,7 +33140,7 @@ msgstr "Sprachanruf starten?" msgid "Start call" msgstr "Anruf starten" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Kameratest starten und Effekte konfigurieren" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Minimiert starten" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Start" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Statischer Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Wird noch indiziert – bitte gleich noch einmal versuchen" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Unbeweglicher Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Warte noch auf Zugriff auf die Bildschirmaufnahme" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Mikrofontest beenden" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Verhindere, dass Neko deinem Mauszeiger folgt, während er weiterhin ziehbar und interaktiv bleibt." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Abo ist bereits vorhanden" @@ -33957,7 +33957,7 @@ msgstr "Zu \"Komfortabel\" wechseln" msgid "Switch to dense layout" msgstr "Zu kompakter Ansicht wechseln" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Direkte Eingabe nutzen" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "In System-DMs sind keine Sprachanrufe möglich." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Zeitformat des Systems: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Infobereich" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Systemverwaltete Installation" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Systemweite Tastenkombinationen" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Systemweite Tastenkombinationen konnten nicht eingerichtet werden." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Tippen, um eine Notiz hinzuzufügen" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz-Archiv" @@ -34360,7 +34360,7 @@ msgstr "Taskleisten-Badge" msgid "Teleporting you to another voice region..." msgstr "Wird zu einer anderen Sprachregion teleportiert …" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Vorlage" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "Die {PRODUCT_NAME}-App auf deinem anderen Gerät zeigt sie unter „Auf einem anderen Gerät anmelden“ an. Gib nur einen Code von einem Gerät ein, das du kontrollierst." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "Die App {PRODUCT_NAME} wurde nicht angemeldet. Du kannst diesen Tab schließen." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Die gesuchte Community wurde möglicherweise gelöscht oder du hast keinen Zugriff darauf." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Das Desktop-Update konnte nicht heruntergeladen werden. Versuche es erneut über die Schaltfläche „Update“, wenn deine Verbindung stabil ist." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Die heruntergeladene Datei ist auf deinem Computer gespeichert. Installiere sie mit deinem üblichen Paketmanager." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Diese Kategorie enthält bereits die maximale Anzahl von {maxChannelsPerCategory} Kanälen." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Diese Kategorie ist für nicht jugendfreie Inhalte markiert und kann Material enthalten, das für manche Nutzer unangemessen sein könnte." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Dieser Kanal hat eine Inhaltswarnung. Updates können nur an Kanäle mit einer Inhaltswarnung oder einer Altersbeschränkung gesendet werden." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Dieser Kanal ist für nicht jugendfreie Inhalte markiert und kann Material enthalten, das für einige Nutzer unangemessen sein könnte." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Diese Community ist voll" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Diese Community ist für nicht jugendfreie Inhalte gekennzeichnet und kann Material enthalten, das für einige Nutzer unangemessen sein könnte." @@ -35324,14 +35324,14 @@ msgstr "Diese Community ist nicht mehr verfügbar" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Diese Verbindung wurde verifiziert." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Diese Verbindung wurde nicht verifiziert." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Diese Unterhaltung ist nicht mehr verfügbar." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Diese Desktop-Version kann keine Updates innerhalb von {productName} installieren. Bitte lade stattdessen die neueste Desktop-Installationsdatei herunter." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Dieser Desktop bietet keine systemweiten Tastenkombinationen. Push-to-Talk funktioniert nur, solange {productName} im Fokus ist." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Dieser Desktop bietet keine systemweiten Tastenkombinationen. Tastenkombinationen funktionieren weiterhin, solange {productName} im Fokus ist." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Diese Entwicklungsversion kann sich nicht selbst updaten. Lade ein Desktop-Installationsprogramm herunter, um den Ablauf von Updates zu testen." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Dieses Bild konnte nicht gelesen werden. Es ist möglicherweise beschädigt." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Diese Installation wird von deinem System verwaltet. Aktualisiere {productName} über dein Softwarecenter oder deinen Paketmanager." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Diese Instanz verwendet bereits Benutzernamen für die Anmeldung. Dies kann nicht mehr geändert werden." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Diese Instanz erlaubt derzeit Bildschirmfreigabe bis zu 720p bei 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Dieser Link ist nicht gültig. Öffne den Link aus deiner E-Mail erneut." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Diese Kategorie mit nicht jugendfreien Inhalten ist für deinen Account nicht verfügbar." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Diese Kategorie mit nicht jugendfreien Inhalten ist für deinen Account nicht verfügbar. <0>Mehr erfahren" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Dieser nicht jugendfreie Kanal ist für deinen Account nicht verfügbar." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Dieser nicht jugendfreie Kanal ist für deinen Account nicht verfügbar. <0>Mehr erfahren" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Diese Community mit nicht jugendfreien Inhalten ist für deinen Account nicht verfügbar." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Diese nicht jugendfreie Community ist für deinen Account nicht verfügbar. <0>Mehr erfahren" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Diese nicht jugendfreien Medien sind für deinen Account nicht verfügbar." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Diese nicht jugendfreien Medien sind für deinen Account nicht verfügbar. <0>Mehr erfahren" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Dieser Tarif ist nicht verfügbar. Kontaktiere den Support." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Dieser Tarif ist nicht verfügbar. Kontaktiere die Administratoren dieser Instanz." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Dieser Kauf ist nicht erstattungsfähig." @@ -35837,7 +35853,7 @@ msgstr "Dieser Thread ist gesperrt. Nur Moderatoren können Nachrichten senden." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Dieser Nutzer hat sein Profil eingeschränkt. Einige Details sind für Personen, die nicht mit ihm befreundet sind, ausgeblendet." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Dieser Nutzer hat keine Rollen in dieser Community." @@ -36050,14 +36066,14 @@ msgstr "Uhrzeit" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Zeitformat" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Zeitanzeige auswählen" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Titelleisten-Plattform" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Um die Tasten zu ändern, gehe zu Einstellungen > Apps > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Um die Tasten zu ändern, gehe zu Systemeinstellungen > Tastatur > Kurzbefehle > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Um die Tasten zu ändern, öffne die Tastenkombinationseinstellungen deines Desktops." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Symbolleiste" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Tastenkombinationen in Tooltips" @@ -36864,7 +36880,7 @@ msgstr "24-Stunden-Format" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Zwei Klicks" @@ -37263,7 +37279,7 @@ msgstr "Universeller Fallback. Geringste Qualität, funktioniert aber überall." #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Unbekannt" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Schalte benutzerdefinierte Emojis in DMs mit {premiumProductName} frei" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "HD-Bildschirmfreigabe mit {premiumProductName} freischalten" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Bis zu 720p bei 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Aktualisiere {productName}, um systemweite Tastenkombinationen unter Wayland zu verwenden." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Meinen Status aktualisieren" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Jetzt aktualisieren" @@ -38008,8 +38024,8 @@ msgstr "Dateien und Medien in diesem Kanal hochladen." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Symbol hochladen" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Mit {name} auf {domain} verwenden" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "{pixPaymentMethod} verwenden" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "\"{upiPaymentMethod}\" verwenden" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Alternative Methode verwenden" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Autoscrolling verwenden" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Karte verwenden" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Standard verwenden" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Direkten Zugriff auf Eingabegeräte verwenden" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Sticker aus anderen Communitys verwenden." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Systemeinstellungen für das Zeitformat verwenden" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Fensterrahmen des Betriebssystems verwenden" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Die in deinem Betriebssystem integrierte Rechtschreibprüfung verwenden." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Sprachaktivierung nutzen" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Nutze die Rechtschreibprüfung deines Betriebssystems, falls verfügbar. Andernfalls nutze die In-App-Wörterbücher von {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Verifiziere zuerst deine E-Mail-Adresse" @@ -39244,7 +39260,7 @@ msgstr "Details ansehen" msgid "View devices that are signed in to your account" msgstr "Geräte anzeigen, die bei deinem Account angemeldet sind" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Vollständiges Profil ansehen" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Sprachkanal" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Sprachkanal-Bestätigung" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Sprachkanal voll" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Verhalten beim Beitreten von Sprachkanälen" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Sprachchat-Teilnehmer" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Sprachverarbeitung" @@ -39661,7 +39677,7 @@ msgstr "Ton im Sprachchat einschalten" msgid "Voice unmute" msgstr "Stummschaltung aufheben" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Die Sprachausgabe verwendet in diesem Browser Ihr Systemausgabegerät. Ändern Sie dies in Ihren Systemeinstellungen." @@ -39675,7 +39691,7 @@ msgstr "Storniert" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Wartezeit zwischen Nachrichten. Mitglieder mit der Berechtigung „{bypa msgid "Waiting for connection..." msgstr "Warten auf Verbindung..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Warte auf Passkey …" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Warten, bis du …" #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Warten auf deinen Desktop…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Dieses Design konnte nicht gelesen werden. Es ist möglicherweise beschädigt oder ungültig." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Wir haben diesen Sticker auf 320x320 Pixel verkleinert und komprimiert, msgid "We sent a code to {email}." msgstr "Wir haben einen Code an {email} gesendet." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Wir tragen \"{prefillEmail}\" automatisch ein, sobald sich die Browser-Anmeldung öffnet." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Webseiten-Vorschauen" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Willkommen zurück" @@ -40321,7 +40337,7 @@ msgstr "Welche Communitys" msgid "Which conversations" msgstr "Welche Unterhaltungen" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Solange Push-to-Talk aktiviert ist, steuert deine Tastenkombination dein Mikrofon, daher ist die Stummschaltfläche deaktiviert." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Du hast gerade die Tab-Taste gedrückt. Der Tastaturmodus ist jetzt aktiviert, damit du {productName} ohne Maus navigieren kannst." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Du behältst deine Vorteile bis zum nächsten Verlängerungsdatum. Reaktiviere dein Abo vorher, um deinen Abo-Verlauf zu behalten." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Du verlierst sofort alle {PREMIUM_PRODUCT_NAME}-Vorteile und dein Abonnentenverlauf wird zurückgesetzt. Dies kann nicht rückgängig gemacht werden." @@ -41137,8 +41153,8 @@ msgstr "Du benötigst die Berechtigung \"{permissionLabel}\", um hier Emojis aus msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Du benötigst die Berechtigung \"{permissionLabel}\", um hier Sticker aus anderen Communitys zu verwenden." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Du musst zuerst deinen Account beanspruchen, bevor du eine Community erstellen kannst." @@ -41155,8 +41171,8 @@ msgstr "Du musst deinen Account beanspruchen, um Direktnachrichten senden zu kö msgid "You need to claim your account to send messages in this community." msgstr "Du musst deinen Account beanspruchen, um Nachrichten in dieser Community senden zu können." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Du musst deine E-Mail-Adresse bestätigen, bevor du eine Community erstellen kannst." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 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." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Du wirst als offline angezeigt" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Du wirst jetzt abgerechnet. Deine verbleibende Geschenkzeit wird nach deiner bezahlten Laufzeit hinzugefügt, damit nichts davon verloren geht." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Du hast bereits Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Du sendest Meldungen zu schnell. Versuche es später erneut." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Du bist angemeldet" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Dein Account ist zu neu, um Nachrichten in dieser Community zu senden." msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Deine Accountanfrage wartet auf Genehmigung. Du kannst dich anmelden, nachdem ein Admin sie genehmigt hat." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Für deinen Account ist die Multi-Faktor-Authentifizierung erforderlich, aber auf diesem Gerät sind keine unterstützten Methoden eingerichtet. Melde dich auf einem Gerät mit deiner Authenticator-App oder deinem Sicherheitsschlüssel an oder wende dich an den Support." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Für deinen Account ist die Multi-Faktor-Authentifizierung erforderlich, aber auf diesem Gerät sind keine unterstützten Methoden eingerichtet. Melde dich auf einem Gerät mit deiner Authenticator-App oder deinem Sicherheitsschlüssel an oder wende dich an die Administratoren dieser Instanz." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Deine Konten und Einstellungen wurden nicht geändert oder gelöscht." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Deine Aktion konnte nicht abgeschlossen werden, da sie von unseren Sicherheitssystemen als bedenklich eingestuft wurde. Wenn du glaubst, dass dies ein Fehler ist, kontaktiere bitte den Support." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Deine Aktion konnte nicht abgeschlossen werden, da sie von unseren Sicherheitssystemen als bedenklich eingestuft wurde. Wenn du glaubst, dass dies ein Fehler ist, kontaktiere bitte die Administratoren dieser Instanz." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Dein aktuelles Kit funktioniert nicht mehr, sobald das neue erstellt wurde." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Dein Desktop hat keine systemweiten Tastenkombinationen eingerichtet." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Dein Desktop reserviert diese Tasten für {productName}, sodass andere Apps sie nicht verwenden können." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Dein Desktop reserviert diese Tasten für {productName}, sodass andere Apps sie nicht verwenden können. Um dieselbe Taste in anderen Apps zu verwenden, aktiviere unten den direkten Zugriff auf Eingabegeräte." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Dein Desktop führt diese Tastenkombinationen aus, auch wenn {productName} nicht im Fokus ist." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Deine Geschenkzeit ist abgelaufen. Abonniere, um {premiumProductName} weiterhin nutzen zu können." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Deine Geschenkzeit bleibt erhalten" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Deine Übergangsfrist ist abgelaufen." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Deine Installation ist beschädigt. Bitte installiere die App neu, damit alle Funktionen richtig funktionieren." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Dein letzter Kauf liegt außerhalb des Rückerstattungszeitraums. Kontaktiere den Support bei Abrechnungsproblemen." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Deine Nachricht konnte nicht zugestellt werden, da sie von unseren Sicherheitssystemen als bedenklich eingestuft wurde. Falls du denkst, dass dies ein Fehler ist, kontaktiere bitte den Support." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Deine Nachricht konnte nicht zugestellt werden, da sie von unseren Sicherheitssystemen als bedenklich eingestuft wurde. Falls du denkst, dass dies ein Fehler ist, kontaktiere bitte die Administratoren dieser Instanz." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Deine Nachricht konnte nicht zugestellt werden. Das liegt normalerweise daran, dass du keine gemeinsame Community mit dem Empfänger hast oder der Empfänger Direktnachrichten nur von Freunden akzeptiert. Möglicherweise musst du auch deine eigenen Direktnachrichten-Datenschutzeinstellungen unter {directMessagePrivacySettingsPath} anpassen." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Deine Nachricht konnte nicht zugestellt werden. Du musst deinen Account beanspruchen, um Direktnachrichten senden zu können." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Deine Nachricht konnte nicht zugestellt werden. Du musst deinen Account beanspruchen, um Nachrichten senden zu können." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Deine Meldung wurde nicht gesendet. Versuche es noch einmal." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Deine gespeicherte {savedResolution} mit {savedFrameRate} FPS benötigt {premiumProductName}, daher werden Shares mit {resolution} mit {frameRate} FPS verwendet." diff --git a/fluxer_app/src/features/i18n/locales/el/messages.po b/fluxer_app/src/features/i18n/locales/el/messages.po index c9dd617fd..c44d317de 100644 --- a/fluxer_app/src/features/i18n/locales/el/messages.po +++ b/fluxer_app/src/features/i18n/locales/el/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "Το {domain} εκτελεί νεότερη έκδοση του Fluxer από αυτήν την εφαρμογή. Ενημερώστε το Fluxer και δοκιμάστε ξανά." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} μπροστά από εσάς" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} πίσω από εσάς" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} καρέ/δευτ" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# ώρα πριν} other {# ώρες πριν}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# ώρα} other {# ώρες}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# ώρα} other {# ώρες}} {minutes, plural, one {# λεπτό} other {# λεπτά}}" @@ -1602,7 +1602,7 @@ msgstr "Το αρχείο {label} είναι πολύ μεγάλο. Επιλέξ msgid "{label} images cannot be animated. Use a static image." msgstr "Οι εικόνες για {label} δεν μπορούν να είναι κινούμενες. Χρησιμοποιήστε μια στατική εικόνα." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Σημαία: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# λεπτό πριν} other {# λεπτά πρι #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# λεπτό} other {# λεπτά}}" @@ -1803,15 +1803,15 @@ msgstr "Το {PRODUCT_NAME} βρήκε μια νέα συσκευή εξόδου msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "Το {PRODUCT_NAME} πρέπει να επανεκκινηθεί πριν οι εγγενείς ρυθμίσεις κύλισης του Chromium αλλάξουν τον τρόπο λειτουργίας της κύλισης." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "Το {PRODUCT_NAME} πρέπει να επανεκκινηθεί για να εφαρμοστεί η επιτάχυνση υλικού." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "Το {PRODUCT_NAME} πρέπει να επανεκκινηθεί για να εφαρμοστεί η αλλαγή στη γραμμή τίτλου." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "Το {PRODUCT_NAME} πρέπει να επανεκκινηθεί για να απενεργοποιηθεί η επιτάχυνση υλικού του Chromium. Χρησιμοποιήστε το μόνο αν αντιμετωπίζετε προβλήματα γραφικών ή υψηλή χρήση GPU." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Κυνηγός σφαλμάτων {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "Το {productName} μπορεί να ζητήσει από την επιφάνεια εργασίας σας να εκτελεί τις συντομεύσεις του όταν το {productName} δεν έχει την εστίαση. Η επιφάνεια εργασίας σας θα ζητήσει επιβεβαίωση και θα σας αφήσει να επιλέξετε τα πλήκτρα." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "Το {productName} δεν μπορεί πλέον να διαβάσει το πληκτρολόγιό σας, οπότε ανιχνεύει τις συντομεύσεις μέσω του X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "Το {productName} δεν μπορεί πλέον να διαβάσει το πληκτρολόγιό σας, οπότε χρησιμοποιούνται οι συντομεύσεις της επιφάνειας εργασίας σας." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "Το {productName} δεν μπορεί πλέον να διαβάσει το πληκτρολόγιό σας. Οι συντομεύσεις λειτουργούν μόνο όταν το {productName} έχει την εστίαση." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "Το {productName} μπορεί να καταχωρίσει τις συντομεύσεις του στο Hyprland, ώστε να εκτελούνται όταν το {productName} δεν έχει την εστίαση. Στη συνέχεια, αντιστοιχίζετε τα πλήκτρα στο αρχείο διαμόρφωσης του Hyprland." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "Το {productName} δεν μπορεί να χρησιμοποιήσει κωδικοποιητή υλικού για αυτό, οπότε θα χρησιμοποιήσει την CPU σας." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "Το {productName} κλείνει, εγκαθιστά την ενημέρωση και ανοίγει ξανά." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "Το {productName} δεν μπόρεσε να επικοινωνήσει με την υπηρεσία ενημερώσεων. Ελέγξτε τη σύνδεσή σας και δοκιμάστε ξανά." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "Το {productName} μεταφέρθηκε στο {host}. Ανοίξτε το στο πρόγραμμα περιήγησής σας για να εγκαταστήσετε τη νέα εφαρμογή." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Μέλος του {productName} από" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "Το {productName} χρειάζεται πρόσβαση στο μικρόφωνό σας. Επιτρέψτε την πρόσβαση στο μικρόφωνο στις ρυθμίσεις απορρήτου του λειτουργικού σας συστήματος και επανεκκινήστε την εφαρμογή." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "Το {productName} χρειάζεται πρόσβαση στην κάμερα για να εμφανίσει τις συσκευές σας." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "Το {productName} χρειάζεται πρόσβαση στο μικρόφωνο για να εμφανίσει τις συσκευές σας." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "Κιτ ανάκτησης {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "Το {productName} καταχώρισε τις συντομεύσεις του στο Hyprland. Αντιστοιχίστε τις στο αρχείο διαμόρφωσης του Hyprland για να τις χρησιμοποιείτε όταν το {productName} δεν έχει την εστίαση." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 μήνες (1 έτος)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12ωρο" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 ώρες" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24ωρο" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "ένα όνομα κεντρικού υπολογιστή, π.χ. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Υπάρχει διαθέσιμη ενημέρωση της εφαρμογής για Linux. Επιλέξτε τη μορφή πακέτου για αυτό το σύστημα και το {productName} θα την αποθηκεύσει τοπικά." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "ένα λεπτό" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Υπάρχει διαθέσιμη νέα έκδοση για υπολογιστή. Κατεβάστε το πρόγραμμα εγκατάστασης και εκτελέστε το για να ενημερώσετε το {productName}." @@ -2817,7 +2817,7 @@ msgstr "Σχετικά με το {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Σχετικά με εμένα" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Κοινή χρήση δραστηριοτήτων" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Όριο δραστηριότητας" @@ -3155,7 +3155,7 @@ msgstr "Πραγματικό μέγεθος" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Προσθήκη" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Πρόσθεσε πρώτα ένα όνομα χρήστη και έναν κωδικό πρόσβασης στον λογαριασμό σου." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Προσθήκη λέξης…" @@ -3244,7 +3244,7 @@ msgstr "Προσθέστε ένα κλειδί API YouTube Data για να εμ #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Προσθήκη λογαριασμού" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Διεύθυνση" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Προσαρμόστε κάθε ρύθμιση μόνοι σας: καταστολή θορύβου, ακύρωση ηχούς και ενίσχυση." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Για προχωρημένους" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Προηγμένες ρυθμίσεις βίντεο" @@ -3906,22 +3906,22 @@ msgstr "Έγκριση" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Να επιτρέπονται οι αναφορές {everyoneMention} και {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Να επιτρέψετε στο {PRODUCT_NAME} να έχει πρόσβαση στην κάμερά σας στις Ρυθμίσεις Συστήματος → Απόρρητο & Ασφάλεια → Κάμερα." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Δώστε στο {PRODUCT_NAME} πρόσβαση στο μικρόφωνό σας στις Ρυθμίσεις Συστήματος → Απόρρητο & Ασφάλεια → Μικρόφωνο." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Επιτρέψτε στο {PRODUCT_NAME} να έχει πρόσβαση στο μικρόφωνό σας. Ελέγξτε τη γραμμή διευθύνσεων ή τις ρυθμίσεις του προγράμματος περιήγησής σας." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Να επιτρέψετε το {productName} στην \"Εγγραφή οθόνης\" στις \"Ρυθμίσεις συστήματος\". Αν έχει ήδη επιτραπεί, κάντε επανεκκίνηση του {productName2} για να το εφαρμόσει το macOS." @@ -3961,7 +3961,7 @@ msgstr "Να επιτρέπονται τα απευθείας μηνύματα msgid "Allow bots to send you direct messages?" msgstr "Να επιτρέπεται στα bot να σου στέλνουν απευθείας μηνύματα;" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Να επιτρέπεται η κάμερα" @@ -4029,7 +4029,7 @@ msgstr "Να επιτρέπεται στα μέλη χωρίς το δικαίω msgid "Allow mentions for this role" msgstr "Να επιτρέπονται οι αναφορές για αυτόν τον ρόλο" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Να επιτρέπεται το μικρόφωνο" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Να υπογραμμίζονται πάντα οι σύνδεσμοι" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Να χρησιμοποιούνται πάντα τα λεξικά Hunspell του {productName}, τα οποία λαμβάνονται κατ' απαίτηση." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Σήμα στο εικονίδιο της εφαρμογής" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Μορφή ώρας της γλώσσας της εφαρμογής: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Απαιτείται έγκριση" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Εγκρίνετε αυτήν την εφαρμογή από την εφαρμογή {productName} που ήδη χρησιμοποιείτε. Δεν χρειάζεται κωδικός πρόσβασης." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Εξουσιοδοτήθηκε στις {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Αυτόματα" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Αυτόματη ανίχνευση γλώσσας" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Αυτόματη ρύθμιση ορίου δραστηριότητας" @@ -5534,7 +5534,7 @@ msgstr "AV1 (απαιτείται ενεργοποίηση)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Διαθέσιμο" @@ -5608,11 +5608,11 @@ msgstr "Απών τώρα" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Καλύτερη συμπίεση. Χρησιμοποιήστε το μόνο όταν το WebRTC εκθέτει κωδικοποιητή και η αναφορά GPU δείχνει ότι υποστηρίζεται από υλικό." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Καλύτερα με την εφαρμογή υπολογιστή" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Πρόγραμμα περιήγησης: αρχική σελίδα" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Μορφή ώρας του προγράμματος περιήγησης: {format}" @@ -6545,8 +6545,8 @@ msgstr "Αγοράστε ένα δώρο {premiumProductName} από την κα msgid "Buy gift" msgstr "Αγορά δώρου" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Δημιουργώντας μια κοινότητα, συμφωνείτε να ακολουθείτε και να τηρείτε τις <0>οδηγίες κοινότητας του {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Κλήσεις" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Προεπισκόπηση κάμερας" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Ποιότητα κάμερας" @@ -6809,8 +6809,8 @@ msgstr "Δεν μπορείτε να ανεβάσετε αρχεία εδώ" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Ακύρωση προγραμματισμένης αλλαγής" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Ακύρωση συνδρομής" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Ακύρωση συνδρομής;" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Κατηγορία" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Προειδοποίηση περιεχομένου κατηγορίας" @@ -7131,15 +7131,15 @@ msgstr "Αλλαγή ψευδώνυμου στην ομάδα" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Αλλαγή εικονιδίου" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Αλλαγή στις ρυθμίσεις συστήματος" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Σήματα καναλιού" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Προειδοποίηση περιεχομένου καναλιού" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Συντομεύσεις συνομιλίας" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Νέος έλεγχος" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Έλεγχος πρόσβασης..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Έλεγχος της άδειας εγγραφής οθόνης..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Η ολοκλήρωση αγοράς δεν είναι διαθέσιμη" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Επίλεξε πώς θέλεις να πληρώσεις για αυτήν τη συνδρομή." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Επιλέξτε τρόπο πληρωμής" @@ -8174,7 +8174,7 @@ msgstr "Επιλέξτε τις προεπιλογές σας" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Επιλέξτε την παρουσία σας" @@ -8216,8 +8216,8 @@ msgstr "Παραλαβή δώρου" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Διεκδικήστε τον λογαριασμό σας" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Σήματα κοινότητας" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Προειδοποίηση περιεχομένου κοινότητας" @@ -9089,8 +9089,8 @@ msgstr "DM κοινότητας" msgid "Community filter" msgstr "Φίλτρο κοινότητας" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Εικονίδιο κοινότητας" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Η κοινότητα ενημερώθηκε" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Φωνητικό κοινότητας" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Ολοκλήρωση πληρωμής" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Ολοκληρώστε τον έλεγχο περιεχομένου ενηλίκων για να ξεκλειδώσετε πολυμέσα ενηλίκων." @@ -9409,7 +9409,7 @@ msgstr "Επιβεβαίωση" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Επιβεβαίωση πριν την είσοδο σε φωνητικά κανάλια" @@ -9457,7 +9457,7 @@ msgstr "Επιβεβαιώστε τη δήλωση για να στείλετε #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Επιβεβαίωση εισόδου σε φωνητικό κανάλι" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Επιβεβαίωση" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Επιβεβαίωση ή διπλό κλικ για συμμετοχή σε φωνητικά κανάλια της κοινότητας" @@ -9476,7 +9476,7 @@ msgstr "Επιβεβαίωση ή διπλό κλικ για συμμετοχή msgid "Conflicts with {conflictLabel}" msgstr "Συγκρούεται με {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Συνδέστε μια κάμερα και δοκιμάστε ξανά." @@ -9489,7 +9489,7 @@ msgstr "Συνδέστε μια κάμερα ή μια συσκευή εικον msgid "Connect a display, then try again." msgstr "Συνδέστε μια οθόνη και δοκιμάστε ξανά." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Συνδέστε ένα μικρόφωνο και δοκιμάστε ξανά." @@ -9633,7 +9633,7 @@ msgstr "Σύνδεση: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Επαφή" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Το περιεχόμενο αποκλείστηκε" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Συνέχεια στο πρόγραμμα περιήγησής σας" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Συνέχεια στο ταμείο" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Συνέχεια με κλειδί πρόσβασης" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Αντιγραφή URL πρόσκλησης" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Αντιγραφή γραμμών" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Αντιγραφή γραμμών για το hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Αντιγραφή γραμμών για το hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Δεν ήταν δυνατή η αλλαγή της τιμής σας" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Δεν ήταν δυνατός ο έλεγχος για ενημερώσεις" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Δεν ήταν δυνατή η διαγραφή των μηνυμάτων σας" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Δεν ήταν δυνατή η λήψη της ενημέρωσης για υπολογιστές" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Δεν ήταν δυνατή η έναρξη της ολοκλήρωσης αγοράς" @@ -10932,7 +10932,7 @@ msgstr "Δημιουργία και κοινή χρήση" msgid "Create a community" msgstr "Δημιουργία κοινότητας" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Δημιουργήστε μια κοινότητα για να συνομιλείτε με τους φίλους σας." @@ -11365,7 +11365,7 @@ msgstr "Προσαρμοσμένη πηγή" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Σε σίγαση ήχου από συντονιστές" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "Πακέτο DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Εφαρμογή υπολογιστή" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Η εφαρμογή υπολογιστή είναι ενημερωμένη" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Διαθέσιμη ενημέρωση {version} για υπολογιστή. Επιλέξτε πακέτο Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Διαθέσιμη ενημέρωση για υπολογιστή" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Διαθέσιμη ενημέρωση για υπολογιστή. Επιλέξτε πακέτο Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Η έκδοση {version} για υπολογιστή είναι διαθέσιμη. Κατεβάστε το πρόγραμμα εγκατάστασης και εκτελέστε το για να ενημερώσετε το {productName}." @@ -12613,7 +12613,7 @@ msgstr "Λεπτομέρειες: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Αυτόματη ανίχνευση κατά την πληκτρολόγηση" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Τα εργαλεία προγραμματιστή δεν είναι διαθέσιμα" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Έκδοση ανάπτυξης" @@ -13455,8 +13455,8 @@ msgstr "Λήψη" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Λήψη του {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification και τοποθετήστε το στον φάκελο <1>.well-known, ώστε να μπορούμε να επικυρώσουμε τον τομέα." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Λήψη εφαρμογής" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Λήψη εφαρμογής" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Κουμπί λήψης" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Λήψη εφαρμογής για υπολογιστή" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Λήψη εικόνας" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Λήψη προγράμματος εγκατάστασης" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Λήψη πολυμέσων" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Λήψη πακέτου" @@ -13655,11 +13655,11 @@ msgstr "Απόθεση αντικειμένου" msgid "Drop to upload background" msgstr "Αποθέστε για μεταφόρτωση φόντου" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Λόγω των νόμων για το περιεχόμενο ενηλίκων στην περιοχή {regionName}, το περιεχόμενο ενηλίκων είναι αποκλεισμένο μέχρι να ολοκληρώσετε τον έλεγχο περιεχομένου ενηλίκων." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Λόγω των νόμων περί περιεχομένου ενηλίκων στην περιοχή {regionName}, το περιεχόμενο ενηλίκων δεν είναι διαθέσιμο από εδώ. Οι έλεγχοι περιεχομένου ενηλίκων είναι διαθέσιμοι μόνο στο Ηνωμένο Βασίλειο." @@ -13673,7 +13673,7 @@ msgstr "Λόγω των νόμων περί περιεχομένου ενηλί msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Λόγω των νόμων περί περιεχομένου ενηλίκων στην περιοχή {regionName}, αυτό το περιεχόμενο δεν είναι διαθέσιμο από εδώ. Οι έλεγχοι περιεχομένου ενηλίκων είναι διαθέσιμοι μόνο στο Ηνωμένο Βασίλειο." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Λόγω των νόμων περί περιεχομένου ενηλίκων στην περιοχή {regionName}, αυτό το αρχείο πολυμέσων δεν είναι διαθέσιμο από την τρέχουσα περιοχή σας." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Κάθε κωδικός λειτουργεί μία φορά στη θέση της εφαρμογής ελέγχου ταυτότητας." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Κάθε πλήκτρο μπορεί να εκτελεί μόνο μία συντόμευση σε όλο το σύστημα." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Ενεργοποίηση" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Ενεργοποίηση άδειας {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Ενεργοποίηση συντόμευσης" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Ενεργοποίηση ορθογραφικού ελέγχου" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Τερματισμός περιόδου χάριτος τώρα" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Τερματισμός περιόδου χάριτος" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Να τερματιστεί τώρα η περίοδος χάριτος;" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Εισαγάγετε τον κωδικό PIN για το κλειδί ασφαλείας σας, ώστε να συνεχίσετε." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Εισάγετε αυτόν τον κωδικό στο πρόγραμμα περιήγησής σας" @@ -14845,7 +14845,7 @@ msgstr "Εισάγετε αυτόν τον κωδικό στο πρόγραμμ msgid "Enter this code in your browser to complete sign-in." msgstr "Πληκτρολογήστε αυτόν τον κωδικό στο πρόγραμμα περιήγησής σας για να ολοκληρώσετε τη σύνδεση." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Εισαγάγετε αυτόν τον κωδικό στην παλιά σας εφαρμογή {PRODUCT_NAME} για να ολοκληρώσετε τη σύνδεση." @@ -14916,7 +14916,7 @@ msgstr "Ήχος ολόκληρου του συστήματος" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Ήχος εισόδου" @@ -15026,7 +15026,7 @@ msgstr "Βράδυ" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Εξομαλύνει την ένταση του μικροφώνου σας, ώστε να μην ακούγεστε πολύ σιγά." @@ -15249,7 +15249,7 @@ msgstr "Λήγει μεταξύ {earliest} και {latest}" msgid "Expires in {remaining}s" msgstr "Λήγει σε {remaining} δευτ." -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Λήγει σε {remainingSeconds} δευτ." @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Προσθήκη καναλιού στα αγαπημένα" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Αγαπημένα κανάλια" @@ -16243,7 +16243,7 @@ msgstr "Για {threeHours} ώρες" msgid "For {twentyFourHours} hours" msgstr "Για {twentyFourHours} ώρες" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Μόνο για βρετανικά μάτια..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Για μένα" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Για τη λειτουργία push to mute, χρησιμοποιήστε ένα μόνο πλήκτρο χωρίς Ctrl, Alt ή Shift. Αν χρησιμοποιείτε συνδυασμό, αφήνετε πρώτα το κύριο πλήκτρο, αλλιώς το μικρόφωνο μπορεί να παραμείνει σε σίγαση." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Για τη λειτουργία push-to-talk, χρησιμοποιήστε ένα μόνο πλήκτρο χωρίς Ctrl, Alt ή Shift. Αν χρησιμοποιείτε συνδυασμό, αφήνετε πρώτα το κύριο πλήκτρο, αλλιώς το μικρόφωνο μπορεί να παραμείνει ανοιχτό." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Για αυτή τη συντόμευση, χρησιμοποιήστε ένα μόνο πλήκτρο χωρίς Ctrl, Alt ή Shift. Αν χρησιμοποιείτε συνδυασμό, αφήνετε πρώτα το κύριο πλήκτρο, αλλιώς η συντόμευση μπορεί να παραμείνει ενεργή." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Για την Προτεραιότητα φωνητικής δραστηριότητας, χρησιμοποιήστε ένα μόνο πλήκτρο χωρίς Ctrl, Alt ή Shift. Αν χρησιμοποιείτε συνδυασμό, αφήνετε πρώτα το κύριο πλήκτρο, αλλιώς η προτεραιότητα μπορεί να παραμείνει ενεργή." @@ -16460,14 +16460,14 @@ msgstr "Πλαίσιο παραθύρου" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Ρυθμός καρέ" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Οι ρυθμοί καρέ πάνω από 30 FPS απαιτούν {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Λάβετε ειδοποιήσεις όταν λαμβάνετε μηνύματα. Ίσως χρειαστεί να επιτρέψετε τις ειδοποιήσεις στις ρυθμίσεις του προγράμματος περιήγησής σας. Για έλεγχο ανά κανάλι/κοινότητα, κάντε δεξί κλικ σε ένα εικονίδιο κοινότητας και ανοίξτε τις ρυθμίσεις ειδοποιήσεων." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Αποκτήστε την εφαρμογή υπολογιστή {productName} για push-to-talk σε όλο το σύστημα και μερικά άλλα καλούδια." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Κατεβάστε την εφαρμογή υπολογιστή" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Επιστρέψτε στο {productName} για να συνεχίσετε." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Επιστροφή στην εφαρμογή {PRODUCT_NAME}. Ολοκληρώνει τη σύνδεση μόνη της." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Επιστροφή στην εφαρμογή {PRODUCT_NAME}. Μπορείς να κλείσεις αυτή την καρτέλα." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Βοήθεια" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Κουμπί βοήθειας" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Κέντρο βοήθειας" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Κέντρο βοήθειας" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Βοηθήστε στη μετάφραση του {PRODUCT_NAME} στη γλώσσα σας στο <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Απόκρυψη συνομιλίας" msgid "Hide community owner crown" msgstr "Απόκρυψη στέμματος ιδιοκτήτη κοινότητας" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Απόκρυψη κουμπιού λήψης" @@ -17860,7 +17860,7 @@ msgstr "Απόκρυψη αγαπημένων" msgid "Hide guidelines" msgstr "Απόκρυψη οδηγιών" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Απόκρυψη κουμπιού κέντρου βοήθειας" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Απόκρυψη μηνυμάτων εισόδου" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Απόκρυψη υποδείξεων πληκτρολογίου" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Υπερσύνδεσμος" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Το Hyprland δεν έχει παράθυρο συντομεύσεων. Προσθέστε τις γραμμές για την έκδοση του Hyprland σας στο αρχείο διαμόρφωσης του Hyprland και αντικαταστήστε το KEY με το πλήκτρο που θέλετε." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Το Hyprland δεν έχει παράθυρο συντομεύσεων. Αντιστοιχίστε τα πλήκτρα στο αρχείο διαμόρφωσης του Hyprland." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (πριν το Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 και νεότερες εκδόσεις)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Επιβεβαιώνω καλή τη πίστει ότι οι πληροφορίες και οι ισχυρισμοί σε αυτήν την αναφορά είναι ακριβείς και πλήρεις." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Καταλαβαίνω" @@ -18598,11 +18598,11 @@ msgstr "Γίνεται εισαγωγή… {processedCount, number} / {totalCoun msgid "In" msgstr "Σε" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "Στη λειτουργία \"Λειτουργικό σύστημα\", τα λεξικά που αναφέρονται παραπάνω είναι ενδεικτικά. Το {PRODUCT_NAME} θα περάσει αυτές τις ετικέτες γλώσσας στον ορθογραφικό έλεγχο του λειτουργικού σας συστήματος, εφόσον υποστηρίζεται. Οι ετικέτες που δεν αναγνωρίζει αγνοούνται." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "Σε ένα πρόγραμμα περιήγησης, η λειτουργία push-to-talk λειτουργεί μόνο όταν η καρτέλα {PRODUCT_NAME} είναι ενεργή. Εγκαταστήστε την εφαρμογή υπολογιστή για push-to-talk σε όλο το σύστημα." @@ -18650,7 +18650,7 @@ msgstr "Σε φωνητική συνομιλία" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Λεξικά εντός εφαρμογής" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Εισαγωγή" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Είσοδος και έξοδος" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Εισαγωγή emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Εγκαταστήστε το {productName} για τον πλήρη επιλογέα πηγών και πιο ομαλά χειριστήρια κοινής χρήσης οθόνης." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Εγκατάσταση της νέας εφαρμογής" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Εγκατεστημένο" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Εγκατεστημένη έκδοση: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Διεπαφή" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Γλώσσα διεπαφής" @@ -19467,13 +19467,13 @@ msgstr "Συμμετοχή" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Συμμετοχή στο {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Εγγραφείτε στην κοινότητα {communityName} για να συνομιλήσετε με την ομάδα και να μείνετε ενημερωμένοι." @@ -19561,7 +19561,7 @@ msgstr "Συμμετοχή σε βιντεοκλήση" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Συμμετοχή σε φωνητική συνομιλία" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Διατήρησε δωρεάν και premium βαθμίδες. Μπορείς να προσαρμόσεις τις βαθμίδες, να πουλήσεις premium μέσω Stripe ή να διανείμεις κωδικούς δώρου αργότερα από τον πίνακα διαχειριστή." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Διατήρηση περιόδου χάριτος" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Παραμονή σε λειτουργία" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Διατήρηση συνδρομής" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Κρατήστε αυτή τη σελίδα κάπου ασφαλή. Αν ξεχάσετε τον κωδικό πρόσβασής σας, μπορείτε να τη χρησιμοποιήσετε για να επανέλθετε στον λογαριασμό σας. Οποιοσδήποτε έχει αυτό το κλειδί ανάκτησης μπορεί να επαναφέρει τον κωδικό πρόσβασής σας, οπότε μην το μοιράζεστε ποτέ." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Συνεχίζει τη μετάδοση για λίγο αφού αφήσετε το πλήκτρο." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Πληκτρολόγιο" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Δεν ήταν δυνατή η έναρξη της πρόσβασης στο πληκτρολόγιο. Οι συντομεύσεις λειτουργούν μόνο όταν το {productName} έχει την εστίαση." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Λειτουργία πληκτρολογίου" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Υποδείξεις συντομεύσεων πληκτρολογίου στις επεξηγήσεις" @@ -19923,7 +19923,7 @@ msgstr "Ρυθμίσεις γλώσσας" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Γλώσσες" @@ -19971,7 +19971,7 @@ msgstr "Γράφημα καθυστέρησης" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Επέτρεψε στο μέλος να ακούει ξανά τους άλλους σε αυτήν την κοινότητα" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Επιτρέπει στο {productName} να διαβάζει απευθείας το πληκτρολόγιό σας. Απενεργοποιήστε το για να ρυθμίσετε συντομεύσεις μέσω της επιφάνειας εργασίας σας." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Επιτρέπει στο {productName} να διαβάζει απευθείας το πληκτρολόγιό σας. Το σύστημά σας το επιτρέπει ήδη." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Προεπιλεγμένη συσκευή Linux" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Πακέτο Linux" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Τοπικά αρχεία" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Τοπική ώρα" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Εμφάνιση και αίσθηση" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Φαίνεται ότι χρησιμοποιείτε {0}. Η προσθήκη της επεξεργασίας του {PRODUCT_NAME} από πάνω μπορεί να προκαλέσει διακυμάνσεις έντασης ή παραμόρφωση. Η άμεση είσοδος περνάει τον ήχο σας χωρίς επεξεργασία." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Ορισμός ως κατόχου ομάδας" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Βεβαιωθείτε ότι αυτός ο κωδικός ταιριάζει με αυτόν στην εφαρμογή {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Διαχείριση συνδρομής" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Μη αυτόματη ενημέρωση εφαρμογής υπολογιστή" @@ -21145,15 +21145,15 @@ msgstr "Μασαχουσέτη" msgid "Master volume" msgstr "Κύρια ένταση" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Κατηγορία ενηλίκων" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Κανάλι ενηλίκων" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Κοινότητα ενηλίκων" @@ -21194,7 +21194,7 @@ msgstr "Ο έλεγχος περιεχομένου ενηλίκων εστάλη #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Οι έλεγχοι περιεχομένου ενηλίκων είναι προς το παρόν διαθέσιμοι μόνο στο Ηνωμένο Βασίλειο." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Οι ρόλοι του μέλους ενημερώθηκαν" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Μέλος από" @@ -22013,7 +22013,7 @@ msgstr "Μικρόφωνο" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Δοκιμή μικροφώνου" @@ -22127,7 +22127,7 @@ msgstr "Μινεσότα" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Γάτα Neko που κυνηγά τον κέρσορά σου" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Οι νέοι χρήστες δεν μπορούν να εγγραφούν αυτήν τη στιγμή. Μπορείτε να δημιουργήσετε έναν λογαριασμό ή να συνδεθείτε και να δοκιμάσετε ξανά αυτόν τον σύνδεσμο αργότερα." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Νέα έκδοση" @@ -23465,7 +23465,7 @@ msgstr "Χωρίς σελιδοδείκτες" msgid "No bot banner" msgstr "Χωρίς banner bot" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Δεν βρέθηκε κάμερα" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Χωρίς περιγραφή." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Δεν υπάρχει διαθέσιμη ενημέρωση για την εφαρμογή υπολογιστή." @@ -23684,7 +23684,7 @@ msgstr "Δεν βρέθηκαν αντίστοιχες δημοσιεύσεις" msgid "No mentions yet" msgstr "Δεν υπάρχουν αναφορές ακόμα" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Δεν βρέθηκε μικρόφωνο" @@ -23731,7 +23731,7 @@ msgstr "Δεν υπάρχουν εκκρεμή αιτήματα που να τα msgid "No permissions found" msgstr "Δεν βρέθηκαν δικαιώματα" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Δεν υπάρχουν ακόμα προσωπικές λέξεις." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Δεν επιτρέπεται" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Δεν έχει οριστεί" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Με κλικ" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "Στη συσκευή σας, συνδεθείτε στη διεύθυνση {signInAddress} και εισαγάγετε αυτόν τον κωδικό όταν σας ζητηθεί." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Άνοιγμα {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Άνοιγμα {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Άνοιγμα εναλλάκτη λογαριασμού" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Άνοιγμα προηγμένων ρυθμίσεων πολυμέσων" @@ -24788,7 +24788,7 @@ msgstr "Άνοιγμα επιλογών banner" msgid "Open bookmarks" msgstr "Άνοιγμα σελιδοδεικτών" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Άνοιγμα προγράμματος περιήγησης" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Άνοιγμα επιλογέα ημερομηνίας" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Άνοιγμα λήψεων για υπολογιστή" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Άνοιγμα ρυθμίσεων" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Άνοιγμα κέντρου λογισμικού" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Άνοιγμα Ρυθμίσεων Συστήματος" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Άνοιξε τις Ρυθμίσεις Συστήματος → Απόρρητο & Ασφάλεια → Εγγραφή Οθόνης, και έπειτα επέτρεψε το {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Άνοιγμα JSON προτύπου" @@ -25089,7 +25089,7 @@ msgstr "Άνοιγμα JSON προτύπου" msgid "Open the context menu" msgstr "Άνοιγμα του μενού περιβάλλοντος" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Ανοίξτε τον παρακάτω σύνδεσμο στο πρόγραμμα περιήγησής σας, μετά αντιγράψτε ολόκληρη την απόκριση JSON και επικολλήστε την στο πλαίσιο." @@ -25167,11 +25167,11 @@ msgstr "Άνοιγμα ρυθμίσεων φωνής και βίντεο" msgid "Open with {accountName} on {instanceName}" msgstr "Άνοιγμα με {accountName} στο {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Ανοίξτε το πρόγραμμα περιήγησής σας, συνδεθείτε και, στη συνέχεια, εισαγάγετε τον παρακάτω κωδικό για να συνδέσετε τον λογαριασμό σας." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Ανοίξτε την παλιά σας εφαρμογή {PRODUCT_NAME}, επιλέξτε «Σύνδεση νέας συσκευής» και, στη συνέχεια, εισαγάγετε τον παρακάτω κωδικό." @@ -25199,7 +25199,7 @@ msgstr "Ανοίγει τη σελίδα Μέλη. Πατήστε το Διάσ #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Λειτουργικό σύστημα" @@ -25629,7 +25629,7 @@ msgstr "Τελευταίες 7 ημέρες" msgid "Paste" msgstr "Επικόλληση" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Επικολλήστε ένα URL προτύπου {theOtherPlatform} για να εισαγάγετε τη δομή του σε μια νέα κοινότητα." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Δικαιώματα για {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Προσωπικό λεξικό" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Επίλεξε τουλάχιστον μία ετικέτα για αυτήν την ανάρτηση." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Επιλέξτε ένα ή περισσότερα λεξικά. Γίνονται δεκτές λέξεις από οποιοδήποτε επιλεγμένο λεξικό, κάτι που είναι χρήσιμο για πολύγλωσσες συνομιλίες." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Οι τιμές φορτώνονται ακόμα." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Οι αγορές δεν είναι διαθέσιμες" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Πλήκτρο «Push to talk»" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Push-to-talk" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Push-to-talk (περιορισμένο)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Η λειτουργία push-to-talk δεν έχει ακόμα πλήκτρο σε όλο το σύστημα. Για να ορίσετε ένα, μεταβείτε στις Ρυθμίσεις > Εφαρμογές > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Η λειτουργία push-to-talk δεν έχει ακόμα πλήκτρο σε όλο το σύστημα. Για να ορίσετε ένα, μεταβείτε στις Ρυθμίσεις συστήματος > Πληκτρολόγιο > Συντομεύσεις > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Η λειτουργία push-to-talk δεν έχει ακόμα πλήκτρο σε όλο το σύστημα. Για να ορίσετε ένα, ανοίξτε τις ρυθμίσεις συντομεύσεων πληκτρολογίου της επιφάνειας εργασίας σας." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Η λειτουργία push-to-talk αγνοείται στην άμεση εισαγωγή. Μεταβείτε σε εστιασμένη φωνή ή προσαρμοσμένη για να τη χρησιμοποιήσετε." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Η λειτουργία push-to-talk είναι ενεργή. Κρατήστε πατημένο το πλήκτρο push-to-talk για να μιλήσετε." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Η λειτουργία push-to-talk λειτουργεί μόνο όταν το {productName} έχει την εστίαση, επειδή η επιφάνεια εργασίας σας δεν ρύθμισε συντομεύσεις σε όλο το σύστημα." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Το push-to-talk λειτουργεί μόνο όσο το {productName} είναι ενεργό, μέχρι να ενεργοποιηθεί η {permissionName}." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Η λειτουργία push-to-talk λειτουργεί μόνο όταν το {productName} έχει την εστίαση, μέχρι να ρυθμίσετε συντομεύσεις σε όλο το σύστημα." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Η λειτουργία push-to-talk λειτουργεί μόνο όταν η καρτέλα του προγράμματος περιήγησης είναι εστιασμένη." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Η λειτουργία push-to-talk θα χρησιμοποιεί το πλήκτρο που έχετε ορίσει στο {productName}. Ορίστε πρώτα ένα, αλλιώς το μικρόφωνό σας θα λειτουργεί με φωνητική δραστηριότητα." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Η λειτουργία push-to-talk δεν θα καταργήσει τη σίγαση του μικροφώνου σας όσο έχετε σίγαση ήχου. Καταργήστε τη σίγαση ήχου για να μιλήσετε." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Η λειτουργία push-to-talk λειτουργεί εκτός του {productName} μόνο αφού την αντιστοιχίσετε στο αρχείο διαμόρφωσης του Hyprland." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Η λειτουργία push-to-talk λειτουργεί εκτός του {productName} μόνο αφού την αντιστοιχίσετε στο αρχείο διαμόρφωσης του Hyprland. Προσθέστε τη γραμμή για την έκδοση του Hyprland σας και αντικαταστήστε το KEY με το πλήκτρο που θέλετε." @@ -27533,12 +27533,12 @@ msgstr "Οι παραλήπτες θα μεταφερθούν στο {0} <0>{1}< #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Προτεινόμενο" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Προτείνεται. Καθαρίζει το μικρόφωνό σας για καθαρή ομιλία." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Η επανασύνδεση ήταν επιτυχής. Επιλέξτε ξανά μια οθόνη, αν θέλετε να συνεχίσετε την προηγούμενη ροή σας." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Επανασύνδεση στην επιφάνεια εργασίας σας…" @@ -27836,7 +27836,7 @@ msgstr "Επανεκκίνηση για εφαρμογή" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Καθυστέρηση απελευθέρωσης" @@ -27853,7 +27853,7 @@ msgstr "Σχετικά" msgid "Reload" msgstr "Επαναφόρτωση" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Επαναφορτώστε το {PRODUCT_NAME} για να εφαρμοστεί πλήρως η αλλαγή μηχανισμού. Η εναλλαγή μεταξύ του ορθογραφικού ελέγχου εντός εφαρμογής και εκείνου του συστήματος απαιτεί επαναφόρτωση του renderer, επειδή το Electron δεν μπορεί να αλλάξει παρόχους ενώ εκτελείται." @@ -27872,7 +27872,7 @@ msgstr "Επαναφορτώστε το {productName} για να χρησιμο msgid "Reload app" msgstr "Επαναφόρτωση εφαρμογής" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Επανεκκίνηση τώρα" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Αφαίρεση" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Αφαίρεση \"{word}\" από το λεξικό" @@ -28086,8 +28086,8 @@ msgstr "Αφαίρεση από τα αγαπημένα GIF που αποθηκ #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Αφαίρεση εικονιδίου" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Σειρές ανά σελίδα" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "Πακέτο RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Ασφάλεια" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Ίδια ώρα με εσάς" @@ -29770,7 +29770,7 @@ msgstr "Εγγραφή οθόνης" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Απαιτείται άδεια εγγραφής οθόνης" @@ -29858,7 +29858,7 @@ msgstr "Απόρρητο κοινής χρήσης οθόνης" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Ποιότητα κοινής χρήσης οθόνης" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Αναζήτηση κωδικού γλώσσας…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Αναζήτηση γλωσσών…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Επιλογή GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Επιλέξτε γλώσσα διεπαφής" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Επιλέξτε τον λογαριασμό με τον οποίο θέλετε να συνδεθείτε στη νέα σας συσκευή." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Επιλέξτε λειτουργία επεξεργασίας φωνής" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Στέλνει ακατέργαστο ήχο μικροφώνου χωρίς επεξεργασία." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Στέλνει τον ήχο σας χωρίς επεξεργασία. Ιδανικό αν χρησιμοποιείτε εξωτερικό λογισμικό ήχου." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Ορίστηκε θέση στη λίστα μελών για τον ρόλο" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Ορίζεται από την προεπιλογή {preset}. Η επιλογή μιας τιμής εδώ θα αλλάξει σε Προσαρμοσμένη." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Ορίστηκε η περιοχή φωνής σε αυτόματη" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Ρύθμιση" @@ -31307,7 +31307,7 @@ msgstr "Κοινοποίηση σε φίλο" msgid "Share your screen" msgstr "Κοινοποίηση οθόνης" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Κοινοποιήστε την οθόνη σας σε υψηλή ευκρίνεια (1080p), quad HD (1440p) ή εγγενή ανάλυση πηγής, έως 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Κωδικοί emoji" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Συντόμευση" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Σήματα συντομεύσεων" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Εμφάνιση κουμπιού αγαπημένων" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Εμφάνιση των αγαπημένων σε όλη την εφαρμογή" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Σύνδεση μέσω του προγράμματος περιήγησής σας" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Σύνδεση με την παλιά σας εφαρμογή {productName}" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Αποσύνδεση;" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Ακύρωση σύνδεσης" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Στοιχεία σύνδεσης" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Ροή σύνδεσης" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Σύνδεση ως {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Συνδέεστε σε άλλη συσκευή;" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Κάτι πήγε στραβά κατά την έναρξη της ολοκλήρωσης αγοράς. Δοκιμάστε ξανά σε λίγο." @@ -32812,7 +32812,7 @@ msgstr "Ήχοι" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Ταχύτητα" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Ορθογραφικός έλεγχος" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Μηχανή ορθογραφικού ελέγχου" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Αγαπημένα GIF" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Αγαπημένα κανάλια" @@ -33140,7 +33140,7 @@ msgstr "Να ξεκινήσει μια φωνητική κλήση;" msgid "Start call" msgstr "Έναρξη κλήσης" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Έναρξη δοκιμής κάμερας και διαμόρφωση εφέ" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Έναρξη ελαχιστοποιημένο" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Εκκίνηση" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Στατικό Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Γίνεται ακόμα ευρετηρίαση — δοκιμάστε ξανά σε λίγο" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Ακίνητο Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Αναμένεται ακόμα η πρόσβαση εγγραφής οθόνης" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Διακοπή δοκιμής μικροφώνου" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Σταματά το Neko να κυνηγά τον κέρσορά σας, διατηρώντας τη δυνατότητα μεταφοράς και αλληλεπίδρασης." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Η συνδρομή υπάρχει ήδη" @@ -33957,7 +33957,7 @@ msgstr "Εναλλαγή σε άνετη διάταξη" msgid "Switch to dense layout" msgstr "Εναλλαγή σε συμπαγή διάταξη" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Εναλλαγή σε απευθείας εισαγωγή" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "Τα DM συστήματος δεν μπορούν να φιλοξενήσουν φωνητικές κλήσεις." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Μορφή ώρας του συστήματος: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Περιοχή ειδοποιήσεων" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Εγκατάσταση διαχειριζόμενη από το σύστημα" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Συντομεύσεις σε όλο το σύστημα" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Δεν ήταν δυνατή η ρύθμιση των συντομεύσεων σε όλο το σύστημα." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Πατήστε για προσθήκη σημείωσης" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "Αρχείο tar.gz" @@ -34360,7 +34360,7 @@ msgstr "Σήμα στη γραμμή εργασιών" msgid "Teleporting you to another voice region..." msgstr "Σας μεταφέρουμε σε άλλη περιοχή φωνής..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Πρότυπο" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "Η εφαρμογή {PRODUCT_NAME} στη συσκευή σας δείχνει \"Σύνδεση σε άλλη συσκευή\". Εισαγάγετε μόνο έναν κωδικό από μια συσκευή που ελέγχετε." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "Η εφαρμογή {PRODUCT_NAME} δεν συνδέθηκε. Μπορείτε να κλείσετε αυτήν την καρτέλα." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Η κοινότητα που ψάχνετε μπορεί να έχει διαγραφεί ή να μην έχετε πρόσβαση σε αυτήν." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Δεν ήταν δυνατή η λήψη της ενημέρωσης για την εφαρμογή υπολογιστή. Δοκιμάστε ξανά από το κουμπί ενημέρωσης όταν η σύνδεσή σας είναι σταθερή." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Το αρχείο που κατεβάσατε έχει αποθηκευτεί στον υπολογιστή σας. Εγκαταστήστε το με τον συνηθισμένο διαχειριστή πακέτων σας." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Αυτή η κατηγορία περιέχει ήδη τον μέγιστο αριθμό των {maxChannelsPerCategory} καναλιών." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Αυτή η κατηγορία έχει επισημανθεί για περιεχόμενο ενηλίκων και ενδέχεται να περιέχει υλικό που μπορεί να είναι ακατάλληλο για ορισμένους χρήστες." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Αυτό το κανάλι έχει προειδοποίηση περιεχομένου. Οι ενημερώσεις μπορούν να σταλούν μόνο σε κανάλια με προειδοποίηση περιεχομένου ή περιορισμό ηλικίας." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Αυτό το κανάλι έχει επισημανθεί για περιεχόμενο ενηλίκων και ενδέχεται να περιέχει υλικό που μπορεί να είναι ακατάλληλο για ορισμένους χρήστες." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Αυτή η κοινότητα είναι πλήρης" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Αυτή η κοινότητα έχει επισημανθεί για περιεχόμενο ενηλίκων και ενδέχεται να περιέχει υλικό που μπορεί να είναι ακατάλληλο για ορισμένους χρήστες." @@ -35324,14 +35324,14 @@ msgstr "Αυτή η κοινότητα δεν είναι πλέον διαθέσ #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Αυτή η σύνδεση έχει επαληθευτεί." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Αυτή η σύνδεση δεν έχει επαληθευτεί." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Αυτή η συνομιλία δεν είναι πλέον διαθέσιμη." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Αυτή η έκδοση για υπολογιστές δεν μπορεί να εγκαταστήσει ενημερώσεις μέσα από το {productName}. Κατεβάστε το πιο πρόσφατο πρόγραμμα εγκατάστασης για υπολογιστές." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Αυτή η επιφάνεια εργασίας δεν προσφέρει συντομεύσεις σε όλο το σύστημα. Η λειτουργία push-to-talk λειτουργεί μόνο όταν το {productName} έχει την εστίαση." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Αυτή η επιφάνεια εργασίας δεν προσφέρει συντομεύσεις σε όλο το σύστημα. Οι συντομεύσεις εξακολουθούν να λειτουργούν όσο το {productName} έχει την εστίαση." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Αυτή η έκδοση ανάπτυξης δεν μπορεί να ενημερωθεί αυτόματα. Κατεβάστε ένα πρόγραμμα εγκατάστασης για υπολογιστές για να δοκιμάσετε τη ροή ενημέρωσης." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Αυτή η εικόνα δεν διαβάστηκε. Μπορεί να είναι κατεστραμμένη." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Αυτή η εγκατάσταση ελέγχεται από το σύστημά σας. Ενημερώστε το {productName} από το κέντρο λογισμικού ή τον διαχειριστή πακέτων σας." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Αυτή η παρουσία χρησιμοποιεί ήδη ονόματα χρήστη για σύνδεση. Αυτό δεν μπορεί πλέον να αλλάξει." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Αυτή η παρουσία αυτήν τη στιγμή επιτρέπει κοινή χρήση οθόνης έως 720p στα 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Αυτός ο σύνδεσμος δεν είναι έγκυρος. Δοκιμάστε ξανά ανοίγοντας τον σύνδεσμο από το email σας." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Αυτή η κατηγορία ενηλίκων δεν είναι διαθέσιμη στον λογαριασμό σας." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Αυτή η κατηγορία ενηλίκων δεν είναι διαθέσιμη στον λογαριασμό σας. <0>Μάθετε περισσότερα" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Αυτό το κανάλι ενηλίκων δεν είναι διαθέσιμο στον λογαριασμό σας." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Αυτό το κανάλι ενηλίκων δεν είναι διαθέσιμο στον λογαριασμό σας. <0>Μάθετε περισσότερα" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Αυτή η κοινότητα ενηλίκων δεν είναι διαθέσιμη στον λογαριασμό σας." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Αυτή η κοινότητα ενηλίκων δεν είναι διαθέσιμη στον λογαριασμό σας. <0>Μάθετε περισσότερα" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Αυτό το περιεχόμενο ενηλίκων δεν είναι διαθέσιμο στον λογαριασμό σας." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Αυτό το περιεχόμενο ενηλίκων δεν είναι διαθέσιμο στον λογαριασμό σας. <0>Μάθετε περισσότερα" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Αυτό το πρόγραμμα δεν είναι διαθέσιμο. Επικοινωνήστε με την υποστήριξη." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Αυτό το πρόγραμμα δεν είναι διαθέσιμο. Επικοινωνήστε με τους διαχειριστές αυτής της παρουσίας." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Δεν γίνεται επιστροφή χρημάτων για αυτήν την αγορά." @@ -35837,7 +35853,7 @@ msgstr "Αυτό το νήμα είναι κλειδωμένο. Μόνο οι δ msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Αυτός ο χρήστης έχει περιορίσει το προφίλ του. Ορισμένες λεπτομέρειες είναι κρυφές από άτομα που δεν είναι φίλοι του." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Αυτός ο χρήστης δεν έχει ρόλους σε αυτήν την κοινότητα." @@ -36050,14 +36066,14 @@ msgstr "Ώρα" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Μορφή ώρας" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Επιλογή μορφής ώρας" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Πλατφόρμα γραμμής τίτλου" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Για να αλλάξετε τα πλήκτρα, μεταβείτε στις Ρυθμίσεις > Εφαρμογές > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Για να αλλάξετε τα πλήκτρα, μεταβείτε στις Ρυθμίσεις συστήματος > Πληκτρολόγιο > Συντομεύσεις > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Για να αλλάξετε τα πλήκτρα, ανοίξτε τις ρυθμίσεις συντομεύσεων πληκτρολογίου της επιφάνειας εργασίας σας." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Γραμμή εργαλείων" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Συντομεύσεις στις επεξηγήσεις" @@ -36864,7 +36880,7 @@ msgstr "Εικοσιτετράωρο" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Δύο κλικ" @@ -37263,7 +37279,7 @@ msgstr "Καθολική εφεδρική επιλογή. Η χαμηλότερ #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Άγνωστο" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Ξεκλειδώστε προσαρμοσμένα emoji σε DM με το {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Ξεκλειδώστε την κοινή χρήση οθόνης HD με το {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Έως 720p στα 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Ενημερώστε το {productName} για να χρησιμοποιείτε συντομεύσεις σε όλο το σύστημα στο Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Ενημέρωση της κατάστασής μου" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Ενημέρωση τώρα" @@ -38008,8 +38024,8 @@ msgstr "Ανέβασμα αρχείων και πολυμέσων σε αυτό #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Ανέβασμα εικονιδίου" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Χρήση {name} στο {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Χρήση {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Χρήση {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Χρήση εναλλακτικής μεθόδου" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Χρήση αυτόματης κύλισης" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Χρήση κάρτας" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Χρήση προεπιλογής" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Χρήση άμεσης πρόσβασης στις συσκευές εισόδου" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Χρήση αυτοκόλλητων από άλλες κοινότητες." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Χρήση τοπικών ρυθμίσεων συστήματος για τη μορφή ώρας" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Χρήση του πλαισίου παραθύρου του λειτουργικού συστήματος" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Χρησιμοποιήστε τον ορθογραφικό έλεγχο που είναι ενσωματωμένος στο λειτουργικό σας σύστημα." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Χρήση φωνητικής δραστηριότητας" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Χρησιμοποιήστε τον ορθογραφικό έλεγχο του λειτουργικού σας συστήματος όταν είναι διαθέσιμος. Διαφορετικά, χρησιμοποιήστε τα λεξικά εντός εφαρμογής του {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Επαληθεύστε πρώτα το email σας" @@ -39244,7 +39260,7 @@ msgstr "Προβολή λεπτομερειών" msgid "View devices that are signed in to your account" msgstr "Προβολή συσκευών που είναι συνδεδεμένες στον λογαριασμό σας" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Προβολή πλήρους προφίλ" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Το Visionary περιλαμβάνει ήδη μόνιμη πρόσβαση, οπότε δεν χρειάζεται επαναλαμβανόμενη συνδρομή. Μπορείτε να αγοράσετε δώρα για άλλους." @@ -39535,7 +39551,7 @@ msgstr "Φωνητικό κανάλι" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Επιβεβαίωση φωνητικού καναλιού" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Το φωνητικό κανάλι είναι πλήρες" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Συμπεριφορά εισόδου σε φωνητικό κανάλι" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Συμμετέχοντες φωνητικής συνομιλίας" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Επεξεργασία φωνής" @@ -39661,7 +39677,7 @@ msgstr "Κατάργηση σίγασης ήχου" msgid "Voice unmute" msgstr "Κατάργηση σίγασης μικροφώνου" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Η φωνή χρησιμοποιεί τη συσκευή εξόδου του συστήματός σας σε αυτό το πρόγραμμα περιήγησης. Αλλάξτε την στις ρυθμίσεις του συστήματός σας." @@ -39675,7 +39691,7 @@ msgstr "Άκυρο" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Χρονικό διάστημα μεταξύ των μηνυμάτων. msgid "Waiting for connection..." msgstr "Αναμονή σύνδεσης..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Αναμονή για κλειδί πρόσβασης…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Σε περιμένουμε να..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Αναμονή για την επιφάνεια εργασίας σας…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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} για αυτόν τον λογαριασμό. Διαχειριστείτε την στην ασφαλή πύλη χρεώσεων για να ενημερώσετε τα στοιχεία πληρωμής ή να ελέγξετε την κατάσταση ανανέωσης. Αν μόλις πληρώσατε, περιμένετε ένα λεπτό και ανοίξτε ξανά αυτήν τη σελίδα." @@ -39914,7 +39930,7 @@ msgstr "Αλλάξαμε το μέγεθος και συμπιέσαμε αυτ msgid "We sent a code to {email}." msgstr "Στείλαμε έναν κωδικό στο {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Θα συμπληρώσουμε αυτόματα το {prefillEmail} μόλις ανοίξει η σύνδεση στο πρόγραμμα περιήγησης." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Προεπισκοπήσεις ιστοτόπων" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Καλώς ήρθες ξανά" @@ -40321,7 +40337,7 @@ msgstr "Ποιες κοινότητες" msgid "Which conversations" msgstr "Ποιες συνομιλίες" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Όσο η λειτουργία push-to-talk είναι ενεργή, η συντόμευσή σας ελέγχει το μικρόφωνό σας, οπότε το κουμπί σίγασης είναι απενεργοποιημένο." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Μεταβαίνετε τώρα στο {paymentProviderName} για να ολοκληρώσετε την πληρωμή. Επιστρέψτε στο {productName} μόλις την ολοκληρώσετε." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Μόλις πατήσατε Tab. Η λειτουργία πληκτρολογίου είναι πλέον ενεργή, ώστε να μπορείτε να περιηγηθείτε στο {productName} χωρίς ποντίκι." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Διατηρείτε τα προνόμιά σας μέχρι την επόμενη ημερομηνία ανανέωσης. Ενεργοποιήστε ξανά τη συνδρομή σας πριν από τότε για να διατηρήσετε το ιστορικό συνδρομών σας." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Χάνετε όλα τα προνόμια {PREMIUM_PRODUCT_NAME} αμέσως και το ιστορικό συνδρομών σας μηδενίζεται. Αυτό δεν μπορεί να αναιρεθεί." @@ -41137,8 +41153,8 @@ msgstr "Χρειάζεστε το δικαίωμα «{permissionLabel}» για msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Χρειάζεστε το δικαίωμα «{permissionLabel}» για να χρησιμοποιήσετε αυτοκόλλητα από άλλες κοινότητες εδώ." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Πρέπει να διεκδικήσετε τον λογαριασμό σας πριν δημιουργήσετε μια κοινότητα." @@ -41155,8 +41171,8 @@ msgstr "Πρέπει να διεκδικήσετε τον λογαριασμό msgid "You need to claim your account to send messages in this community." msgstr "Πρέπει να διεκδικήσετε τον λογαριασμό σας για να στείλετε μηνύματα σε αυτήν την κοινότητα." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Πρέπει να επαληθεύσετε τη διεύθυνση email σας πριν δημιουργήσετε μια κοινότητα." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Πρέπει να επαληθεύσετε το email σας πριν μπορέσετε να αγοράσετε το {premiumProductFullName}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Θα εμφανίζεστε εκτός σύνδεσης" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Θα χρεωθείτε τώρα. Ο υπόλοιπος χρόνος δώρου σας προστίθεται μετά την περίοδο πληρωμής, ώστε να μην χαθεί τίποτα." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Είστε ήδη Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Στέλνετε αναφορές πολύ γρήγορα. Δοκιμάστε ξανά αργότερα." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Συνδεθήκατε" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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} για να αλλάξετε πρόγραμμα ή να ελέγξετε την κατάσταση ανανέωσης." @@ -41559,10 +41575,14 @@ msgstr "Ο λογαριασμός σας είναι πολύ καινούριο msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Το αίτημα λογαριασμού σας εκκρεμεί για έγκριση. Μπορείτε να συνδεθείτε αφού το εγκρίνει ένας διαχειριστής." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Ο λογαριασμός σας απαιτεί έλεγχο ταυτότητας πολλών παραγόντων, αλλά δεν έχουν ρυθμιστεί υποστηριζόμενες μέθοδοι σε αυτήν τη συσκευή. Συνδεθείτε σε μια συσκευή με την εφαρμογή ελέγχου ταυτότητας ή το κλειδί ασφαλείας σας ή επικοινωνήστε με την υποστήριξη." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Ο λογαριασμός σας απαιτεί έλεγχο ταυτότητας πολλών παραγόντων, αλλά δεν έχουν ρυθμιστεί υποστηριζόμενες μέθοδοι σε αυτήν τη συσκευή. Συνδεθείτε σε μια συσκευή με την εφαρμογή ελέγχου ταυτότητας ή το κλειδί ασφαλείας σας ή επικοινωνήστε με τους διαχειριστές αυτής της παρουσίας." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Οι λογαριασμοί και οι ρυθμίσεις σας δεν έχουν αλλάξει ή διαγραφεί." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Η ενέργειά σας δεν ολοκληρώθηκε επειδή επισημάνθηκε από τα συστήματα ασφαλείας μας. Αν πιστεύετε ότι πρόκειται για λάθος, επικοινωνήστε με την υποστήριξη." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Η ενέργειά σας δεν ολοκληρώθηκε επειδή επισημάνθηκε από τα συστήματα ασφαλείας μας. Αν πιστεύετε ότι πρόκειται για λάθος, επικοινωνήστε με τους διαχειριστές αυτής της παρουσίας." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Το τρέχον κιτ σας παύει να λειτουργεί μόλις δημιουργηθεί το νέο." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Η επιφάνεια εργασίας σας δεν ρύθμισε συντομεύσεις σε όλο το σύστημα." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Η επιφάνεια εργασίας σας δεσμεύει αυτά τα πλήκτρα για το {productName}, οπότε οι άλλες εφαρμογές δεν μπορούν να τα χρησιμοποιήσουν." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Η επιφάνεια εργασίας σας δεσμεύει αυτά τα πλήκτρα για το {productName}, οπότε οι άλλες εφαρμογές δεν μπορούν να τα χρησιμοποιήσουν. Για να χρησιμοποιήσετε το ίδιο πλήκτρο σε άλλες εφαρμογές, ενεργοποιήστε παρακάτω την άμεση πρόσβαση στις συσκευές εισόδου." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Η επιφάνεια εργασίας σας εκτελεί αυτές τις συντομεύσεις ακόμα κι όταν το {productName} δεν έχει την εστίαση." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Ο χρόνος δώρου σου έληξε. Εγγράψου για να συνεχίσεις με το {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Ο δωρεάνης χρόνος σου διατηρείται" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Η περίοδος χάριτος έληξε." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Η εγκατάστασή σας είναι κατεστραμμένη και πρέπει να επανεγκαταστήσετε την εφαρμογή για να λειτουργούν ξανά όλες οι δυνατότητες." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Η τελευταία σας αγορά είναι εκτός του παραθύρου επιστροφής χρημάτων. Επικοινωνήστε με την υποστήριξη για ζητήματα χρέωσης." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Το μήνυμά σας δεν παραδόθηκε επειδή επισημάνθηκε από τα συστήματα ασφαλείας μας. Αν πιστεύετε ότι πρόκειται για λάθος, επικοινωνήστε με την υποστήριξη." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Το μήνυμά σας δεν παραδόθηκε επειδή επισημάνθηκε από τα συστήματα ασφαλείας μας. Αν πιστεύετε ότι πρόκειται για λάθος, επικοινωνήστε με τους διαχειριστές αυτής της παρουσίας." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Το μήνυμά σας δεν παραδόθηκε. Αυτό συνήθως συμβαίνει επειδή δεν μοιράζεστε μια κοινότητα με τον παραλήπτη ή επειδή ο παραλήπτης δέχεται μόνο απευθείας μηνύματα από φίλους. Ίσως χρειαστεί επίσης να προσαρμόσετε τις δικές σας ρυθμίσεις απορρήτου απευθείας μηνυμάτων στο {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Το μήνυμά σας δεν ήταν δυνατό να παραδοθεί. Πρέπει να διεκδικήσετε τον λογαριασμό σας για να στείλετε απευθείας μηνύματα." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Το μήνυμά σας δεν παραδόθηκε. Πρέπει να διεκδικήσετε τον λογαριασμό σας για να στείλετε μηνύματα." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Η αναφορά σας δεν στάλθηκε. Δοκιμάστε ξανά." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Η αποθηκευμένη ποιότητα {savedResolution} στα {savedFrameRate} FPS απαιτεί {premiumProductName}, οπότε οι κοινοποιήσεις χρησιμοποιούν {resolution} στα {frameRate} FPS." 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 eb37c7de4..4d6d9222f 100644 --- a/fluxer_app/src/features/i18n/locales/en-GB/messages.po +++ b/fluxer_app/src/features/i18n/locales/en-GB/messages.po @@ -1405,12 +1405,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} runs a newer version of Fluxer than this app. Update Fluxer, then try again." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} ahead of you" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} behind you" @@ -1529,7 +1529,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1554,12 +1554,12 @@ msgstr "{hours, plural, one {# hour ago} other {# hours ago}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# hour} other {# hours}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" @@ -1603,7 +1603,7 @@ msgstr "{label} file is too large. Choose a file smaller than {maxSizeLabel}." msgid "{label} images cannot be animated. Use a static image." msgstr "{label} images cannot be animated. Use a static image." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "{languageName} flag" @@ -1679,7 +1679,7 @@ msgstr "{minutes, plural, one {# minute ago} other {# minutes ago}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minute} other {# minutes}}" @@ -1804,15 +1804,15 @@ msgstr "{PRODUCT_NAME} has found a new audio output device named <0>{deviceName} msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} needs to restart for the title bar change to take effect." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." @@ -1837,27 +1837,27 @@ msgid "{productName} Bug Hunter" msgstr "{productName} Bug Hunter" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." @@ -1891,12 +1891,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} cannot use a hardware encoder for this, so it will use your CPU." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} closes, installs the update and opens again." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} could not reach the update service. Check your connection and try again." @@ -1936,7 +1936,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} has moved to {host}. Open it in your browser to install the new app." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "{productName} member since" @@ -1961,12 +1961,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} needs access to your microphone. Allow microphone access in your operating system privacy settings and restart the app." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} needs camera access to list your devices." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} needs microphone access to list your devices." @@ -1996,7 +1996,7 @@ msgid "{productName} recovery kit" msgstr "{productName} recovery kit" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." @@ -2512,7 +2512,7 @@ msgid "12 months (1 year)" msgstr "12 months (1 year)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12-hour" @@ -2555,7 +2555,7 @@ msgid "24 hours" msgstr "24 hours" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24-hour" @@ -2735,7 +2735,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "a hostname, e.g. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." @@ -2750,7 +2750,7 @@ msgid "a minute" msgstr "a minute" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "A new desktop version is available. Download the installer, then run it to update {productName}." @@ -2818,7 +2818,7 @@ msgstr "About {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "About me" @@ -3136,7 +3136,7 @@ msgid "Activity sharing" msgstr "Activity sharing" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Activity threshold" @@ -3156,7 +3156,7 @@ msgstr "Actual size" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Add" @@ -3227,7 +3227,7 @@ msgid "Add a username and password to your account first." msgstr "Add a username and password to your account first." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Add a word…" @@ -3245,7 +3245,7 @@ msgstr "Add a YouTube Data API key to enrich YouTube links." #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Add account" @@ -3643,7 +3643,7 @@ msgid "Address" msgstr "Address" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Adjust each setting yourself: noise suppression, echo cancellation, and gain." @@ -3697,7 +3697,7 @@ msgid "Advanced" msgstr "Advanced" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Advanced video settings" @@ -3907,22 +3907,22 @@ msgstr "Allow" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Allow {everyoneMention} and {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." @@ -3962,7 +3962,7 @@ msgstr "Allow bot direct messages" msgid "Allow bots to send you direct messages?" msgstr "Allow bots to send you direct messages?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Allow camera" @@ -4030,7 +4030,7 @@ msgstr "Allow members without the {readMessageHistoryPermissionLabel} permission msgid "Allow mentions for this role" msgstr "Allow mentions for this role" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Allow microphone" @@ -4276,7 +4276,7 @@ msgid "Always underline links" msgstr "Always underline links" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Always use {productName}'s Hunspell dictionaries, downloaded on demand." @@ -4656,7 +4656,7 @@ msgid "App icon badge" msgstr "App icon badge" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "App language: {format}" @@ -4806,7 +4806,7 @@ msgid "Approval required" msgstr "Approval required" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Approve this app from the {productName} app you already use. No password needed." @@ -5346,7 +5346,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Authorised on {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Auto" @@ -5371,8 +5371,8 @@ msgid "Auto-detect language" msgstr "Auto-detect language" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Auto-set activity threshold" @@ -5536,7 +5536,7 @@ msgstr "AV1 (requires opt-in)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Available" @@ -5610,11 +5610,11 @@ msgstr "Away right now" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5929,7 +5929,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Best compression. Use it only when WebRTC exposes an encoder and the GPU report says it is hardware-backed." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Best with the desktop app" @@ -6398,7 +6398,7 @@ msgid "Browser home" msgstr "Browser home" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Browser locale: {format}" @@ -6547,8 +6547,8 @@ msgstr "Buy a {premiumProductName} gift from the {premiumProductName} tab to sha msgid "Buy gift" msgstr "Buy gift" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." @@ -6660,7 +6660,7 @@ msgstr "Calls" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6738,7 +6738,7 @@ msgstr "Camera preview" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Camera quality" @@ -6811,8 +6811,8 @@ msgstr "Can't upload files here" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6898,13 +6898,13 @@ msgstr "Cancel scheduled switch" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Cancel subscription" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Cancel subscription?" @@ -7007,7 +7007,7 @@ msgid "Category" msgstr "Category" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Category content warning" @@ -7133,15 +7133,15 @@ msgstr "Change group nickname" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Change icon" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Change in system settings" @@ -7556,7 +7556,7 @@ msgid "Channel badges" msgstr "Channel badges" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Channel content warning" @@ -7772,7 +7772,7 @@ msgid "Chat shortcuts" msgstr "Chat shortcuts" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Check again" @@ -7835,7 +7835,7 @@ msgid "Checking access..." msgstr "Checking access..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Checking screen recording permission..." @@ -7850,17 +7850,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Checkout unavailable" @@ -8038,7 +8038,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Choose how you'd like to pay for this subscription." @@ -8052,7 +8052,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Choose payment method" @@ -8176,7 +8176,7 @@ msgstr "Choose your defaults" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Choose your instance" @@ -8218,8 +8218,8 @@ msgstr "Claim gift" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Claim your account" @@ -9049,7 +9049,7 @@ msgid "Community badges" msgstr "Community badges" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Community content warning" @@ -9091,8 +9091,8 @@ msgstr "Community DM" msgid "Community filter" msgstr "Community filter" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Community icon" @@ -9237,7 +9237,7 @@ msgid "Community updated" msgstr "Community updated" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Community voice" @@ -9277,11 +9277,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Complete payment" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Complete the mature content check to unlock mature media." @@ -9411,7 +9411,7 @@ msgstr "Confirm" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Confirm before joining voice channels" @@ -9459,7 +9459,7 @@ msgstr "Confirm the statement to send the report." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Confirm voice join" @@ -9470,7 +9470,7 @@ msgid "Confirmation" msgstr "Confirmation" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Confirmation or double-click for community voice joins" @@ -9478,7 +9478,7 @@ msgstr "Confirmation or double-click for community voice joins" msgid "Conflicts with {conflictLabel}" msgstr "Conflicts with {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Connect a camera and try again." @@ -9491,7 +9491,7 @@ msgstr "Connect a camera or virtual capture device, then try again." msgid "Connect a display, then try again." msgstr "Connect a display, then try again." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Connect a microphone and try again." @@ -9635,7 +9635,7 @@ msgstr "Connection: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9669,7 +9669,7 @@ msgid "Contact" msgstr "Contact" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Content blocked" @@ -9743,13 +9743,13 @@ msgid "Continue in your browser" msgstr "Continue in your browser" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Continue to checkout" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Continue with passkey" @@ -10061,17 +10061,17 @@ msgid "Copy invite URL" msgstr "Copy invite URL" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Copy lines" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Copy lines for hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Copy lines for hyprland.lua" @@ -10345,7 +10345,7 @@ msgid "Couldn't change your price" msgstr "Couldn't change your price" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Couldn't check for updates" @@ -10477,7 +10477,7 @@ msgid "Couldn't delete your messages" msgstr "Couldn't delete your messages" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Couldn't download the desktop update" @@ -10593,7 +10593,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10760,7 +10760,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Couldn't start checkout" @@ -10934,7 +10934,7 @@ msgstr "Create & share" msgid "Create a community" msgstr "Create a community" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Create a community for you and your friends to chat." @@ -11367,7 +11367,7 @@ msgstr "Custom" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11853,7 +11853,7 @@ msgid "Deafened by moderators" msgstr "Deafened by moderators" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB package" @@ -12498,7 +12498,7 @@ msgid "Desktop app" msgstr "Desktop app" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Desktop app is up to date" @@ -12557,7 +12557,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Desktop update {version} available. Choose a Linux package." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Desktop update available" @@ -12567,7 +12567,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Desktop update available. Choose a Linux package." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Desktop version {version} is available. Download the installer, then run it to update {productName}." @@ -12615,7 +12615,7 @@ msgstr "Details: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Detect while typing" @@ -12663,7 +12663,7 @@ msgid "Developer tools unavailable" msgstr "Developer tools unavailable" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Development build" @@ -13457,8 +13457,8 @@ msgstr "Download" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Download {productName}" @@ -13467,12 +13467,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification and place it in your <1>.well-known folder so we can validate the domain." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Download app" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Download app button in the sidebar" @@ -13487,7 +13487,7 @@ msgid "Download button" msgstr "Download button" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Download desktop app" @@ -13515,7 +13515,7 @@ msgid "Download image" msgstr "Download image" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Download installer" @@ -13529,7 +13529,7 @@ msgid "Download media" msgstr "Download media" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Download package" @@ -13657,11 +13657,11 @@ msgstr "Drop item" msgid "Drop to upload background" msgstr "Drop to upload background" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." @@ -13675,7 +13675,7 @@ msgstr "Due to mature content laws in {regionName}, this content is blocked unti msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Due to mature content laws in {regionName}, this media is not available from your current region." @@ -13717,7 +13717,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Each code works once in place of your authenticator app." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Each key can only run one system-wide shortcut." @@ -14305,7 +14305,7 @@ msgid "Enable" msgstr "Enable" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Enable {permissionName} permission" @@ -14510,7 +14510,7 @@ msgid "Enable shortcut" msgstr "Enable shortcut" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Enable spellcheck" @@ -14604,12 +14604,12 @@ msgid "End grace now" msgstr "End grace now" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "End grace period" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "End grace period now?" @@ -14839,7 +14839,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Enter the PIN for your security key to continue." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Enter this code in your browser" @@ -14847,7 +14847,7 @@ msgstr "Enter this code in your browser" msgid "Enter this code in your browser to complete sign-in." msgstr "Enter this code in your browser to complete sign-in." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." @@ -14918,7 +14918,7 @@ msgstr "Entire system audio" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Entrance sound" @@ -15028,7 +15028,7 @@ msgstr "Evening time" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Evens out your mic volume so you are not too quiet." @@ -15251,7 +15251,7 @@ msgstr "Expires between {earliest} and {latest}" msgid "Expires in {remaining}s" msgstr "Expires in {remaining}s" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Expires in {remainingSeconds}s" @@ -15730,7 +15730,7 @@ msgid "Favorite channel" msgstr "Favourite channel" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Favourite channels" @@ -16245,7 +16245,7 @@ msgstr "For {threeHours} hours" msgid "For {twentyFourHours} hours" msgstr "For {twentyFourHours} hours" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "For British eyes only..." @@ -16255,22 +16255,22 @@ msgid "For me" msgstr "For me" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." @@ -16462,14 +16462,14 @@ msgstr "Frame" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Frame rate" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Frame rates above 30 FPS require {premiumProductName}" @@ -16928,12 +16928,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Get notified when you receive messages. You may need to allow notifications in your browser settings. For per-channel/per-community controls, right-click a community icon and open notification settings." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Get the desktop app" @@ -17243,12 +17243,12 @@ msgid "Go back to {productName} to continue." msgstr "Go back to {productName} to continue." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Go back to the {PRODUCT_NAME} app. You can close this tab." @@ -17704,7 +17704,7 @@ msgid "Help" msgstr "Help" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Help button" @@ -17714,11 +17714,11 @@ msgid "Help center" msgstr "Help centre" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Help centre button in the sidebar" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." @@ -17843,7 +17843,7 @@ msgstr "Hide chat" msgid "Hide community owner crown" msgstr "Hide community owner crown" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Hide download button" @@ -17862,7 +17862,7 @@ msgstr "Hide favourites" msgid "Hide guidelines" msgstr "Hide guidelines" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Hide help centre button" @@ -17872,7 +17872,7 @@ msgid "Hide join messages" msgstr "Hide join messages" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Hide keyboard hints" @@ -18158,22 +18158,22 @@ msgid "Hyperlink" msgstr "Hyperlink" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (before Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 and later)" @@ -18220,8 +18220,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "I confirm in good faith that the information and allegations in this notice are accurate and complete." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "I understand" @@ -18600,11 +18600,11 @@ msgstr "Importing… {processedCount, number} / {totalCount, number} processed, msgid "In" msgstr "In" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognise are ignored." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." @@ -18652,7 +18652,7 @@ msgstr "In voice chat" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "In-app dictionaries" @@ -18877,7 +18877,7 @@ msgid "Input" msgstr "Input" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Input and output" @@ -18941,7 +18941,7 @@ msgid "Insert emoji" msgstr "Insert emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Install {productName} for the full source picker and smoother screen-sharing controls." @@ -18956,12 +18956,12 @@ msgid "Install the new app" msgstr "Install the new app" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Installed" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Installed version: {currentVersion}." @@ -19033,7 +19033,7 @@ msgstr "Interface" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Interface language" @@ -19469,13 +19469,13 @@ msgstr "Join" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Join {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Join {communityName} to chat with the team and stay up to date." @@ -19563,7 +19563,7 @@ msgstr "Join video call" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Join voice" @@ -19758,7 +19758,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Keep free and premium tiers. You can customise the tiers, sell premium through Stripe, or hand out gift codes later from the admin panel." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Keep grace period" @@ -19773,7 +19773,7 @@ msgid "Keep running" msgstr "Keep running" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Keep subscription" @@ -19788,7 +19788,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Keep this page somewhere safe. If you forget your password, you can use it to get back into your account. Anyone with this recovery key can reset your password, so never share it." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Keep transmitting briefly after release." @@ -19831,7 +19831,7 @@ msgid "Keyboard" msgstr "Keyboard" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." @@ -19850,7 +19850,7 @@ msgid "Keyboard mode" msgstr "Keyboard mode" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Keyboard shortcut hints in tooltips" @@ -19925,7 +19925,7 @@ msgstr "Language settings" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Languages" @@ -19973,7 +19973,7 @@ msgstr "Latency graph" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20216,12 +20216,12 @@ msgid "Let the member hear others in this community again" msgstr "Let the member hear others in this community again" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Lets {productName} read your keyboard directly. Your system already allows this." @@ -20514,7 +20514,7 @@ msgid "Linux default" msgstr "Linux default" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Linux package" @@ -20650,7 +20650,7 @@ msgid "Local files" msgstr "Local files" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Local time" @@ -20732,7 +20732,7 @@ msgid "Look and feel" msgstr "Look and feel" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." @@ -20828,7 +20828,7 @@ msgid "Make group owner" msgstr "Make group owner" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Make sure this code matches the one in the {PRODUCT_NAME} app." @@ -20968,7 +20968,7 @@ msgid "Manage your subscription" msgstr "Manage your subscription" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Manual desktop update" @@ -21147,15 +21147,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Master volume" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Mature category" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Mature channel" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Mature community" @@ -21196,7 +21196,7 @@ msgstr "Mature content check sent" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Mature content checks are currently available only in the UK." @@ -21464,7 +21464,7 @@ msgid "Member roles updated" msgstr "Member roles updated" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Member since" @@ -22015,7 +22015,7 @@ msgstr "Mic" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Mic test" @@ -22129,7 +22129,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23048,7 +23048,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Neko cat that chases your cursor" @@ -23287,7 +23287,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "New users can't join right now. You can still create an account or sign in, then try this link again later." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "New version" @@ -23467,7 +23467,7 @@ msgstr "No bookmarks" msgid "No bot banner" msgstr "No bot banner" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "No camera found" @@ -23543,7 +23543,7 @@ msgid "No description." msgstr "No description." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "No desktop update is available." @@ -23686,7 +23686,7 @@ msgstr "No matching posts" msgid "No mentions yet" msgstr "No mentions yet" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "No microphone found" @@ -23733,7 +23733,7 @@ msgstr "No pending requests match that search" msgid "No permissions found" msgstr "No permissions found" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "No personal words yet." @@ -24095,7 +24095,7 @@ msgid "Not allowed" msgstr "Not allowed" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Not assigned" @@ -24425,7 +24425,7 @@ msgid "On click" msgstr "On click" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "On your other device, sign in at {signInAddress} and enter this code when asked." @@ -24696,7 +24696,7 @@ msgid "Open {premiumProductFullName}" msgstr "Open {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Open {PRODUCT_NAME}" @@ -24728,7 +24728,7 @@ msgid "Open account switcher" msgstr "Open account switcher" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Open advanced media settings" @@ -24790,7 +24790,7 @@ msgstr "Open banner options" msgid "Open bookmarks" msgstr "Open bookmarks" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Open browser" @@ -24848,7 +24848,7 @@ msgid "Open date picker" msgstr "Open date picker" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Open desktop downloads" @@ -25045,7 +25045,7 @@ msgid "Open settings" msgstr "Open settings" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Open software centre" @@ -25078,11 +25078,11 @@ msgid "Open System Settings" msgstr "Open System Settings" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Open template JSON" @@ -25091,7 +25091,7 @@ msgstr "Open template JSON" msgid "Open the context menu" msgstr "Open the context menu" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Open the link below in your browser, then copy the entire JSON response and paste it into the box." @@ -25169,11 +25169,11 @@ msgstr "Open voice & video settings" msgid "Open with {accountName} on {instanceName}" msgstr "Open with {accountName} on {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Open your browser, sign in, then enter the code below to link your account." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." @@ -25201,7 +25201,7 @@ msgstr "Opens the Members page. Press Space or Enter to open." #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Operating system" @@ -25631,7 +25631,7 @@ msgstr "Past 7 days" msgid "Paste" msgstr "Paste" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Paste a {theOtherPlatform} template URL to import its structure into a new community." @@ -25736,12 +25736,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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." @@ -25935,7 +25935,7 @@ msgstr "Permissions for {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Personal dictionary" @@ -26006,7 +26006,7 @@ msgid "Pick at least one tag for this post." msgstr "Pick at least one tag for this post." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." @@ -26692,7 +26692,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Pricing is still loading." @@ -27071,17 +27071,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Purchases unavailable" @@ -27175,33 +27175,33 @@ msgid "Push to talk key" msgstr "Push to talk key" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Push-to-talk" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Push-to-talk (limited)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." @@ -27216,27 +27216,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Push-to-talk is on. Hold your push-to-talk key to speak." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Push-to-talk only works while the browser tab is focused." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." @@ -27246,12 +27246,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Push-to-talk won't unmute your microphone while you're deafened. Undeafen yourself to talk." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." @@ -27535,12 +27535,12 @@ msgstr "Recipients will be taken to {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Recommended" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Recommended. Cleans up your mic for clear speech." @@ -27555,7 +27555,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Reconnect succeeded. Pick a screen again if you want to resume your previous stream." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Reconnecting to your desktop…" @@ -27838,7 +27838,7 @@ msgstr "Relaunch to apply" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Release delay" @@ -27855,7 +27855,7 @@ msgstr "Relevant" msgid "Reload" msgstr "Reload" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." @@ -27874,7 +27874,7 @@ msgstr "Reload {productName} to use web update {version}" msgid "Reload app" msgstr "Reload app" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Reload now" @@ -27937,7 +27937,7 @@ msgid "Remove" msgstr "Remove" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Remove \"{word}\" from dictionary" @@ -28088,8 +28088,8 @@ msgstr "Remove from URL-only GIF favourites" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Remove icon" @@ -29497,7 +29497,7 @@ msgid "Rows per page" msgstr "Rows per page" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM package" @@ -29532,7 +29532,7 @@ msgid "Safety" msgstr "Safety" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Same time as you" @@ -29772,7 +29772,7 @@ msgstr "Screen Recording" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Screen recording permission required" @@ -29860,7 +29860,7 @@ msgstr "Screen share privacy" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Screen share quality" @@ -30121,7 +30121,7 @@ msgid "Search language code…" msgstr "Search language code…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Search languages…" @@ -30554,7 +30554,7 @@ msgid "Select GIF {title}" msgstr "Select GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Select interface language" @@ -30575,7 +30575,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Select the account you want to sign in with on your new device." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Select voice processing mode" @@ -30889,7 +30889,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Sends raw mic audio with no processing." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Sends your audio untouched. Best if you're using external audio software." @@ -30988,7 +30988,7 @@ msgid "Set a member list position for the role" msgstr "Set a member list position for the role" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Set by the {preset} preset. Picking a value here switches to Custom." @@ -31152,7 +31152,7 @@ msgid "Set the voice region to automatic" msgstr "Set the voice region to automatic" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Set up" @@ -31309,7 +31309,7 @@ msgstr "Share with a friend" msgid "Share your screen" msgstr "Share your screen" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." @@ -31401,7 +31401,7 @@ msgstr "Shortcodes" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31409,7 +31409,7 @@ msgstr "Shortcut" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Shortcut badges" @@ -31618,7 +31618,7 @@ msgid "Show favorite button" msgstr "Show favourite button" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Show favourites throughout the app" @@ -32041,7 +32041,7 @@ msgid "Sign in with your browser" msgstr "Sign in with your browser" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Sign in with your old {productName} app" @@ -32099,7 +32099,7 @@ msgid "Sign out?" msgstr "Sign out?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Sign-in cancelled" @@ -32115,7 +32115,7 @@ msgid "Sign-in details" msgstr "Sign-in details" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Sign-in flow" @@ -32146,7 +32146,7 @@ msgid "Signing in as {name}" msgstr "Signing in as {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Signing in on another device?" @@ -32656,7 +32656,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32696,7 +32696,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32814,7 +32814,7 @@ msgstr "Sounds" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32990,8 +32990,8 @@ msgstr "Speed" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32999,7 +32999,7 @@ msgid "Spellcheck" msgstr "Spellcheck" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Spellcheck engine" @@ -33101,7 +33101,7 @@ msgid "Star animation" msgstr "Star animation" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Starred channels" @@ -33142,7 +33142,7 @@ msgstr "Start a voice call?" msgid "Start call" msgstr "Start call" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Start camera test and configure effects" @@ -33177,7 +33177,7 @@ msgid "Start minimized" msgstr "Start minimised" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33241,7 +33241,7 @@ msgid "Startup" msgstr "Startup" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Static Neko" @@ -33462,12 +33462,12 @@ msgid "Still indexing — check back in a moment" msgstr "Still indexing — check back in a moment" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Still Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Still waiting for screen recording access" @@ -33496,7 +33496,7 @@ msgid "Stop mic test" msgstr "Stop mic test" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Stop Neko from chasing your cursor while keeping it draggable and interactive." @@ -33779,7 +33779,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Subscription already exists" @@ -33959,7 +33959,7 @@ msgstr "Switch to comfy layout" msgid "Switch to dense layout" msgstr "Switch to dense layout" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Switch to direct input" @@ -34184,7 +34184,7 @@ msgid "System DMs cannot host voice calls." msgstr "System DMs cannot host voice calls." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "System locale: {format}" @@ -34220,17 +34220,17 @@ msgid "System tray" msgstr "System tray" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "System-managed install" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "System-wide shortcuts" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "System-wide shortcuts could not be set up." @@ -34346,7 +34346,7 @@ msgid "Tap to add a note" msgstr "Tap to add a note" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz archive" @@ -34362,7 +34362,7 @@ msgstr "Taskbar badge" msgid "Teleporting you to another voice region..." msgstr "Teleporting you to another voice region..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Template" @@ -34651,7 +34651,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "The {PRODUCT_NAME} app on your other device shows it under Signing in on another device. Only enter a code from a device you control." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "The {PRODUCT_NAME} app was not signed in. You can close this tab." @@ -34716,12 +34716,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "The community you're looking for may have been deleted or you may not have access to it." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "The desktop update could not be downloaded. Try again from the update button when your connection is stable." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "The downloaded file is saved to your computer. Install it with your normal package manager." @@ -35179,7 +35179,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "This category already contains the maximum of {maxChannelsPerCategory} channels." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "This category is marked for mature content and may contain material that may be inappropriate for some users." @@ -35222,7 +35222,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "This channel has a content warning. Updates can only go to channels with a content warning or an age restriction." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "This channel is marked for mature content and may contain material that may be inappropriate for some users." @@ -35311,7 +35311,7 @@ msgid "This community is full" msgstr "This community is full" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "This community is marked for mature content and may contain material that may be inappropriate for some users." @@ -35326,14 +35326,14 @@ msgstr "This community is no longer available" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "This connection has been verified." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "This connection has not been verified." @@ -35351,22 +35351,22 @@ msgid "This conversation is no longer available." msgstr "This conversation is no longer available." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "This development build cannot update itself. Download a desktop installer to test the update flow." @@ -35478,7 +35478,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "This image couldn't be read. It may be damaged." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "This install is managed by your system. Update {productName} from your software centre or package manager." @@ -35493,7 +35493,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "This instance already uses usernames to sign in. This can no longer change." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "This instance currently allows screen sharing up to 720p at 30 FPS." @@ -35631,33 +35631,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "This link isn't valid. Please open the link from your email again." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "This mature category is not available to your account." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "This mature category is not available to your account. <0>Learn more" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "This mature channel is not available to your account." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "This mature channel is not available to your account. <0>Learn more" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "This mature community is not available to your account." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "This mature community is not available to your account. <0>Learn more" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "This mature media is not available to your account." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "This mature media is not available to your account. <0>Learn more" @@ -35717,10 +35728,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "This plan isn't available. Contact support." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "This plan isn't available. Contact the administrators of this instance." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "This purchase is not eligible for a refund." @@ -35839,7 +35855,7 @@ msgstr "This thread is locked. Only moderators can send messages." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "This user has limited their profile. Some details are hidden from people who aren't their friends." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "This user has no roles in this community." @@ -36052,14 +36068,14 @@ msgstr "Time" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Time format" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Time format selection" @@ -36145,17 +36161,17 @@ msgid "Title bar platform" msgstr "Title bar platform" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "To change the keys, go to Settings > Apps > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "To change the keys, open your desktop's keyboard shortcut settings." @@ -36343,7 +36359,7 @@ msgid "Toolbar" msgstr "Toolbar" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Tooltip shortcuts" @@ -36866,7 +36882,7 @@ msgstr "Twenty-four-hour" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Two clicks" @@ -37265,7 +37281,7 @@ msgstr "Universal fallback. Lowest quality, but it works everywhere." #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Unknown" @@ -37431,7 +37447,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Unlock custom emojis in DMs with {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Unlock HD screen share with {premiumProductName}" @@ -37819,7 +37835,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Up to 720p at 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Update {productName} to use system-wide shortcuts on Wayland." @@ -37843,7 +37859,7 @@ msgid "Update my status" msgstr "Update my status" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Update now" @@ -38010,8 +38026,8 @@ msgstr "Upload files and media in this channel." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Upload icon" @@ -38168,7 +38184,7 @@ msgid "Use {name} on {domain}" msgstr "Use {name} on {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Use {pixPaymentMethod}" @@ -38183,7 +38199,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Use {upiPaymentMethod}" @@ -38221,7 +38237,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Use alternative method" @@ -38247,12 +38263,12 @@ msgid "Use autoscrolling" msgstr "Use autoscrolling" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Use card" @@ -38299,7 +38315,7 @@ msgid "Use default" msgstr "Use default" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Use direct input device access" @@ -38393,7 +38409,7 @@ msgid "Use stickers from other communities." msgstr "Use stickers from other communities." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Use system locale for time format" @@ -38408,7 +38424,7 @@ msgid "Use the operating system's window chrome" msgstr "Use the operating system's window chrome" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Use the spellchecker built into your operating system." @@ -38454,7 +38470,7 @@ msgid "Use voice activity" msgstr "Use voice activity" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." @@ -38928,7 +38944,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Verify your email first" @@ -39246,7 +39262,7 @@ msgstr "View details" msgid "View devices that are signed in to your account" msgstr "View devices that are signed in to your account" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "View full profile" @@ -39389,7 +39405,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39537,7 +39553,7 @@ msgstr "Voice channel" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Voice channel confirmation" @@ -39548,7 +39564,7 @@ msgid "Voice channel full" msgstr "Voice channel full" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Voice channel join behaviour" @@ -39617,7 +39633,7 @@ msgid "Voice participants" msgstr "Voice participants" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Voice processing" @@ -39663,7 +39679,7 @@ msgstr "Voice undeafen" msgid "Voice unmute" msgstr "Voice unmute" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Voice uses your system output device in this browser. Change it in your system settings." @@ -39677,7 +39693,7 @@ msgstr "Void" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39725,7 +39741,7 @@ msgstr "Wait between messages. Members with \"{bypassSlowmodePermissionLabel}\" msgid "Waiting for connection..." msgstr "Waiting for connection..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Waiting for passkey…" @@ -39745,7 +39761,7 @@ msgid "Waiting for you to..." msgstr "Waiting for you to..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Waiting for your desktop…" @@ -39889,7 +39905,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "We couldn't read this theme. It may be corrupted or invalid." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39916,7 +39932,7 @@ msgstr "We resized and compressed this sticker to 320x320 pixels, but it is stil msgid "We sent a code to {email}." msgstr "We sent a code to {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "We will prefill {prefillEmail} once browser sign-in opens." @@ -40113,7 +40129,7 @@ msgid "Website previews" msgstr "Website previews" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Welcome back" @@ -40323,7 +40339,7 @@ msgstr "Which communities" msgid "Which conversations" msgstr "Which conversations" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." @@ -40633,7 +40649,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41054,12 +41070,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "You just pressed Tab. Keyboard mode is now on so you can navigate {productName} without a mouse." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." @@ -41139,8 +41155,8 @@ msgstr "You need the \"{permissionLabel}\" permission to use emoji from other co msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "You need the \"{permissionLabel}\" permission to use stickers from other communities here." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "You need to claim your account before you can create a community." @@ -41157,8 +41173,8 @@ msgstr "You need to claim your account to send direct messages." msgid "You need to claim your account to send messages in this community." msgstr "You need to claim your account to send messages in this community." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "You need to verify your email address before you can create a community." @@ -41172,7 +41188,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "You need to verify your email before you can purchase {premiumProductFullName}." @@ -41216,7 +41232,7 @@ msgid "You'll appear offline" msgstr "You'll appear offline" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." @@ -41264,7 +41280,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "You're already Visionary" @@ -41383,7 +41399,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "You're sending reports too quickly. Try again later." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "You're signed in" @@ -41502,7 +41518,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41561,10 +41577,14 @@ msgstr "Your account is too new to send messages in this community." msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Your account request is pending approval. You can sign in after an admin approves it." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41576,10 +41596,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Your accounts and settings have not been changed or deleted." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41627,22 +41652,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Your current kit stops working as soon as the new one is created." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Your desktop didn't set up system-wide shortcuts." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Your desktop keeps these keys for {productName}, so other apps can't use them." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Your desktop runs these shortcuts even while {productName} is not focused." @@ -41731,7 +41756,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Your gift time has ended. Subscribe to keep {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Your gift time is kept" @@ -41746,7 +41771,7 @@ msgid "Your grace period has ended." msgstr "Your grace period has ended." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Your installation is corrupted, and you need to reinstall the app for all functionality to work." @@ -41773,22 +41798,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Your last purchase is outside the refund window. Contact support for billing issues." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Your message could not be delivered. You need to claim your account to send direct messages." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Your message could not be delivered. You need to claim your account to send messages." @@ -41887,7 +41917,7 @@ msgid "Your report didn't go through. Try again." msgstr "Your report didn't go through. Try again." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." 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 6e629ec73..b1f775fdf 100644 --- a/fluxer_app/src/features/i18n/locales/en-US/messages.po +++ b/fluxer_app/src/features/i18n/locales/en-US/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} runs a newer version of Fluxer than this app. Update Fluxer, then try again." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} ahead of you" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} behind you" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# hour ago} other {# hours ago}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# hour} other {# hours}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" @@ -1602,7 +1602,7 @@ msgstr "{label} file is too large. Choose a file smaller than {maxSizeLabel}." msgid "{label} images cannot be animated. Use a static image." msgstr "{label} images cannot be animated. Use a static image." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "{languageName} flag" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# minute ago} other {# minutes ago}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minute} other {# minutes}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} has found a new audio output device named <0>{deviceName} msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} needs to restart for the title bar change to take effect." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "{productName} Bug Hunter" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} cannot use a hardware encoder for this, so it will use your CPU." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} closes, installs the update and opens again." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} could not reach the update service. Check your connection and try again." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} has moved to {host}. Open it in your browser to install the new app." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "{productName} member since" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} needs access to your microphone. Allow microphone access in your operating system privacy settings and restart the app." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} needs camera access to list your devices." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} needs microphone access to list your devices." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "{productName} recovery kit" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 months (1 year)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12-hour" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 hours" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24-hour" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "a hostname, e.g. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "a minute" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "A new desktop version is available. Download the installer, then run it to update {productName}." @@ -2817,7 +2817,7 @@ msgstr "About {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "About me" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Activity sharing" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Activity threshold" @@ -3155,7 +3155,7 @@ msgstr "Actual size" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Add" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Add a username and password to your account first." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Add a word…" @@ -3244,7 +3244,7 @@ msgstr "Add a YouTube Data API key to enrich YouTube links." #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Add account" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Address" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Adjust each setting yourself: noise suppression, echo cancellation, and gain." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Advanced" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Advanced video settings" @@ -3906,22 +3906,22 @@ msgstr "Allow" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Allow {everyoneMention} and {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." @@ -3961,7 +3961,7 @@ msgstr "Allow bot direct messages" msgid "Allow bots to send you direct messages?" msgstr "Allow bots to send you direct messages?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Allow camera" @@ -4029,7 +4029,7 @@ msgstr "Allow members without the {readMessageHistoryPermissionLabel} permission msgid "Allow mentions for this role" msgstr "Allow mentions for this role" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Allow microphone" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Always underline links" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Always use {productName}'s Hunspell dictionaries, downloaded on demand." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "App icon badge" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "App language: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Approval required" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Approve this app from the {productName} app you already use. No password needed." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Authorized on {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Auto" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Auto-detect language" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Auto-set activity threshold" @@ -5534,7 +5534,7 @@ msgstr "AV1 (requires opt-in)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Available" @@ -5608,11 +5608,11 @@ msgstr "Away right now" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Best compression. Use it only when WebRTC exposes an encoder and the GPU report says it is hardware-backed." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Best with the desktop app" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Browser home" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Browser locale: {format}" @@ -6545,8 +6545,8 @@ msgstr "Buy a {premiumProductName} gift from the {premiumProductName} tab to sha msgid "Buy gift" msgstr "Buy gift" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." @@ -6658,7 +6658,7 @@ msgstr "Calls" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Camera preview" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Camera quality" @@ -6809,8 +6809,8 @@ msgstr "Can't upload files here" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Cancel scheduled switch" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Cancel subscription" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Cancel subscription?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Category" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Category content warning" @@ -7131,15 +7131,15 @@ msgstr "Change group nickname" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Change icon" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Change in system settings" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Channel badges" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Channel content warning" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Chat shortcuts" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Check again" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Checking access..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Checking screen recording permission..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Checkout unavailable" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Choose how you'd like to pay for this subscription." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Choose payment method" @@ -8174,7 +8174,7 @@ msgstr "Choose your defaults" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Choose your instance" @@ -8216,8 +8216,8 @@ msgstr "Claim gift" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Claim your account" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Community badges" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Community content warning" @@ -9089,8 +9089,8 @@ msgstr "Community DM" msgid "Community filter" msgstr "Community filter" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Community icon" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Community updated" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Community voice" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Complete payment" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Complete the mature content check to unlock mature media." @@ -9409,7 +9409,7 @@ msgstr "Confirm" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Confirm before joining voice channels" @@ -9457,7 +9457,7 @@ msgstr "Confirm the statement to send the report." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Confirm voice join" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Confirmation" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Confirmation or double-click for community voice joins" @@ -9476,7 +9476,7 @@ msgstr "Confirmation or double-click for community voice joins" msgid "Conflicts with {conflictLabel}" msgstr "Conflicts with {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Connect a camera and try again." @@ -9489,7 +9489,7 @@ msgstr "Connect a camera or virtual capture device, then try again." msgid "Connect a display, then try again." msgstr "Connect a display, then try again." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Connect a microphone and try again." @@ -9633,7 +9633,7 @@ msgstr "Connection: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Contact" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Content blocked" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Continue in your browser" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Continue to checkout" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Continue with passkey" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Copy invite URL" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Copy lines" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Copy lines for hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Copy lines for hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Couldn't change your price" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Couldn't check for updates" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Couldn't delete your messages" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Couldn't download the desktop update" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Couldn't start checkout" @@ -10932,7 +10932,7 @@ msgstr "Create & share" msgid "Create a community" msgstr "Create a community" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Create a community for you and your friends to chat." @@ -11365,7 +11365,7 @@ msgstr "Custom" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Deafened by moderators" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB package" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Desktop app" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Desktop app is up to date" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Desktop update {version} available. Choose a Linux package." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Desktop update available" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Desktop update available. Choose a Linux package." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Desktop version {version} is available. Download the installer, then run it to update {productName}." @@ -12613,7 +12613,7 @@ msgstr "Details: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Detect while typing" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Developer tools unavailable" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Development build" @@ -13455,8 +13455,8 @@ msgstr "Download" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Download {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification and place it in your <1>.well-known folder so we can validate the domain." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Download app" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Download app button in the sidebar" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Download button" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Download desktop app" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Download image" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Download installer" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Download media" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Download package" @@ -13655,11 +13655,11 @@ msgstr "Drop item" msgid "Drop to upload background" msgstr "Drop to upload background" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." @@ -13673,7 +13673,7 @@ msgstr "Due to mature content laws in {regionName}, this content is blocked unti msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Due to mature content laws in {regionName}, this media is not available from your current region." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Each code works once in place of your authenticator app." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Each key can run only one system-wide shortcut." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Enable" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Enable {permissionName} permission" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Enable shortcut" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Enable spellcheck" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "End grace now" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "End grace period" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "End grace period now?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Enter the PIN for your security key to continue." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Enter this code in your browser" @@ -14845,7 +14845,7 @@ msgstr "Enter this code in your browser" msgid "Enter this code in your browser to complete sign-in." msgstr "Enter this code in your browser to complete sign-in." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." @@ -14916,7 +14916,7 @@ msgstr "Entire system audio" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Entrance sound" @@ -15026,7 +15026,7 @@ msgstr "Evening time" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Evens out your mic volume so you are not too quiet." @@ -15249,7 +15249,7 @@ msgstr "Expires between {earliest} and {latest}" msgid "Expires in {remaining}s" msgstr "Expires in {remaining}s" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Expires in {remainingSeconds}s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Favorite channel" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Favorite channels" @@ -16243,7 +16243,7 @@ msgstr "For {threeHours} hours" msgid "For {twentyFourHours} hours" msgstr "For {twentyFourHours} hours" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "For British eyes only..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "For me" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." @@ -16460,14 +16460,14 @@ msgstr "Frame" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Frame rate" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Frame rates above 30 FPS require {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Get notified when you receive messages. You may need to allow notifications in your browser settings. For per-channel/per-community controls, right-click a community icon and open notification settings." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Get the desktop app" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Go back to {productName} to continue." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Go back to the {PRODUCT_NAME} app. You can close this tab." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Help" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Help button" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Help center" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Help center button in the sidebar" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Hide chat" msgid "Hide community owner crown" msgstr "Hide community owner crown" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Hide download button" @@ -17860,7 +17860,7 @@ msgstr "Hide favorites" msgid "Hide guidelines" msgstr "Hide guidelines" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Hide help center button" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Hide join messages" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Hide keyboard hints" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Hyperlink" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (before Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 and later)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "I confirm in good faith that the information and allegations in this notice are accurate and complete." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "I understand" @@ -18598,11 +18598,11 @@ msgstr "Importing… {processedCount, number} / {totalCount, number} processed, msgid "In" msgstr "In" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." @@ -18650,7 +18650,7 @@ msgstr "In voice chat" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "In-app dictionaries" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Input" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Input and output" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Insert emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Install {productName} for the full source picker and smoother screen-sharing controls." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Install the new app" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Installed" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Installed version: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Interface" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Interface language" @@ -19467,13 +19467,13 @@ msgstr "Join" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Join {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Join {communityName} to chat with the team and stay up to date." @@ -19561,7 +19561,7 @@ msgstr "Join video call" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Join voice" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Keep free and premium tiers. You can customize the tiers, sell premium through Stripe, or hand out gift codes later from the admin panel." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Keep grace period" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Keep running" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Keep subscription" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Keep this page somewhere safe. If you forget your password, you can use it to get back into your account. Anyone with this recovery key can reset your password, so never share it." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Keep transmitting briefly after release." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Keyboard" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Keyboard mode" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Keyboard shortcut hints in tooltips" @@ -19923,7 +19923,7 @@ msgstr "Language settings" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Languages" @@ -19971,7 +19971,7 @@ msgstr "Latency graph" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Let the member hear others in this community again" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Lets {productName} read your keyboard directly. Your system already allows this." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Linux default" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Linux package" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Local files" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Local time" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Look and feel" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Make group owner" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Make sure this code matches the one in the {PRODUCT_NAME} app." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Manage your subscription" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Manual desktop update" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Master volume" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Mature category" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Mature channel" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Mature community" @@ -21194,7 +21194,7 @@ msgstr "Mature content check sent" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Mature content checks are currently available only in the UK." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Member roles updated" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Member since" @@ -22013,7 +22013,7 @@ msgstr "Mic" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Mic test" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Neko cat that chases your cursor" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "New users can't join right now. You can still create an account or sign in, then try this link again later." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "New version" @@ -23465,7 +23465,7 @@ msgstr "No bookmarks" msgid "No bot banner" msgstr "No bot banner" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "No camera found" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "No description." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "No desktop update is available." @@ -23684,7 +23684,7 @@ msgstr "No matching posts" msgid "No mentions yet" msgstr "No mentions yet" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "No microphone found" @@ -23731,7 +23731,7 @@ msgstr "No pending requests match that search" msgid "No permissions found" msgstr "No permissions found" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "No personal words yet." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Not allowed" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Not assigned" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "On click" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "On your other device, sign in at {signInAddress} and enter this code when asked." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Open {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Open {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Open account switcher" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Open advanced media settings" @@ -24788,7 +24788,7 @@ msgstr "Open banner options" msgid "Open bookmarks" msgstr "Open bookmarks" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Open browser" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Open date picker" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Open desktop downloads" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Open settings" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Open software center" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Open System Settings" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Open template JSON" @@ -25089,7 +25089,7 @@ msgstr "Open template JSON" msgid "Open the context menu" msgstr "Open the context menu" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Open the link below in your browser, then copy the entire JSON response and paste it into the box." @@ -25167,11 +25167,11 @@ msgstr "Open voice & video settings" msgid "Open with {accountName} on {instanceName}" msgstr "Open with {accountName} on {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Open your browser, sign in, then enter the code below to link your account." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." @@ -25199,7 +25199,7 @@ msgstr "Opens the Members page. Press Space or Enter to open." #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Operating system" @@ -25629,7 +25629,7 @@ msgstr "Past 7 days" msgid "Paste" msgstr "Paste" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Paste a {theOtherPlatform} template URL to import its structure into a new community." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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." @@ -25933,7 +25933,7 @@ msgstr "Permissions for {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Personal dictionary" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Pick at least one tag for this post." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Pricing is still loading." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Purchases unavailable" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Push to talk key" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Push-to-talk" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Push-to-talk (limited)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Push-to-talk is on. Hold your push-to-talk key to speak." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Push-to-talk only works while the browser tab is focused." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Push-to-talk won't unmute your microphone while you're deafened. Undeafen yourself to talk." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." @@ -27533,12 +27533,12 @@ msgstr "Recipients will be taken to {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Recommended" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Recommended. Cleans up your mic for clear speech." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Reconnect succeeded. Pick a screen again if you want to resume your previous stream." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Reconnecting to your desktop…" @@ -27836,7 +27836,7 @@ msgstr "Relaunch to apply" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Release delay" @@ -27853,7 +27853,7 @@ msgstr "Relevant" msgid "Reload" msgstr "Reload" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." @@ -27872,7 +27872,7 @@ msgstr "Reload {productName} to use web update {version}" msgid "Reload app" msgstr "Reload app" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Reload now" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Remove" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Remove \"{word}\" from dictionary" @@ -28086,8 +28086,8 @@ msgstr "Remove from URL-only GIF favorites" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Remove icon" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Rows per page" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM package" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Safety" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Same time as you" @@ -29770,7 +29770,7 @@ msgstr "Screen Recording" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Screen recording permission required" @@ -29858,7 +29858,7 @@ msgstr "Screen share privacy" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Screen share quality" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Search language code…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Search languages…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Select GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Select interface language" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Select the account you want to sign in with on your new device." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Select voice processing mode" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Sends raw mic audio with no processing." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Sends your audio untouched. Best if you're using external audio software." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Set a member list position for the role" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Set by the {preset} preset. Picking a value here switches to Custom." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Set the voice region to automatic" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Set up" @@ -31307,7 +31307,7 @@ msgstr "Share with a friend" msgid "Share your screen" msgstr "Share your screen" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Shortcodes" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Shortcut" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Shortcut badges" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Show favorite button" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Show favorites throughout the app" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Sign in with your browser" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Sign in with your old {productName} app" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Sign out?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Sign-in cancelled" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Sign-in details" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Sign-in flow" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Signing in as {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Signing in on another device?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Sounds" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Speed" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Spellcheck" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Spellcheck engine" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Star animation" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Starred channels" @@ -33140,7 +33140,7 @@ msgstr "Start a voice call?" msgid "Start call" msgstr "Start call" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Start camera test and configure effects" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Start minimized" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Startup" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Static Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Still indexing — check back in a moment" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Still Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Still waiting for screen recording access" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Stop mic test" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Stop Neko from chasing your cursor while keeping it draggable and interactive." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Subscription already exists" @@ -33957,7 +33957,7 @@ msgstr "Switch to comfy layout" msgid "Switch to dense layout" msgstr "Switch to dense layout" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Switch to direct input" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "System DMs cannot host voice calls." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "System locale: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "System tray" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "System-managed install" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "System-wide shortcuts" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "System-wide shortcuts could not be set up." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Tap to add a note" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz archive" @@ -34360,7 +34360,7 @@ msgstr "Taskbar badge" msgid "Teleporting you to another voice region..." msgstr "Teleporting you to another voice region..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Template" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "The {PRODUCT_NAME} app on your other device shows it under Signing in on another device. Only enter a code from a device you control." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "The {PRODUCT_NAME} app was not signed in. You can close this tab." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "The community you're looking for may have been deleted or you may not have access to it." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "The desktop update could not be downloaded. Try again from the update button when your connection is stable." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "The downloaded file is saved to your computer. Install it with your normal package manager." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "This category already contains the maximum of {maxChannelsPerCategory} channels." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "This category is marked for mature content and may contain material that may be inappropriate for some users." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "This channel has a content warning. Updates can only go to channels with a content warning or an age restriction." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "This channel is marked for mature content and may contain material that may be inappropriate for some users." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "This community is full" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "This community is marked for mature content and may contain material that may be inappropriate for some users." @@ -35324,14 +35324,14 @@ msgstr "This community is no longer available" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "This connection has been verified." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "This connection has not been verified." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "This conversation is no longer available." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "This development build cannot update itself. Download a desktop installer to test the update flow." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "This image couldn't be read. It may be damaged." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "This install is managed by your system. Update {productName} from your software center or package manager." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "This instance already uses usernames to sign in. This can no longer change." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "This instance currently allows screen sharing up to 720p at 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "This link isn't valid. Open the link from your email again." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "This mature category is not available to your account." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "This mature category is not available to your account. <0>Learn more" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "This mature channel is not available to your account." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "This mature channel is not available to your account. <0>Learn more" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "This mature community is not available to your account." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "This mature community is not available to your account. <0>Learn more" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "This mature media is not available to your account." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "This mature media is not available to your account. <0>Learn more" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "This plan isn't available. Contact support." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "This plan isn't available. Contact the administrators of this instance." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "This purchase is not eligible for a refund." @@ -35837,7 +35853,7 @@ msgstr "This thread is locked. Only moderators can send messages." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "This user has limited their profile. Some details are hidden from people who aren't their friends." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "This user has no roles in this community." @@ -36050,14 +36066,14 @@ msgstr "Time" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Time format" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Time format selection" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Title bar platform" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "To change the keys, go to Settings > Apps > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "To change the keys, open your desktop's keyboard shortcut settings." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Toolbar" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Tooltip shortcuts" @@ -36864,7 +36880,7 @@ msgstr "Twenty-four-hour" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Two clicks" @@ -37263,7 +37279,7 @@ msgstr "Universal fallback. Lowest quality, but it works everywhere." #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Unknown" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Unlock custom emojis in DMs with {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Unlock HD screen share with {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Up to 720p at 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Update {productName} to use system-wide shortcuts on Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Update my status" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Update now" @@ -38008,8 +38024,8 @@ msgstr "Upload files and media in this channel." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Upload icon" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Use {name} on {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Use {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Use {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Use alternative method" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Use autoscrolling" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Use card" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Use default" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Use direct input device access" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Use stickers from other communities." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Use system locale for time format" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Use the operating system's window chrome" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Use the spellchecker built into your operating system." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Use voice activity" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Verify your email first" @@ -39244,7 +39260,7 @@ msgstr "View details" msgid "View devices that are signed in to your account" msgstr "View devices that are signed in to your account" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "View full profile" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Voice channel" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Voice channel confirmation" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Voice channel full" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Voice channel join behavior" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Voice participants" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Voice processing" @@ -39661,7 +39677,7 @@ msgstr "Voice undeafen" msgid "Voice unmute" msgstr "Voice unmute" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Voice uses your system output device in this browser. Change it in your system settings." @@ -39675,7 +39691,7 @@ msgstr "Void" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Wait between messages. Members with \"{bypassSlowmodePermissionLabel}\" msgid "Waiting for connection..." msgstr "Waiting for connection..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Waiting for passkey…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Waiting for you to..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Waiting for your desktop…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "We couldn't read this theme. It may be corrupted or invalid." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "We resized and compressed this sticker to 320x320 pixels, but it is stil msgid "We sent a code to {email}." msgstr "We sent a code to {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "We will prefill {prefillEmail} once browser sign-in opens." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Website previews" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Welcome back" @@ -40321,7 +40337,7 @@ msgstr "Which communities" msgid "Which conversations" msgstr "Which conversations" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "You just pressed Tab. Keyboard mode is now on so you can navigate {productName} without a mouse." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." @@ -41137,8 +41153,8 @@ msgstr "You need the \"{permissionLabel}\" permission to use emoji from other co msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "You need the \"{permissionLabel}\" permission to use stickers from other communities here." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "You need to claim your account before you can create a community." @@ -41155,8 +41171,8 @@ msgstr "You need to claim your account to send direct messages." msgid "You need to claim your account to send messages in this community." msgstr "You need to claim your account to send messages in this community." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "You need to verify your email address before you can create a community." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "You need to verify your email before you can purchase {premiumProductFullName}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "You'll appear offline" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "You're already Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "You're sending reports too quickly. Try again later." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "You're signed in" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Your account is too new to send messages in this community." msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Your account request is pending approval. You can sign in after an admin approves it." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Your accounts and settings have not been changed or deleted." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Your current kit stops working as soon as the new one is created." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Your desktop didn't set up system-wide shortcuts." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Your desktop keeps these keys for {productName}, so other apps can't use them." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Your desktop runs these shortcuts even while {productName} is not focused." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Your gift time has ended. Subscribe to keep {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Your gift time is kept" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Your grace period has ended." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Your installation is corrupted, and you need to reinstall the app for all functionality to work." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Your last purchase is outside the refund window. Contact support for billing issues." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Your message could not be delivered. You need to claim your account to send direct messages." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Your message could not be delivered. You need to claim your account to send messages." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Your report didn't go through. Try again." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." 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 35aac8127..23fc3d686 100644 --- a/fluxer_app/src/features/i18n/locales/es-419/messages.po +++ b/fluxer_app/src/features/i18n/locales/es-419/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} ejecuta una versión más reciente de Fluxer que esta app. Actualiza Fluxer y vuelve a intentarlo." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} por delante de tu hora" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} por detrás de tu hora" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "Hace {hours, plural, one {# hora} other {# horas}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# hora} other {# horas}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# hora} other {# horas}} {minutes, plural, one {# minuto} other {# minutos}}" @@ -1602,7 +1602,7 @@ msgstr "El archivo {label} es demasiado grande. Elige un archivo de menos de {ma msgid "{label} images cannot be animated. Use a static image." msgstr "Las imágenes de {label} no pueden tener animación. Usa una imagen estática." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Bandera: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "Hace {minutes, plural, one {# minuto} other {# minutos}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minuto} many {# minutos} other {# minutos}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} ha encontrado un nuevo dispositivo de salida de audio lla msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} debe reiniciarse para aplicar la configuración de desplazamiento nativo de Chromium." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} debe reiniciarse para que la aceleración de hardware surta efecto." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} necesita reiniciarse para que el cambio en la barra de título surta efecto." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} debe reiniciarse para deshabilitar la aceleración de hardware de Chromium. Usa esto solo si estás solucionando problemas gráficos o un alto uso de la GPU." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Cazador de bugs de {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} puede pedirle a tu escritorio que ejecute sus atajos cuando {productName} no tiene el foco. Tu escritorio te pedirá que confirmes y te dejará elegir las teclas." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} ya no puede leer tu teclado, así que ahora escucha los atajos a través de X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} ya no puede leer tu teclado, así que se usan los atajos de tu escritorio." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} ya no puede leer tu teclado. Los atajos solo funcionan mientras {productName} tiene el foco." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} puede registrar sus atajos en Hyprland para que funcionen cuando {productName} no tiene el foco. Luego asigna las teclas en tu configuración de Hyprland." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} no puede usar un codificador de hardware para esto, por lo que utilizará tu CPU." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} se cerrará, instalará la actualización y se volverá a abrir." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} no pudo contactar con el servicio de actualizaciones. Comprueba tu conexión e inténtalo de nuevo." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} se mudó a {host}. Ábrelo en tu navegador para instalar la nueva app." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Miembro de {productName} desde" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} necesita acceso a tu micrófono. Permite el acceso al micrófono en la configuración de privacidad de tu sistema operativo y reinicia la aplicación." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} necesita acceso a la cámara para mostrar tus dispositivos." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} necesita acceso al micrófono para mostrar tus dispositivos." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "Kit de recuperación de {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} registró sus atajos en Hyprland. Asígnalos en tu configuración de Hyprland para usarlos cuando {productName} no tenga el foco." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 meses (1 año)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12 horas" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 horas" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24 horas" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "un nombre de host, p. ej. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Hay una actualización de escritorio para Linux disponible. Elige el formato del paquete para este sistema y {productName} lo guardará localmente." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "un minuto" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Hay una nueva versión de escritorio disponible. Descarga el instalador y ejecútalo para actualizar {productName}." @@ -2817,7 +2817,7 @@ msgstr "Acerca de {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Acerca de mí" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Compartir actividad" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Umbral de actividad" @@ -3155,7 +3155,7 @@ msgstr "Tamaño real" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Agregar" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Primero, agrega un nombre de usuario y una contraseña a tu cuenta." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Agregar una palabra…" @@ -3244,7 +3244,7 @@ msgstr "Agrega una clave de YouTube Data API para enriquecer los enlaces de YouT #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Agregar cuenta" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Dirección" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Ajusta cada opción tú mismo: supresión de ruido, cancelación de eco y ganancia." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Avanzado" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Configuración avanzada de video" @@ -3906,22 +3906,22 @@ msgstr "Permitir" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Permitir {everyoneMention} y {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Permite que {PRODUCT_NAME} acceda a tu cámara en Configuración del sistema → Privacidad y seguridad → Cámara." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Permite que {PRODUCT_NAME} acceda a tu micrófono en Configuración del Sistema → Privacidad y seguridad → Micrófono." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Permite que {PRODUCT_NAME} acceda a tu micrófono. Revisa la barra de direcciones o la configuración de tu navegador." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Permite {productName} en Grabación de pantalla en Configuración del sistema. Si ya está permitido, reinicia {productName2} para que macOS lo aplique." @@ -3961,7 +3961,7 @@ msgstr "Permitir mensajes directos de bots" msgid "Allow bots to send you direct messages?" msgstr "¿Permitir que los bots te envíen mensajes directos?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Permitir acceso a la cámara" @@ -4029,7 +4029,7 @@ msgstr "Permitir que los miembros sin el permiso {readMessageHistoryPermissionLa msgid "Allow mentions for this role" msgstr "Permitir menciones para este rol" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Permitir micrófono" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Subrayar siempre los enlaces" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Usar siempre los diccionarios Hunspell de {productName}, descargados a demanda." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Indicador en el ícono de la aplicación" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Formato de hora según el idioma de la aplicación: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Se requiere aprobación" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Aprueba esta app desde la app {productName} que ya usas. No necesitas contraseña." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Autorizada el {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Automático" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Detectar idioma automáticamente" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Establecer umbral de actividad automáticamente" @@ -5534,7 +5534,7 @@ msgstr "AV1 (requiere activación)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Disponible" @@ -5608,11 +5608,11 @@ msgstr "Ausente en este momento" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Mejor compresión. Úsala solo cuando WebRTC exponga un codificador y el informe de la GPU diga que está respaldado por hardware." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Funciona mejor con la app de escritorio" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Página de inicio del navegador" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Formato de hora del navegador: {format}" @@ -6545,8 +6545,8 @@ msgstr "Compra un regalo de {premiumProductName} desde la pestaña {premiumProdu msgid "Buy gift" msgstr "Comprar regalo" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Al crear una comunidad, aceptas seguir y respetar las <0>normas de la comunidad de {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Llamadas" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Vista previa de la cámara" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Calidad de la cámara" @@ -6809,8 +6809,8 @@ msgstr "No se pueden subir archivos aquí" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Cancelar cambio programado" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Cancelar suscripción" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "¿Cancelar suscripción?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Categoría" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Advertencia de contenido por categoría" @@ -7131,15 +7131,15 @@ msgstr "Cambiar apodo en el grupo" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Cambiar ícono" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Cambiar en la configuración del sistema" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Insignias del canal" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Advertencia sobre el contenido del canal" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Atajos de chat" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Volver a comprobar" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Comprobando acceso..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Verificando el permiso para grabar la pantalla..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Pago no disponible" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Elige cómo quieres pagar esta suscripción." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Elige un método de pago" @@ -8174,7 +8174,7 @@ msgstr "Elige tus predeterminados" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Elige tu instancia" @@ -8216,8 +8216,8 @@ msgstr "Reclamar regalo" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Completa el registro de tu cuenta" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Insignias de la comunidad" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Advertencia de contenido de la comunidad" @@ -9089,8 +9089,8 @@ msgstr "MD de la comunidad" msgid "Community filter" msgstr "Filtro de comunidad" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Ícono de la comunidad" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Comunidad actualizada" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Voz de la comunidad" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Completar pago" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Completa la verificación de contenido para adultos para desbloquear contenido para adultos." @@ -9409,7 +9409,7 @@ msgstr "Confirmar" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Confirmar antes de unirte a canales de voz" @@ -9457,7 +9457,7 @@ msgstr "Confirma la declaración para enviar el reporte." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Confirmar conexión a canales de voz" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Confirmación" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Confirmación o doble clic para unirse a canales de voz de la comunidad" @@ -9476,7 +9476,7 @@ msgstr "Confirmación o doble clic para unirse a canales de voz de la comunidad" msgid "Conflicts with {conflictLabel}" msgstr "Conflicto con {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Conecta una cámara e inténtalo de nuevo." @@ -9489,7 +9489,7 @@ msgstr "Conecta una cámara o un dispositivo de captura virtual y vuelve a inten msgid "Connect a display, then try again." msgstr "Conecta una pantalla y vuelve a intentarlo." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Conecta un micrófono e inténtalo de nuevo." @@ -9633,7 +9633,7 @@ msgstr "Conexión: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Contacto" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Contenido bloqueado" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Continuar en tu navegador" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Continuar al pago" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Continuar con llave de acceso" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Copiar enlace de invitación" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Copiar líneas" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Copiar líneas para hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Copiar líneas para hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "No se pudo cambiar tu precio" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "No se pudieron buscar actualizaciones" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "No se pudieron eliminar tus mensajes" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "No se pudo descargar la actualización de escritorio" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "No se pudo iniciar el pago" @@ -10932,7 +10932,7 @@ msgstr "Crear y compartir" msgid "Create a community" msgstr "Crear una comunidad" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Crea una comunidad para chatear con tus amigos." @@ -11365,7 +11365,7 @@ msgstr "Personalizado" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Sonido desactivado por los moderadores" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "Paquete DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Aplicación de escritorio" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "La aplicación de escritorio está actualizada" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Actualización de escritorio {version} disponible. Elige un paquete de Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Actualización de escritorio disponible" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Actualización de escritorio disponible. Elige un paquete de Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Ya está disponible la versión de escritorio {version}. Descarga el instalador y ejecútalo para actualizar {productName}." @@ -12613,7 +12613,7 @@ msgstr "Detalles: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Detectar al escribir" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Herramientas de desarrollador no disponibles" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Versión de desarrollo" @@ -13455,8 +13455,8 @@ msgstr "Descargar" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Descargar {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification y colócalo en tu carpeta <1>.well-known para que podamos validar el dominio." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Descargar app" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Descargar la app" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Botón de descarga" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Descargar la aplicación de escritorio" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Descargar imagen" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Descargar instalador" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Descargar contenido multimedia" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Descargar paquete" @@ -13655,11 +13655,11 @@ msgstr "Soltar objeto" msgid "Drop to upload background" msgstr "Suelta para subir el fondo" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Debido a las leyes de contenido para adultos en {regionName}, el contenido para adultos está bloqueado hasta que completes la verificación de contenido para adultos." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Debido a las leyes de contenido para adultos en {regionName}, el contenido para adultos no está disponible aquí. Las verificaciones de contenido para adultos solo están disponibles en el Reino Unido." @@ -13673,7 +13673,7 @@ msgstr "Debido a las leyes de contenido para adultos en {regionName}, este conte msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Debido a las leyes de contenido para adultos en {regionName}, este contenido no está disponible aquí. Las verificaciones de contenido para adultos solo están disponibles en el Reino Unido." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Debido a las leyes de contenido para adultos en {regionName}, este contenido multimedia no está disponible en tu región actual." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Cada código funciona una vez en lugar de tu app de autenticación." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Cada tecla puede ejecutar solo un atajo de sistema." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Habilitar" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Habilitar el permiso de {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Habilitar atajo" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Activar corrector ortográfico" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Terminar período de gracia ahora" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Finalizar período de gracia" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "¿Terminar período de gracia ahora?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Ingresa el PIN de tu llave de seguridad para continuar." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Ingresa este código en tu navegador" @@ -14845,7 +14845,7 @@ msgstr "Ingresa este código en tu navegador" msgid "Enter this code in your browser to complete sign-in." msgstr "Ingresa este código en tu navegador para completar el inicio de sesión." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Ingresa este código en tu antigua app de {PRODUCT_NAME} para completar el inicio de sesión." @@ -14916,7 +14916,7 @@ msgstr "Audio de todo el sistema" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Sonido de entrada" @@ -15026,7 +15026,7 @@ msgstr "Noche" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Ajusta el volumen de tu micrófono para que no suenes demasiado bajo." @@ -15249,7 +15249,7 @@ msgstr "Vence entre {earliest} y {latest}" msgid "Expires in {remaining}s" msgstr "Expira en {remaining} s" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Expira en {remainingSeconds}s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Marcar canal como favorito" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Canales favoritos" @@ -16243,7 +16243,7 @@ msgstr "Durante {threeHours} horas" msgid "For {twentyFourHours} hours" msgstr "Durante {twentyFourHours} horas" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Solo para ojos británicos..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Para mí" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Para \"Pulsar para silenciar\", usa una sola tecla sin Ctrl, Alt ni Shift. Con una combinación, suelta primero la tecla principal o el micrófono podría quedarse silenciado." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Para \"Pulsar para hablar\", usa una sola tecla sin Ctrl, Alt ni Shift. Con una combinación, suelta primero la tecla principal o el micrófono podría quedarse encendido." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Para este atajo, usa una sola tecla sin Ctrl, Alt ni Shift. Con una combinación, suelta primero la tecla principal o el atajo podría quedarse activo." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Para \"Prioridad de actividad de voz\", usa una sola tecla sin Ctrl, Alt ni Shift. Con una combinación, suelta primero la tecla principal o la prioridad podría quedarse activada." @@ -16460,14 +16460,14 @@ msgstr "Marco" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Velocidad de fotogramas" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Las velocidades de fotogramas superiores a 30 FPS requieren {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Recibe notificaciones cuando te lleguen mensajes. Puede que tengas que permitir las notificaciones en la configuración de tu navegador. Para controles por canal o comunidad, haz clic derecho en el ícono de una comunidad y abre la configuración de notificaciones." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Obtén la aplicación de escritorio de {productName} para usar la función \"presionar para hablar\" en todo el sistema y otras funciones geniales." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Obtén la aplicación de escritorio" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Regresa a {productName} para continuar." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Regresar a la app {PRODUCT_NAME}. Termina de iniciar sesión sola." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Regresa a la app {PRODUCT_NAME}. Puedes cerrar esta pestaña." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Ayuda" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Botón de ayuda" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Centro de ayuda" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Centro de ayuda" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Ayuda a traducir {PRODUCT_NAME} a tu idioma en <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Ocultar chat" msgid "Hide community owner crown" msgstr "Ocultar la corona del dueño de la comunidad" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Ocultar botón de descarga" @@ -17860,7 +17860,7 @@ msgstr "Ocultar favoritos" msgid "Hide guidelines" msgstr "Ocultar lineamientos" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Ocultar el botón de ayuda" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Ocultar avisos de incorporación" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Ocultar sugerencias del teclado" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Hipervínculo" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland no tiene un diálogo de atajos. Agrega las líneas de tu versión de Hyprland a tu configuración de Hyprland y reemplaza KEY por la tecla que quieras." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland no tiene un diálogo de atajos. Asigna las teclas en tu configuración de Hyprland." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (antes de Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 y posteriores)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Confirmo de buena fe que la información y las alegaciones de este aviso son precisas y completas." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Entiendo" @@ -18598,11 +18598,11 @@ msgstr "Importando… Procesados: {processedCount, number} / {totalCount, number msgid "In" msgstr "En" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "En el modo \"Sistema operativo\", los diccionarios que se muestran arriba son orientativos. {PRODUCT_NAME} pasará estas etiquetas de idioma al corrector ortográfico de tu sistema operativo cuando sea compatible. Las etiquetas que no reconozca serán ignoradas." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "En un navegador, la función pulsar para hablar solo funciona mientras la pestaña de {PRODUCT_NAME} esté activa. Instala la aplicación de escritorio para usar pulsar para hablar en todo el sistema." @@ -18650,7 +18650,7 @@ msgstr "En el chat de voz" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Diccionarios en la aplicación" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Entrada" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Entrada y salida" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Insertar emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Instala {productName} para tener el selector de fuentes completo y controles de pantalla compartida más fluidos." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Instalar la nueva app" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Instalado" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Versión instalada: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Interfaz" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Idioma de la interfaz" @@ -19467,13 +19467,13 @@ msgstr "Unirse" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Unirse a {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Únete a {communityName} para chatear con el equipo y mantenerte al día." @@ -19561,7 +19561,7 @@ msgstr "Unirse a la videollamada" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Unirse a la llamada de voz" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Mantén los niveles gratuito y premium. Puedes personalizar los niveles, vender premium a través de Stripe o entregar códigos de regalo más tarde desde el panel de administración." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Mantener período de gracia" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Seguir ejecutándose" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Mantener suscripción" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Guarda esta página en un lugar seguro. Si olvidas tu contraseña, puedes usarla para volver a acceder a tu cuenta. Cualquiera que tenga esta clave de recuperación puede restablecer tu contraseña, así que nunca la compartas." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Continúa transmitiendo brevemente después de soltar el botón." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Teclado" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "No se pudo iniciar el acceso al teclado. Los atajos solo funcionan mientras {productName} tiene el foco." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Modo teclado" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Indicaciones de atajos de teclado en la ayuda emergente" @@ -19923,7 +19923,7 @@ msgstr "Configuración de idioma" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Idiomas" @@ -19971,7 +19971,7 @@ msgstr "Gráfico de latencia" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Se permitió que el miembro volviera a escuchar a otros en esta comunidad" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Permite que {productName} lea tu teclado directamente. Desactiva esta opción para configurar los atajos desde tu escritorio." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Permite que {productName} lea tu teclado directamente. Tu sistema ya lo permite." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Predeterminado de Linux" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Paquete para Linux" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Archivos locales" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Hora local" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Apariencia y estilo" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Parece que estás usando {0}. Si agregas el procesamiento de {PRODUCT_NAME} encima, puede causar bombeo o distorsión. La entrada directa pasa tu audio sin modificaciones." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Hacer propietario del grupo" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Asegúrate de que este código coincida con el de la app {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Administra tu suscripción" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Actualización manual de la aplicación de escritorio" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Volumen principal" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Categoría para adultos" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Canal para adultos" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Comunidad para adultos" @@ -21194,7 +21194,7 @@ msgstr "Verificación de contenido para adultos enviada" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Las verificaciones de contenido para adultos solo están disponibles en el Reino Unido." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Roles de miembro actualizados" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Miembro desde" @@ -22013,7 +22013,7 @@ msgstr "Micrófono" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Prueba de micrófono" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Gato Neko que persigue tu cursor" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Los usuarios nuevos no pueden unirse en este momento. Puedes crear una cuenta o iniciar sesión y volver a intentar con este enlace más tarde." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Nueva versión" @@ -23465,7 +23465,7 @@ msgstr "Sin mensajes guardados" msgid "No bot banner" msgstr "Sin banner de bot" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "No se encontró ninguna cámara" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Sin descripción." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "No hay actualizaciones disponibles para la aplicación de escritorio." @@ -23684,7 +23684,7 @@ msgstr "No hay publicaciones que coincidan" msgid "No mentions yet" msgstr "Aún no hay menciones" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "No se encontró ningún micrófono" @@ -23731,7 +23731,7 @@ msgstr "No hay solicitudes pendientes que coincidan con la búsqueda" msgid "No permissions found" msgstr "No se encontraron permisos" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Aún no hay palabras personales." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "No permitido" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Sin asignar" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Al hacer clic" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "En tu otro dispositivo, inicia sesión en {signInAddress} e introduce este código cuando se te solicite." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Abrir {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Abrir {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Abrir selector de cuentas" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Abrir configuración avanzada de contenido multimedia" @@ -24788,7 +24788,7 @@ msgstr "Abrir opciones del banner" msgid "Open bookmarks" msgstr "Abrir mensajes guardados" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Abrir navegador" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Abrir selector de fecha" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Abrir descargas de escritorio" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Abrir configuración" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Abrir centro de software" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Abrir Configuración del Sistema" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Abre Configuración del Sistema → Privacidad y seguridad → Grabación de pantalla, y luego permite {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Abrir plantilla JSON" @@ -25089,7 +25089,7 @@ msgstr "Abrir plantilla JSON" msgid "Open the context menu" msgstr "Abrir el menú contextual" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Abre el siguiente enlace en tu navegador, luego copia la respuesta JSON completa y pégala en el cuadro." @@ -25167,11 +25167,11 @@ msgstr "Abrir configuración de audio y video" msgid "Open with {accountName} on {instanceName}" msgstr "Abrir con {accountName} en {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Abre tu navegador, inicia sesión y luego ingresa el código a continuación para vincular tu cuenta." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Abre tu antigua app de {PRODUCT_NAME}, selecciona \"Vincular un dispositivo nuevo\" y luego ingresa el código de abajo." @@ -25199,7 +25199,7 @@ msgstr "Abre la página de Miembros. Presiona Espacio o Enter para abrir." #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Sistema operativo" @@ -25629,7 +25629,7 @@ msgstr "Últimos 7 días" msgid "Paste" msgstr "Pegar" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Pega la URL de una plantilla de {theOtherPlatform} para importar su estructura a una nueva comunidad." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Permisos para {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Diccionario personal" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Elige al menos una etiqueta para esta publicación." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Elige uno o más diccionarios. Se aceptan las palabras de cualquier diccionario seleccionado, lo que es útil para chats multilingües." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Los precios aún se están cargando." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Compras no disponibles" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Tecla para pulsar y hablar" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Pulsar para hablar" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Pulsar para hablar (limitado)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "\"Pulsar para hablar\" aún no tiene una tecla en todo el sistema. Para asignar una, ve a Configuración > Aplicaciones > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "\"Pulsar para hablar\" aún no tiene una tecla en todo el sistema. Para asignar una, ve a Preferencias del sistema > Teclado > Accesos rápidos > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "\"Pulsar para hablar\" aún no tiene una tecla en todo el sistema. Para asignar una, abre la configuración de atajos de teclado de tu escritorio." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "La función pulsar para hablar se ignora en la entrada directa. Cambia a voz enfocada o personalizada para usarla." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "\"Pulsar para hablar\" está activado. Mantén presionada tu tecla para hablar." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "\"Pulsar para hablar\" solo funciona mientras {productName} tiene el foco porque tu escritorio no configuró los atajos de todo el sistema." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "El \"hablar para activar\" solo funciona mientras {productName} está enfocado hasta que se habilite {permissionName}." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "\"Pulsar para hablar\" solo funciona mientras {productName} tiene el foco hasta que configures los atajos de todo el sistema." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Pulsar para hablar solo funciona cuando la pestaña del navegador está activa." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "\"Pulsar para hablar\" usará la tecla que configures en {productName}. Configura una primero o tu micrófono usará la actividad de voz." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "La función \"pulsar para hablar\" no activará el micrófono mientras tengas el sonido desactivado. Activa el sonido para poder hablar." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "\"Pulsar para hablar\" solo funciona fuera de {productName} después de asignarlo en tu configuración de Hyprland." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "\"Pulsar para hablar\" solo funciona fuera de {productName} después de asignarlo en tu configuración de Hyprland. Agrega la línea de tu versión de Hyprland y reemplaza KEY por la tecla que quieras." @@ -27533,12 +27533,12 @@ msgstr "Los destinatarios serán llevados a {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Recomendado" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Recomendado. Reduce el ruido del micrófono para que la voz se escuche con claridad." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Reconexión exitosa. Elige una pantalla de nuevo si quieres reanudar tu transmisión anterior." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Reconectando con tu escritorio…" @@ -27836,7 +27836,7 @@ msgstr "Reiniciar para aplicar" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Retraso de liberación" @@ -27853,7 +27853,7 @@ msgstr "Relevante" msgid "Reload" msgstr "Recargar" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Recarga {PRODUCT_NAME} para aplicar por completo el cambio de motor. Cambiar entre el corrector ortográfico de la aplicación y el del sistema requiere recargar el proceso de renderizado, ya que Electron no puede cambiar de proveedor mientras se ejecuta." @@ -27872,7 +27872,7 @@ msgstr "Recarga {productName} para usar la actualización web {version}" msgid "Reload app" msgstr "Recargar la aplicación" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Recargar ahora" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Eliminar" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Quitar \"{word}\" del diccionario" @@ -28086,8 +28086,8 @@ msgstr "Quitar de los GIF favoritos guardados por URL" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Quitar ícono" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Filas por página" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "Paquete RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Seguridad" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Misma hora que tú" @@ -29770,7 +29770,7 @@ msgstr "Grabación de pantalla" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Se necesita permiso para grabar la pantalla" @@ -29858,7 +29858,7 @@ msgstr "Privacidad de compartir pantalla" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Calidad de la pantalla compartida" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Buscar código de idioma…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Buscar idiomas…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Seleccionar GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Selecciona el idioma de la interfaz" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Selecciona la cuenta con la que quieres iniciar sesión en tu nuevo dispositivo." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Seleccionar modo de procesamiento de voz" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Envía el audio puro del micrófono sin procesar." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Envía tu audio sin modificar. Ideal si usas software de audio externo." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Se estableció una posición en la lista de miembros para el rol" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Establecido por el preset {preset}. Al elegir un valor aquí, se cambiará a Personalizado." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Se estableció la región de voz en automática" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Configurar" @@ -31307,7 +31307,7 @@ msgstr "Compartir con un amigo" msgid "Share your screen" msgstr "Compartir pantalla" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Comparte tu pantalla en alta definición (1080p), quad HD (1440p) o a la resolución nativa de la fuente, hasta a 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Códigos cortos" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Atajo" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Insignias de atajos" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Mostrar botón de favoritos" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Mostrar favoritos en toda la aplicación" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Iniciar sesión con tu navegador" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Iniciar sesión con tu antigua app de {productName}" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "¿Cerrar sesión?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Inicio de sesión cancelado" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Detalles de inicio de sesión" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Flujo de inicio de sesión" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Iniciando sesión como {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "¿Iniciando sesión en otro dispositivo?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Sonidos" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Velocidad" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Corrector ortográfico" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Motor de corrección ortográfica" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Animación de estrella" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Canales favoritos" @@ -33140,7 +33140,7 @@ msgstr "¿Iniciar una llamada de voz?" msgid "Start call" msgstr "Iniciar llamada" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Iniciar prueba de cámara y configurar efectos" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Empezar minimizado" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Inicio" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Neko estático" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Aún indexando; vuelve a intentarlo en un momento" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Neko inmóvil" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Aún esperando acceso a la grabación de pantalla" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Detener prueba del micrófono" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Evita que Neko persiga tu cursor, pero permite seguir arrastrándolo e interactuando con él." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Ya tienes esta suscripción" @@ -33957,7 +33957,7 @@ msgstr "Cambiar a diseño cómodo" msgid "Switch to dense layout" msgstr "Cambiar a diseño compacto" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Cambiar a entrada directa" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "Los MD del sistema no pueden alojar llamadas de voz." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Formato de hora del sistema: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Bandeja del sistema" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Instalación gestionada por el sistema" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Atajos de todo el sistema" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "No se pudieron configurar los atajos de todo el sistema." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Toca para agregar una nota" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "Archivo tar.gz" @@ -34360,7 +34360,7 @@ msgstr "Insignia de la barra de tareas" msgid "Teleporting you to another voice region..." msgstr "Teletransportándote a otra región de voz..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Plantilla" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "La app {PRODUCT_NAME} en tu otro dispositivo la muestra en \"Iniciar sesión en otro dispositivo\". Solo ingresa un código de un dispositivo que controles." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "La app {PRODUCT_NAME} no inició sesión. Puedes cerrar esta pestaña." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Es posible que la comunidad que buscas haya sido eliminada o que no tengas acceso a ella." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "No se pudo descargar la actualización de escritorio. Intenta de nuevo desde el botón de actualización cuando tu conexión sea estable." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "El archivo descargado se guarda en tu computadora. Instálalo con tu gestor de paquetes habitual." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Esta categoría ya contiene el máximo de {maxChannelsPerCategory} canales." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Esta categoría está marcada para contenido para adultos y puede contener material que no sea apropiado para algunos usuarios." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Este canal tiene una advertencia de contenido. Las actualizaciones solo pueden enviarse a canales con advertencia de contenido o restricción de edad." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Este canal está marcado para contenido para adultos y puede contener material que podría ser inapropiado para algunos usuarios." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Esta comunidad está llena" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Esta comunidad está marcada para contenido para adultos y puede contener material que no sea apropiado para algunos usuarios." @@ -35324,14 +35324,14 @@ msgstr "Esta comunidad ya no está disponible" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Esta conexión ha sido verificada." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Esta conexión no se ha verificado." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Esta conversación ya no está disponible." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Esta versión de escritorio no puede instalar actualizaciones dentro de {productName}. Descarga el instalador de escritorio más reciente en su lugar." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Este escritorio no ofrece atajos de todo el sistema. \"Pulsar para hablar\" solo funciona mientras {productName} tiene el foco." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Este escritorio no ofrece atajos de todo el sistema. Los atajos siguen funcionando mientras {productName} tiene el foco." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Esta versión de desarrollo no se puede actualizar automáticamente. Descarga un instalador de escritorio para probar el flujo de actualización." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Esta imagen no se pudo leer. Podría estar dañada." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Esta instalación está gestionada por tu sistema. Actualiza {productName} desde tu centro de software o gestor de paquetes." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Esta instancia ya usa nombres de usuario para iniciar sesión. Esto ya no se puede cambiar." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Esta instancia actualmente permite compartir pantalla hasta 720p a 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Este enlace no es válido. Vuelve a abrir el enlace de tu correo electrónico." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Esta categoría para adultos no está disponible para tu cuenta." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Esta categoría para adultos no está disponible para tu cuenta. <0>Más información" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Este canal para adultos no está disponible para tu cuenta." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Este canal para adultos no está disponible para tu cuenta. <0>Más información" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Esta comunidad para adultos no está disponible para tu cuenta." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Esta comunidad para adultos no está disponible para tu cuenta. <0>Más información" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Este contenido para adultos no está disponible para tu cuenta." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Este contenido para adultos no está disponible para tu cuenta. <0>Más información" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Este plan no está disponible. Contacta a soporte." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Este plan no está disponible. Contacta a los administradores de esta instancia." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Esta compra no es elegible para un reembolso." @@ -35837,7 +35853,7 @@ msgstr "Este hilo está bloqueado. Solo los moderadores pueden enviar mensajes." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Este usuario ha limitado su perfil. Algunos detalles están ocultos para quienes no son sus amigos." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Este usuario no tiene roles en esta comunidad." @@ -36050,14 +36066,14 @@ msgstr "Hora" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Formato de hora" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Selección de formato de hora" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Plataforma de la barra de título" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Para cambiar las teclas, ve a Configuración > Aplicaciones > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Para cambiar las teclas, ve a Preferencias del sistema > Teclado > Accesos rápidos > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Para cambiar las teclas, abre la configuración de atajos de teclado de tu escritorio." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Barra de herramientas" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Atajos en las ayudas emergentes" @@ -36864,7 +36880,7 @@ msgstr "24 horas" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Dos clics" @@ -37263,7 +37279,7 @@ msgstr "Alternativa universal. La calidad más baja, pero funciona en todas part #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Desconocido" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Desbloquea los emojis personalizados en los MD con {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Desbloquea la pantalla compartida en HD con {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Hasta 720p a 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Actualiza {productName} para usar atajos de todo el sistema en Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Actualizar mi estado" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Actualizar ahora" @@ -38008,8 +38024,8 @@ msgstr "Sube archivos y contenido multimedia en este canal." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Subir ícono" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Usar {name} en {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Usar {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Usar {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Usar otro método" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Usar desplazamiento automático" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Usar tarjeta" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Usar predeterminado" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Usar acceso directo a los dispositivos de entrada" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Usar stickers de otras comunidades." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Usar la configuración regional del sistema para el formato de hora" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Usar el marco de ventana del sistema operativo" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Usar el corrector ortográfico integrado en tu sistema operativo." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Usar actividad de voz" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Usa el corrector ortográfico de tu sistema operativo cuando esté disponible. De lo contrario, usa los diccionarios integrados de {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Verifica tu correo electrónico primero" @@ -39244,7 +39260,7 @@ msgstr "Ver detalles" msgid "View devices that are signed in to your account" msgstr "Ver los dispositivos que tienen una sesión iniciada en tu cuenta" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Ver perfil completo" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Canal de voz" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Confirmación de canal de voz" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Canal de voz lleno" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Comportamiento al unirse a canales de voz" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Participantes en la llamada" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Procesamiento de voz" @@ -39661,7 +39677,7 @@ msgstr "Activar sonido" msgid "Voice unmute" msgstr "Activar micrófono" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "La voz usa el dispositivo de salida de tu sistema en este navegador. Cámbialo en la configuración de tu sistema." @@ -39675,7 +39691,7 @@ msgstr "Anulada" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Tiempo de espera entre mensajes. Los miembros con el permiso \"{bypassSl msgid "Waiting for connection..." msgstr "Esperando conexión..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Esperando la llave de acceso…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Esperando que..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Esperando a tu escritorio…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "No pudimos leer este tema. Puede que esté dañado o no sea válido." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Redimensionamos y comprimimos este sticker a 320x320 píxeles, pero sigu msgid "We sent a code to {email}." msgstr "Enviamos un código a {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Vamos a rellenar automáticamente {prefillEmail} cuando se abra el inicio de sesión en el navegador." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Vistas previas de sitios web" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Te damos la bienvenida de nuevo" @@ -40321,7 +40337,7 @@ msgstr "Qué comunidades" msgid "Which conversations" msgstr "Qué conversaciones" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Mientras la función pulsar para hablar esté activada, tu atajo controlará el micrófono, por lo que el botón de silenciar estará deshabilitado." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Acabas de presionar Tab. El modo de teclado está activado para que puedas navegar por {productName} sin mouse." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Conservarás tus beneficios hasta la próxima fecha de renovación. Reactiva tu suscripción antes de esa fecha para mantener tu historial de suscriptor." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Perderás todos los beneficios de {PREMIUM_PRODUCT_NAME} inmediatamente y tu historial de suscripción se restablecerá. Esto no se puede deshacer." @@ -41137,8 +41153,8 @@ msgstr "Necesitas el permiso \"{permissionLabel}\" para usar emojis de otras com msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Necesitas el permiso \"{permissionLabel}\" para usar stickers de otras comunidades aquí." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Debes completar el registro de tu cuenta antes de poder crear una comunidad." @@ -41155,8 +41171,8 @@ msgstr "Debes completar el registro de tu cuenta para enviar mensajes directos." msgid "You need to claim your account to send messages in this community." msgstr "Debes completar el registro de tu cuenta para enviar mensajes en esta comunidad." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Necesitas verificar tu dirección de correo electrónico antes de poder crear una comunidad." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Debes verificar tu correo electrónico antes de poder comprar {premiumProductFullName}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Aparecerás como desconectado" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Se te cobrará ahora. Tu tiempo de regalo restante se agregará después de tu período de pago, para que no se pierda nada." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Ya eres Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Estás enviando reportes muy rápido. Intenta de nuevo más tarde." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Has iniciado sesión" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Tu cuenta es demasiado nueva para enviar mensajes en esta comunidad." msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Tu solicitud de cuenta está pendiente de aprobación. Podrás iniciar sesión cuando un administrador la apruebe." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Tu cuenta requiere autenticación multifactor, pero no hay métodos compatibles configurados en este dispositivo. Inicia sesión en un dispositivo con tu aplicación de autenticación o llave de seguridad, o contacta a soporte." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Tu cuenta requiere autenticación multifactor, pero no hay métodos compatibles configurados en este dispositivo. Inicia sesión en un dispositivo con tu aplicación de autenticación o llave de seguridad, o contacta a los administradores de esta instancia." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Tus cuentas y configuraciones no han sido cambiadas ni eliminadas." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "No pudimos completar tu acción porque fue marcada por nuestros sistemas de seguridad. Si crees que es un error, comunícate con soporte." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "No pudimos completar tu acción porque fue marcada por nuestros sistemas de seguridad. Si crees que es un error, comunícate con los administradores de esta instancia." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Tu kit actual deja de funcionar tan pronto como se crea uno nuevo." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Tu escritorio no configuró los atajos de todo el sistema." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Tu escritorio reserva estas teclas para {productName}, por lo que otras aplicaciones no pueden usarlas." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Tu escritorio reserva estas teclas para {productName}, por lo que otras aplicaciones no pueden usarlas. Para usar la misma tecla en otras aplicaciones, activa el acceso directo a los dispositivos de entrada más abajo." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Tu escritorio ejecuta estos atajos incluso cuando {productName} no tiene el foco." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Tu tiempo de regalo terminó. Suscríbete para conservar {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Tu tiempo de regalo se conserva" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Tu período de gracia ha terminado." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Tu instalación está dañada y necesitas reinstalar la aplicación para que todas las funciones anden." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Tu última compra está fuera del período de reembolso. Contacta a soporte técnico para problemas de facturación." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "No pudimos entregar tu mensaje porque fue marcado por nuestros sistemas de seguridad. Si crees que es un error, comunícate con soporte." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "No pudimos entregar tu mensaje porque fue marcado por nuestros sistemas de seguridad. Si crees que es un error, comunícate con los administradores de esta instancia." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "No se pudo entregar tu mensaje. Esto suele ocurrir porque no compartes una comunidad con el destinatario o porque el destinatario solo acepta mensajes directos de amigos. También es posible que debas ajustar tu propia configuración de privacidad de mensajes directos en {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "No se pudo entregar tu mensaje. Debes completar el registro de tu cuenta para enviar mensajes directos." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "No se pudo entregar tu mensaje. Debes completar el registro de tu cuenta para enviar mensajes." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Tu reporte no se envió. Intenta de nuevo." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Tu {savedResolution} guardado a {savedFrameRate} FPS requiere {premiumProductName}, por lo que los envíos usan {resolution} a {frameRate} FPS." 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 b362a8893..1b58c9a78 100644 --- a/fluxer_app/src/features/i18n/locales/es-ES/messages.po +++ b/fluxer_app/src/features/i18n/locales/es-ES/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} ejecuta una versión más reciente de Fluxer que esta aplicación. Actualiza Fluxer y vuelve a intentarlo." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} por delante de tu hora" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} por detrás de tu hora" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "Hace {hours, plural, one {# hora} other {# horas}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# hora} other {# horas}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# hora} other {# horas}} {minutes, plural, one {# minuto} other {# minutos}}" @@ -1602,7 +1602,7 @@ msgstr "El archivo {label} es demasiado grande. Elige un archivo de menos de {ma msgid "{label} images cannot be animated. Use a static image." msgstr "Las imágenes de {label} no pueden estar animadas. Usa una imagen estática." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Bandera: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "Hace {minutes, plural, one {# minuto} other {# minutos}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minuto} many {# minutos} other {# minutos}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} ha encontrado un nuevo dispositivo de salida de audio lla msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} debe reiniciarse para aplicar los ajustes de desplazamiento nativo de Chromium." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} debe reiniciarse para que la aceleración de hardware surta efecto." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} necesita reiniciarse para que el cambio en la barra de título surta efecto." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} necesita reiniciarse para deshabilitar la aceleración de hardware de Chromium. Usa esto solo si estás solucionando problemas gráficos o un alto uso de la GPU." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Cazador de errores de {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} puede pedirle a tu escritorio que ejecute sus atajos cuando {productName} no tiene el foco. Tu escritorio te pedirá confirmación y te dejará elegir las teclas." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} ya no puede leer tu teclado, así que ahora escucha los atajos a través de X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} ya no puede leer tu teclado, así que se usan los atajos de tu escritorio." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} ya no puede leer tu teclado. Los atajos solo funcionan mientras {productName} tiene el foco." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} puede registrar sus atajos en Hyprland para que funcionen cuando {productName} no tiene el foco. Luego asigna las teclas en tu configuración de Hyprland." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} no puede usar un codificador de hardware para esto, por lo que utilizará tu CPU." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} se cerrará, instalará la actualización y se volverá a abrir." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} no pudo contactar con el servicio de actualizaciones. Comprueba tu conexión e inténtalo de nuevo." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} se ha mudado a {host}. Ábrelo en tu navegador para instalar la nueva app." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Miembro de {productName} desde" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} necesita acceso a tu micrófono. Permite el acceso al micrófono en los ajustes de privacidad de tu sistema operativo y reinicia la aplicación." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} necesita acceso a la cámara para mostrar tus dispositivos." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} necesita acceso al micrófono para mostrar tus dispositivos." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "Kit de recuperación de {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} ha registrado sus atajos en Hyprland. Asígnalos en tu configuración de Hyprland para usarlos cuando {productName} no tenga el foco." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 meses (1 año)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12 horas" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 horas" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24 horas" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "un nombre de host, p. ej., {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Hay una actualización de escritorio para Linux disponible. Elige el formato del paquete para este sistema y {productName} lo guardará localmente." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "un minuto" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Hay una nueva versión de escritorio disponible. Descarga el instalador y ejecútalo para actualizar {productName}." @@ -2817,7 +2817,7 @@ msgstr "Acerca de {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Acerca de mí" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Compartir actividad" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Umbral de actividad" @@ -3155,7 +3155,7 @@ msgstr "Tamaño real" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Añadir" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Primero, añade un nombre de usuario y una contraseña a tu cuenta." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Añadir una palabra…" @@ -3244,7 +3244,7 @@ msgstr "Añade una clave de YouTube Data API para enriquecer los enlaces de YouT #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Añadir cuenta" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Dirección" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Ajusta cada opción tú mismo: supresión de ruido, cancelación de eco y ganancia." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Avanzado" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Ajustes avanzados de vídeo" @@ -3906,22 +3906,22 @@ msgstr "Permitir" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Permitir {everyoneMention} y {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Permite que {PRODUCT_NAME} acceda a tu cámara en Ajustes del sistema → Privacidad y seguridad → Cámara." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Permite que {PRODUCT_NAME} acceda a tu micrófono en Ajustes del Sistema → Privacidad y seguridad → Micrófono." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Permite que {PRODUCT_NAME} acceda a tu micrófono. Comprueba la barra de direcciones o los ajustes de tu navegador." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Permite {productName} en Grabación de pantalla en los Ajustes del sistema. Si ya está permitido, reinicia {productName2} para que macOS lo aplique." @@ -3961,7 +3961,7 @@ msgstr "Permitir mensajes directos del bot" msgid "Allow bots to send you direct messages?" msgstr "¿Permitir que los bots te envíen mensajes directos?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Permitir acceso a la cámara" @@ -4029,7 +4029,7 @@ msgstr "Permitir que los miembros sin el permiso {readMessageHistoryPermissionLa msgid "Allow mentions for this role" msgstr "Permitir menciones para este rol" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Permitir micrófono" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Subrayar siempre los enlaces" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Usar siempre los diccionarios Hunspell de {productName}, descargados bajo demanda." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Indicador en el icono de la aplicación" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Formato de hora según el idioma de la aplicación: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Se requiere aprobación" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Aprueba esta app desde la app {productName} que ya usas. No necesitas contraseña." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Autorizada el {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Automático" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Detectar idioma automáticamente" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Establecer umbral de actividad automáticamente" @@ -5534,7 +5534,7 @@ msgstr "AV1 (requiere activación)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Disponible" @@ -5608,11 +5608,11 @@ msgstr "Ausente ahora mismo" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Mejor compresión. Úsala solo cuando WebRTC exponga un codificador y el informe de la GPU indique que está respaldado por hardware." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Mejor con la aplicación de escritorio" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Página de inicio del navegador" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Formato de hora del navegador: {format}" @@ -6545,8 +6545,8 @@ msgstr "Compra un regalo de {premiumProductName} en la pestaña {premiumProductN msgid "Buy gift" msgstr "Comprar regalo" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Al crear una comunidad, aceptas seguir y respetar las <0>normas de la comunidad de {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Llamadas" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Previsualización de la cámara" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Calidad de la cámara" @@ -6809,8 +6809,8 @@ msgstr "No se pueden subir archivos aquí" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Cancelar cambio programado" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Cancelar suscripción" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "¿Cancelar suscripción?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Categoría" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Aviso de contenido de la categoría" @@ -7131,15 +7131,15 @@ msgstr "Cambiar apodo en el grupo" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Cambiar icono" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Cambiar en la configuración del sistema" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Insignias del canal" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Aviso de contenido del canal" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Atajos de chat" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Volver a comprobar" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Comprobando acceso..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Comprobando el permiso para grabar la pantalla..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Pago no disponible" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Elige cómo quieres pagar esta suscripción." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Elige un método de pago" @@ -8174,7 +8174,7 @@ msgstr "Elige tus valores predeterminados" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Elige tu instancia" @@ -8216,8 +8216,8 @@ msgstr "Reclamar regalo" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Completa el registro de tu cuenta" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Insignias de la comunidad" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Aviso sobre el contenido de la comunidad" @@ -9089,8 +9089,8 @@ msgstr "MD de la comunidad" msgid "Community filter" msgstr "Filtro de comunidades" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Icono de la comunidad" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Comunidad actualizada" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Voz de la comunidad" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Completar pago" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Completa la verificación de contenido para adultos para desbloquear el contenido para adultos." @@ -9409,7 +9409,7 @@ msgstr "Confirmar" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Confirmar antes de unirte a canales de voz" @@ -9457,7 +9457,7 @@ msgstr "Confirma la declaración para enviar la denuncia." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Confirmar conexión a canales de voz" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Confirmación" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Confirmación o doble clic para unirse a los canales de voz de la comunidad." @@ -9476,7 +9476,7 @@ msgstr "Confirmación o doble clic para unirse a los canales de voz de la comuni msgid "Conflicts with {conflictLabel}" msgstr "Entra en conflicto con {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Conecta una cámara y vuelve a intentarlo." @@ -9489,7 +9489,7 @@ msgstr "Conecta una cámara o un dispositivo de captura virtual y vuelve a inten msgid "Connect a display, then try again." msgstr "Conecta una pantalla y vuelve a intentarlo." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Conecta un micrófono y vuelve a intentarlo." @@ -9633,7 +9633,7 @@ msgstr "Conexión: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Contacto" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Contenido bloqueado" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Continuar en tu navegador" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Continuar al pago" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Continuar con clave de acceso" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Copiar enlace de invitación" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Copiar líneas" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Copiar líneas para hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Copiar líneas para hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "No se pudo cambiar tu precio" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "No se han podido buscar actualizaciones" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "No se pudieron eliminar tus mensajes" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "No se ha podido descargar la actualización de escritorio" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "No se pudo iniciar el pago" @@ -10932,7 +10932,7 @@ msgstr "Crear y compartir" msgid "Create a community" msgstr "Crear una comunidad" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Crea una comunidad para chatear con tus amigos." @@ -11365,7 +11365,7 @@ msgstr "Fuente personalizada" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Sonido desactivado por los moderadores" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "Paquete DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Aplicación de escritorio" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "La aplicación de escritorio está actualizada" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Actualización de escritorio {version} disponible. Elige un paquete de Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Actualización de escritorio disponible" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Actualización de escritorio disponible. Elige un paquete de Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "La versión de escritorio {version} ya está disponible. Descarga el instalador y ejecútalo para actualizar {productName}." @@ -12613,7 +12613,7 @@ msgstr "Detalles: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Detectar al escribir" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Herramientas de desarrollador no disponibles" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Versión de desarrollo" @@ -13455,8 +13455,8 @@ msgstr "Descargar" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Descargar {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification y colócalo en tu carpeta <1>.well-known para que podamos validar el dominio." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Descargar app" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Descargar la app" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Botón de descarga" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Descargar aplicación de escritorio" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Descargar imagen" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Descargar instalador" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Descargar contenido multimedia" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Descargar paquete" @@ -13655,11 +13655,11 @@ msgstr "Soltar objeto" msgid "Drop to upload background" msgstr "Suelta para subir el fondo" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Debido a las leyes de contenido para adultos en {regionName}, el contenido para adultos está bloqueado hasta que completes la verificación de contenido para adultos." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Debido a las leyes de contenido para adultos en {regionName}, el contenido para adultos no está disponible aquí. Las comprobaciones de contenido para adultos solo están disponibles en el Reino Unido." @@ -13673,7 +13673,7 @@ msgstr "Debido a las leyes de contenido para adultos en {regionName}, este conte msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Debido a las leyes de contenido para adultos en {regionName}, este contenido no está disponible aquí. Las comprobaciones de contenido para adultos solo están disponibles en el Reino Unido." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Debido a las leyes de contenido para adultos en {regionName}, este contenido multimedia no está disponible en tu región actual." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Cada código funciona una vez en lugar de tu aplicación de autenticación." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Cada tecla solo puede ejecutar un atajo del sistema." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Habilitar" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Habilitar el permiso {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Activar atajo" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Activar corrector ortográfico" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Finalizar período de gracia ahora" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Finalizar período de gracia" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "¿Finalizar el período de gracia ahora?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Introduce el PIN de tu llave de seguridad para continuar." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Introduce este código en tu navegador" @@ -14845,7 +14845,7 @@ msgstr "Introduce este código en tu navegador" msgid "Enter this code in your browser to complete sign-in." msgstr "Introduce este código en tu navegador para completar el inicio de sesión." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Introduce este código en tu antigua aplicación {PRODUCT_NAME} para completar el inicio de sesión." @@ -14916,7 +14916,7 @@ msgstr "Audio de todo el sistema" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Sonido de entrada" @@ -15026,7 +15026,7 @@ msgstr "Tarde" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Iguala el volumen de tu micrófono para que no suenes demasiado bajo." @@ -15249,7 +15249,7 @@ msgstr "Caduca entre {earliest} y {latest}" msgid "Expires in {remaining}s" msgstr "Caduca en {remaining} s" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Caduca en {remainingSeconds}s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Marcar canal como favorito" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Canales favoritos" @@ -16243,7 +16243,7 @@ msgstr "Durante {threeHours} horas" msgid "For {twentyFourHours} hours" msgstr "Durante {twentyFourHours} horas" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Solo para ojos británicos..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Para mí" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Para \"Pulsar para silenciar\", usa una sola tecla sin Ctrl, Alt ni Mayús. Con una combinación, suelta primero la tecla principal o el micrófono podría quedarse silenciado." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Para \"Pulsar para hablar\", usa una sola tecla sin Ctrl, Alt ni Mayús. Con una combinación, suelta primero la tecla principal o el micrófono podría quedarse activado." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Para este atajo, usa una sola tecla sin Ctrl, Alt ni Mayús. Con una combinación, suelta primero la tecla principal o el atajo podría quedarse activo." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Para \"Prioridad de actividad de voz\", usa una sola tecla sin Ctrl, Alt ni Mayús. Con una combinación, suelta primero la tecla principal o la prioridad podría quedarse activada." @@ -16460,14 +16460,14 @@ msgstr "Marco" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Velocidad de fotogramas" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Las velocidades de fotogramas superiores a 30 FPS requieren {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Recibe notificaciones cuando te lleguen mensajes. Puede que tengas que permitir las notificaciones en los ajustes de tu navegador. Para controles por canal o comunidad, haz clic derecho en el icono de una comunidad y abre los ajustes de notificaciones." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Consigue la aplicación de escritorio de {productName} para usar la función «pulsar para hablar» en todo el sistema y otras ventajas." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Consigue la aplicación de escritorio" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Vuelve a {productName} para continuar." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Vuelve a la aplicación {PRODUCT_NAME}. Termina de iniciar sesión sola." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Vuelve a la aplicación {PRODUCT_NAME}. Puedes cerrar esta pestaña." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Ayuda" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Botón de ayuda" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Centro de ayuda" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Centro de ayuda" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Ayuda a traducir {PRODUCT_NAME} a tu idioma en <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Ocultar chat" msgid "Hide community owner crown" msgstr "Ocultar la corona del propietario de la comunidad" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Ocultar botón de descarga" @@ -17860,7 +17860,7 @@ msgstr "Ocultar favoritos" msgid "Hide guidelines" msgstr "Ocultar directrices" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Ocultar el botón de ayuda" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Ocultar avisos de incorporación" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Ocultar sugerencias del teclado" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Hipervínculo" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland no tiene un diálogo de atajos. Añade las líneas de tu versión de Hyprland a tu configuración de Hyprland y sustituye KEY por la tecla que quieras." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland no tiene un diálogo de atajos. Asigna las teclas en tu configuración de Hyprland." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (antes de Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 y posteriores)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Confirmo de buena fe que la información y las alegaciones de esta denuncia son exactas y completas." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Entendido" @@ -18598,11 +18598,11 @@ msgstr "Importando… Procesados: {processedCount, number} / {totalCount, number msgid "In" msgstr "En" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "En el modo \"Sistema operativo\", los diccionarios indicados anteriormente son orientativos. {PRODUCT_NAME} pasará estas etiquetas de idioma al corrector ortográfico de tu sistema operativo cuando sea compatible. Las etiquetas que no reconozca se ignorarán." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "En un navegador, la función pulsar para hablar solo funciona si la pestaña de {PRODUCT_NAME} está activa. Instala la aplicación de escritorio para usar la función pulsar para hablar en todo el sistema." @@ -18650,7 +18650,7 @@ msgstr "En el chat de voz" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Diccionarios de la aplicación" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Entrada" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Entrada y salida" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Insertar emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Instala {productName} para tener el selector de fuentes completo y controles de pantalla compartida más fluidos." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Instalar la nueva app" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Instalada" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Versión instalada: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Interfaz" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Idioma de la interfaz" @@ -19467,13 +19467,13 @@ msgstr "Unirse" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Unirse a {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Únete a {communityName} para chatear con el equipo y mantenerte al día." @@ -19561,7 +19561,7 @@ msgstr "Unirse a la videollamada" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Unirse a la llamada de voz" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Mantén los niveles gratuito y premium. Puedes personalizar los niveles, vender premium a través de Stripe o entregar códigos de regalo más tarde desde el panel de administración." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Mantener período de gracia" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Seguir ejecutando" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Mantener suscripción" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Guarda esta página en un lugar seguro. Si olvidas tu contraseña, puedes usarla para volver a acceder a tu cuenta. Cualquiera que tenga esta clave de recuperación podrá restablecer tu contraseña, así que no la compartas nunca." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Sigue transmitiendo brevemente después de soltar el botón." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Teclado" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "No se pudo iniciar el acceso al teclado. Los atajos solo funcionan mientras {productName} tiene el foco." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Modo teclado" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Indicaciones de atajos de teclado en la ayuda emergente" @@ -19923,7 +19923,7 @@ msgstr "Ajustes de idioma" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Idiomas" @@ -19971,7 +19971,7 @@ msgstr "Gráfico de latencia" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Se ha permitido que el miembro vuelva a escuchar a los demás en esta comunidad" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Permite que {productName} lea tu teclado directamente. Desactiva esta opción para configurar los atajos desde tu escritorio." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Permite que {productName} lea tu teclado directamente. Tu sistema ya lo permite." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Predeterminado de Linux" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Paquete de Linux" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Archivos locales" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Hora local" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Apariencia y estilo" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Parece que estás usando {0}. Añadir el procesamiento de {PRODUCT_NAME} puede causar bombeo o distorsión. La entrada directa transmite el audio sin modificar." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Hacer propietario del grupo" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Asegúrate de que este código coincida con el de la aplicación {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Gestionar tu suscripción" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Actualización manual de la aplicación de escritorio" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Volumen principal" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Categoría para adultos" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Canal para adultos" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Comunidad para adultos" @@ -21194,7 +21194,7 @@ msgstr "Comprobación de contenido para adultos enviada" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Las comprobaciones de contenido para adultos solo están disponibles actualmente en el Reino Unido." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Roles de miembro actualizados" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Miembro desde" @@ -22013,7 +22013,7 @@ msgstr "Micrófono" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Prueba de micrófono" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Gato Neko que persigue tu cursor" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Los usuarios nuevos no pueden unirse ahora mismo. Puedes crear una cuenta o iniciar sesión y volver a probar este enlace más tarde." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Nueva versión" @@ -23465,7 +23465,7 @@ msgstr "Sin mensajes guardados" msgid "No bot banner" msgstr "Sin banner de bot" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "No se ha encontrado ninguna cámara" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Sin descripción." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "No hay actualizaciones disponibles para la aplicación de escritorio." @@ -23684,7 +23684,7 @@ msgstr "No hay publicaciones que coincidan" msgid "No mentions yet" msgstr "Aún no hay menciones" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "No se ha encontrado ningún micrófono" @@ -23731,7 +23731,7 @@ msgstr "No hay solicitudes pendientes que coincidan con la búsqueda" msgid "No permissions found" msgstr "No se encontraron permisos" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Aún no hay palabras personales." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "No permitido" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Sin asignar" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Al hacer clic" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "En tu otro dispositivo, inicia sesión en {signInAddress} e introduce este código cuando se te solicite." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Abrir {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Abrir {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Abrir selector de cuentas" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Abrir ajustes avanzados de contenido multimedia" @@ -24788,7 +24788,7 @@ msgstr "Abrir opciones del banner" msgid "Open bookmarks" msgstr "Abrir mensajes guardados" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Abrir navegador" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Abrir selector de fecha" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Abrir descargas de escritorio" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Abrir ajustes" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Abrir centro de software" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Abrir Ajustes del Sistema" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Abre Ajustes del Sistema → Privacidad y seguridad → Grabación de pantalla y, a continuación, permite {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Abrir JSON de plantilla" @@ -25089,7 +25089,7 @@ msgstr "Abrir JSON de plantilla" msgid "Open the context menu" msgstr "Abrir el menú contextual" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Abre el siguiente enlace en tu navegador, luego copia la respuesta JSON completa y pégala en el cuadro." @@ -25167,11 +25167,11 @@ msgstr "Abrir ajustes de audio y vídeo" msgid "Open with {accountName} on {instanceName}" msgstr "Abrir con {accountName} en {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Abre tu navegador, inicia sesión y, a continuación, introduce el código de abajo para vincular tu cuenta." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Abre tu antigua app de {PRODUCT_NAME}, selecciona \"Vincular un dispositivo nuevo\" y luego introduce el código de abajo." @@ -25199,7 +25199,7 @@ msgstr "Abre la página de Miembros. Pulsa la barra espaciadora o Intro para abr #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Sistema operativo" @@ -25629,7 +25629,7 @@ msgstr "Últimos 7 días" msgid "Paste" msgstr "Pegar" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Pega la URL de una plantilla de {theOtherPlatform} para importar su estructura a una nueva comunidad." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Permisos para {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Diccionario personal" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Selecciona al menos una etiqueta para esta publicación." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Elige uno o varios diccionarios. Se aceptarán las palabras de cualquier diccionario seleccionado, lo que es útil para chats multilingües." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "El precio aún se está cargando." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Compras no disponibles" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Tecla para pulsar y hablar" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Pulsar para hablar" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Pulsar para hablar (limitado)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "\"Pulsar para hablar\" aún no tiene una tecla en todo el sistema. Para asignar una, ve a Configuración > Aplicaciones > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "\"Pulsar para hablar\" aún no tiene una tecla en todo el sistema. Para asignar una, ve a Preferencias del sistema > Teclado > Accesos rápidos > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "\"Pulsar para hablar\" aún no tiene una tecla en todo el sistema. Para asignar una, abre los ajustes de atajos de teclado de tu escritorio." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "La función \"Pulsar para hablar\" se ignora en la entrada directa. Cambia a voz enfocada o personalizada para usarla." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "\"Pulsar para hablar\" está activado. Mantén pulsada tu tecla para hablar." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "\"Pulsar para hablar\" solo funciona mientras {productName} tiene el foco porque tu escritorio no ha configurado los atajos de todo el sistema." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "La función de pulsar para hablar solo funciona mientras {productName} está enfocado hasta que se habilite {permissionName}." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "\"Pulsar para hablar\" solo funciona mientras {productName} tiene el foco hasta que configures los atajos de todo el sistema." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Pulsar para hablar solo funciona si la pestaña del navegador está activa." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "\"Pulsar para hablar\" usará la tecla que configures en {productName}. Configura una primero o tu micrófono usará la actividad de voz." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "La función \"pulsar para hablar\" no activará el micrófono mientras tengas el sonido desactivado. Activa el sonido para poder hablar." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "\"Pulsar para hablar\" solo funciona fuera de {productName} después de asignarlo en tu configuración de Hyprland." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "\"Pulsar para hablar\" solo funciona fuera de {productName} después de asignarlo en tu configuración de Hyprland. Añade la línea de tu versión de Hyprland y sustituye KEY por la tecla que quieras." @@ -27533,12 +27533,12 @@ msgstr "Los destinatarios irán a {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Recomendado" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Recomendado. Reduce el ruido del micrófono para que la voz se escuche con claridad." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Reconexión correcta. Elige una pantalla de nuevo si quieres reanudar tu transmisión anterior." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Reconectando con tu escritorio…" @@ -27836,7 +27836,7 @@ msgstr "Reiniciar para aplicar" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Retraso de la liberación" @@ -27853,7 +27853,7 @@ msgstr "Relevante" msgid "Reload" msgstr "Recargar" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Recarga {PRODUCT_NAME} para aplicar por completo el cambio de motor. Cambiar entre el corrector ortográfico de la aplicación y el del sistema requiere recargar el proceso de renderizado, ya que Electron no puede cambiar de proveedor mientras se ejecuta." @@ -27872,7 +27872,7 @@ msgstr "Recarga {productName} para usar la actualización web {version}" msgid "Reload app" msgstr "Recargar la aplicación" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Recargar ahora" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Eliminar" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Eliminar \"{word}\" del diccionario" @@ -28086,8 +28086,8 @@ msgstr "Eliminar de los GIF favoritos guardados por URL" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Eliminar icono" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Filas por página" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "Paquete RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Seguridad" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Misma hora que tú" @@ -29770,7 +29770,7 @@ msgstr "Grabación de pantalla" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Se necesita permiso para grabar la pantalla" @@ -29858,7 +29858,7 @@ msgstr "Privacidad de compartir pantalla" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Calidad de la pantalla compartida" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Buscar código de idioma…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Buscar idiomas…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Seleccionar GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Selecciona el idioma de la interfaz" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Selecciona la cuenta con la que quieres iniciar sesión en tu nuevo dispositivo." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Selecciona el modo de procesamiento de voz" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Envía el audio del micrófono sin procesar." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Envía tu audio sin modificar. Es la mejor opción si usas software de audio externo." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Se estableció una posición en la lista de miembros para el rol" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Establecido por el ajuste preestablecido {preset}. Seleccionar un valor aquí cambiará a Personalizado." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Se estableció la región de voz en automático" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Configurar" @@ -31307,7 +31307,7 @@ msgstr "Compartir con un amigo" msgid "Share your screen" msgstr "Compartir pantalla" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Comparte tu pantalla en alta definición (1080p), quad HD (1440p) o a la resolución nativa de la fuente, hasta a 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Códigos cortos" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Atajo" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Insignias de atajos" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Mostrar botón de favoritos" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Mostrar favoritos en toda la aplicación" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Abrir en tu navegador" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Iniciar sesión con tu antigua app de {productName}" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "¿Cerrar sesión?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Inicio de sesión cancelado" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Detalles de inicio de sesión" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Flujo de inicio de sesión" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Iniciar sesión como {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "¿Iniciando sesión en otro dispositivo?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Sonidos" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Velocidad" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Corrector ortográfico" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Motor de corrección ortográfica" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Animación de estrellas" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Canales favoritos" @@ -33140,7 +33140,7 @@ msgstr "¿Iniciar una llamada de voz?" msgid "Start call" msgstr "Iniciar llamada" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Iniciar prueba de cámara y configurar efectos" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Iniciar minimizado" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Inicio" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Neko estático" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Aún indexando. Vuelve a intentarlo en un momento" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Neko inmóvil" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Aún esperando acceso a la grabación de pantalla" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Detener prueba del micrófono" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Evita que Neko persiga tu cursor, pero permite seguir arrastrándolo e interactuando con él." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "La suscripción ya existe" @@ -33957,7 +33957,7 @@ msgstr "Cambiar a diseño cómodo" msgid "Switch to dense layout" msgstr "Cambiar a diseño compacto" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Cambiar a entrada directa" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "Los MD del sistema no pueden alojar llamadas de voz." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Formato de hora del sistema: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Bandeja del sistema" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Instalación gestionada por el sistema" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Atajos de todo el sistema" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "No se han podido configurar los atajos de todo el sistema." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Toca para añadir una nota" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "Archivo tar.gz" @@ -34360,7 +34360,7 @@ msgstr "Insignia de la barra de tareas" msgid "Teleporting you to another voice region..." msgstr "Teletransportando a otra región de voz..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Plantilla" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "La aplicación {PRODUCT_NAME} en tu otro dispositivo la muestra en \"Iniciar sesión en otro dispositivo\". Solo introduce un código de un dispositivo que controles." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "La aplicación {PRODUCT_NAME} no ha iniciado sesión. Puedes cerrar esta pestaña." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Puede que la comunidad que buscas haya sido eliminada o que no tengas acceso a ella." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "No se pudo descargar la actualización de escritorio. Inténtalo de nuevo desde el botón de actualización cuando tu conexión sea estable." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "El archivo descargado se guarda en tu ordenador. Instálalo con tu gestor de paquetes habitual." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Esta categoría ya contiene el máximo de {maxChannelsPerCategory} canales." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Esta categoría está marcada para contenido para adultos y puede contener material que podría ser inapropiado para algunos usuarios." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Este canal tiene una advertencia de contenido. Las actualizaciones solo se pueden enviar a canales con advertencia de contenido o restricción de edad." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Este canal está marcado para contenido para adultos y puede contener material que podría ser inapropiado para algunos usuarios." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Esta comunidad está llena" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Esta comunidad está marcada para contenido para adultos y puede contener material que podría ser inapropiado para algunos usuarios." @@ -35324,14 +35324,14 @@ msgstr "Esta comunidad ya no está disponible" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Esta conexión ha sido verificada." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Esta conexión no se ha verificado." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Esta conversación ya no está disponible." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Esta versión de escritorio no puede instalar actualizaciones dentro de {productName}. Descarga el instalador de escritorio más reciente en su lugar." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Este escritorio no ofrece atajos de todo el sistema. \"Pulsar para hablar\" solo funciona mientras {productName} tiene el foco." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Este escritorio no ofrece atajos de todo el sistema. Los atajos siguen funcionando mientras {productName} tiene el foco." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Esta versión de desarrollo no se puede actualizar automáticamente. Descarga un instalador de escritorio para probar el flujo de actualización." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "No se ha podido leer esta imagen. Es posible que esté dañada." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Esta instalación está gestionada por tu sistema. Actualiza {productName} desde tu centro de software o gestor de paquetes." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Esta instancia ya usa nombres de usuario para iniciar sesión. Esto ya no se puede cambiar." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Esta instancia permite actualmente compartir pantalla hasta 720p a 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Este enlace no es válido. Vuelve a abrir el enlace de tu correo electrónico." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Esta categoría para adultos no está disponible para tu cuenta." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Esta categoría para adultos no está disponible para tu cuenta. <0>Más información" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Este canal para adultos no está disponible para tu cuenta." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Este canal para adultos no está disponible para tu cuenta. <0>Más información" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Esta comunidad para adultos no está disponible para tu cuenta." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Esta comunidad para adultos no está disponible para tu cuenta. <0>Más información" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Este contenido para adultos no está disponible para tu cuenta." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Este contenido para adultos no está disponible para tu cuenta. <0>Más información" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Este plan no está disponible. Contacta con el equipo de soporte." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Este plan no está disponible. Contacta con los administradores de esta instancia." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Esta compra no es apta para un reembolso." @@ -35837,7 +35853,7 @@ msgstr "Este hilo está bloqueado. Solo los moderadores pueden enviar mensajes." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Este usuario ha limitado su perfil. Algunos detalles están ocultos para quienes no son sus amigos." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Este usuario no tiene ningún rol en esta comunidad." @@ -36050,14 +36066,14 @@ msgstr "Hora" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Formato de hora" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Selección del formato de hora" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Plataforma de la barra de título" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Para cambiar las teclas, ve a Configuración > Aplicaciones > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Para cambiar las teclas, ve a Preferencias del sistema > Teclado > Accesos rápidos > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Para cambiar las teclas, abre los ajustes de atajos de teclado de tu escritorio." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Barra de herramientas" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Atajos en las ayudas emergentes" @@ -36864,7 +36880,7 @@ msgstr "Veinticuatro horas" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Dos clics" @@ -37263,7 +37279,7 @@ msgstr "Alternativa universal. La calidad más baja, pero funciona en todas part #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Desconocido" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Desbloquea los emojis personalizados en los MD con {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Desbloquea la pantalla compartida en HD con {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Hasta 720p a 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Actualiza {productName} para usar atajos de todo el sistema en Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Actualizar mi estado" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Actualizar ahora" @@ -38008,8 +38024,8 @@ msgstr "Sube archivos y contenido multimedia a este canal." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Subir icono" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Usar {name} en {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Usar {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Usar {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Usar método alternativo" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Usar desplazamiento automático" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Usar tarjeta" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Usar predeterminado" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Usar acceso directo a los dispositivos de entrada" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Usar pegatinas de otras comunidades." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Usar el formato de hora del sistema" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Usar el marco de ventana del sistema operativo" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Usar el corrector ortográfico integrado en el sistema operativo." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Usar actividad de voz" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Usa el corrector ortográfico de tu sistema operativo cuando esté disponible. Si no, usa los diccionarios integrados de {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Verifica tu correo electrónico primero" @@ -39244,7 +39260,7 @@ msgstr "Ver detalles" msgid "View devices that are signed in to your account" msgstr "Ver los dispositivos que han iniciado sesión en tu cuenta" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Ver perfil completo" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Canal de voz" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Confirmación del canal de voz" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Canal de voz lleno" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Comportamiento al unirse a un canal de voz" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Participantes en el chat de voz" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Procesamiento de voz" @@ -39661,7 +39677,7 @@ msgstr "Activar sonido" msgid "Voice unmute" msgstr "Activar micrófono" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "La voz utiliza el dispositivo de salida de tu sistema en este navegador. Cámbialo en la configuración de tu sistema." @@ -39675,7 +39691,7 @@ msgstr "Anulada" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Tiempo de espera entre mensajes. Los miembros con el permiso \"{bypassSl msgid "Waiting for connection..." msgstr "Esperando conexión..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Esperando la clave de acceso…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Esperando a que..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Esperando a tu escritorio…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "No hemos podido leer este tema. Puede que esté dañado o no sea válido." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Hemos redimensionado y comprimido esta pegatina a 320x320 píxeles, pero msgid "We sent a code to {email}." msgstr "Hemos enviado un código a {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Rellenaremos automáticamente {prefillEmail} cuando se abra el inicio de sesión en el navegador." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Vistas previas de sitios web" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Te damos la bienvenida de nuevo" @@ -40321,7 +40337,7 @@ msgstr "Qué comunidades" msgid "Which conversations" msgstr "Qué conversaciones" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Mientras la función pulsar para hablar esté activada, tu atajo controla el micrófono, por lo que el botón de silenciar está deshabilitado." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Acabas de pulsar Tab. El modo de teclado está activado para que puedas navegar por {productName} sin ratón." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Conservarás tus ventajas hasta la próxima fecha de renovación. Reactiva tu suscripción antes de esa fecha para mantener tu historial de suscriptor." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Perderás todas las ventajas de {PREMIUM_PRODUCT_NAME} inmediatamente y tu historial de suscripción se restablecerá. Esto no se puede deshacer." @@ -41137,8 +41153,8 @@ msgstr "Necesitas el permiso \"{permissionLabel}\" para usar aquí los emojis de msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Necesitas el permiso \"{permissionLabel}\" para usar pegatinas de otras comunidades aquí." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Debes completar el registro de tu cuenta antes de poder crear una comunidad." @@ -41155,8 +41171,8 @@ msgstr "Debes completar el registro de tu cuenta para enviar mensajes directos." msgid "You need to claim your account to send messages in this community." msgstr "Debes completar el registro de tu cuenta para enviar mensajes en esta comunidad." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Tienes que verificar tu dirección de correo electrónico antes de poder crear una comunidad." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 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}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Aparecerás como desconectado" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Se te cobrará ahora. Tu tiempo de regalo restante se añadirá después de tu periodo de pago, así que no se perderá nada." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Ya eres Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Estás enviando denuncias demasiado rápido. Inténtalo de nuevo más tarde." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Has iniciado sesión" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Tu cuenta es demasiado nueva para enviar mensajes en esta comunidad." msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Tu solicitud de cuenta está pendiente de aprobación. Podrás iniciar sesión cuando un administrador la apruebe." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Tu cuenta requiere autenticación multifactor, pero no hay métodos compatibles configurados en este dispositivo. Inicia sesión en un dispositivo con tu aplicación de autenticación o llave de seguridad, o contacta con soporte." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Tu cuenta requiere autenticación multifactor, pero no hay métodos compatibles configurados en este dispositivo. Inicia sesión en un dispositivo con tu aplicación de autenticación o llave de seguridad, o contacta con los administradores de esta instancia." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Tus cuentas y ajustes no han sido modificados ni eliminados." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "No se ha podido completar tu acción porque ha sido marcada por nuestros sistemas de seguridad. Si crees que es un error, contacta con soporte." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "No se ha podido completar tu acción porque ha sido marcada por nuestros sistemas de seguridad. Si crees que es un error, contacta con los administradores de esta instancia." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Tu kit actual dejará de funcionar en cuanto se cree el nuevo." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Tu escritorio no ha configurado los atajos de todo el sistema." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Tu escritorio reserva estas teclas para {productName}, por lo que otras aplicaciones no pueden usarlas." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Tu escritorio reserva estas teclas para {productName}, por lo que otras aplicaciones no pueden usarlas. Para usar la misma tecla en otras aplicaciones, activa el acceso directo a los dispositivos de entrada más abajo." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Tu escritorio ejecuta estos atajos incluso cuando {productName} no tiene el foco." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Tu tiempo de regalo ha finalizado. Suscríbete para conservar {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Tu tiempo de regalo se conserva" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Tu período de gracia ha terminado." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Tu instalación está dañada y necesitas reinstalar la aplicación para que todas las funciones operen correctamente." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Tu última compra está fuera del plazo de reembolso. Contacta con soporte si tienes problemas de facturación." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Tu mensaje no se pudo entregar porque fue marcado por nuestros sistemas de seguridad. Si crees que es un error, contacta con soporte." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Tu mensaje no se pudo entregar porque fue marcado por nuestros sistemas de seguridad. Si crees que es un error, contacta con los administradores de esta instancia." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "No se ha podido entregar tu mensaje. Esto suele ocurrir porque no compartes una comunidad con el destinatario o porque el destinatario solo acepta mensajes directos de amigos. Puede que también tengas que ajustar tu propia configuración de privacidad de mensajes directos en {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "No se ha podido entregar tu mensaje. Debes completar el registro de tu cuenta para enviar mensajes directos." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "No se ha podido entregar tu mensaje. Debes completar el registro de tu cuenta para enviar mensajes." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Tu denuncia no se ha enviado. Inténtalo de nuevo." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Tu {savedResolution} a {savedFrameRate} FPS requiere {premiumProductName}, por lo que las comparticiones usan {resolution} a {frameRate} FPS." diff --git a/fluxer_app/src/features/i18n/locales/fi/messages.po b/fluxer_app/src/features/i18n/locales/fi/messages.po index 81cd9a6cc..4c0272d9e 100644 --- a/fluxer_app/src/features/i18n/locales/fi/messages.po +++ b/fluxer_app/src/features/i18n/locales/fi/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} käyttää uudempaa Fluxer-versiota kuin tämä sovellus. Päivitä Fluxer ja yritä uudelleen." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} sinua edellä" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} sinua jäljessä" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# tunti sitten} other {# tuntia sitten}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# tunti} other {# tuntia}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# tunti} other {# tuntia}} {minutes, plural, one {# minuutti} other {# minuuttia}}" @@ -1602,7 +1602,7 @@ msgstr "{label}-tiedosto on liian suuri. Valitse tiedosto, joka on pienempi kuin msgid "{label} images cannot be animated. Use a static image." msgstr "{label}-kuvat eivät voi olla animoituja. Käytä staattista kuvaa." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Lippu: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# minuutti sitten} other {# minuuttia sitten}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minuutti} other {# minuuttia}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} havaitsi uuden äänentoistolaitteen nimeltä <0>{deviceN msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} on käynnistettävä uudelleen, ennen kuin Chromiumin natiivit vieritysasetukset muuttavat vierityksen toimintaa." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} on käynnistettävä uudelleen, jotta laitteistokiihdytys tulee voimaan." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} täytyy käynnistää uudelleen, jotta otsikkopalkin muutos tulee voimaan." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} on käynnistettävä uudelleen, jotta Chromiumin laitteistokiihdytys voidaan poistaa käytöstä. Käytä tätä vain, jos selvität grafiikkaongelmia tai korkeaa GPU:n käyttöastetta." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "{productName}-buginmetsästäjä" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} voi pyytää työpöytääsi suorittamaan sen pikanäppäimiä, kun {productName} ei ole aktiivisena. Työpöytäsi pyytää sinua vahvistamaan ja antaa sinun valita näppäimet." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} ei voi enää lukea näppäimistöäsi, joten se kuuntelee pikanäppäimiä sen sijaan X11:n kautta." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} ei voi enää lukea näppäimistöäsi, joten sen sijaan käytetään työpöytäsi pikanäppäimiä." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} ei voi enää lukea näppäimistöäsi. Pikanäppäimet toimivat vain, kun {productName} on aktiivisena." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} voi rekisteröidä pikanäppäimensä Hyprlandiin, jotta ne toimivat, kun {productName} ei ole aktiivisena. Sido sitten näppäimet Hyprland-määrityksissäsi." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} ei voi käyttää laitteistokooderia tässä tapauksessa, joten se käyttää prosessoriasi." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} sulkeutuu, asentaa päivityksen ja avautuu uudelleen." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} ei saanut yhteyttä päivityspalveluun. Tarkista internetyhteytesi ja yritä uudelleen." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} on siirtynyt osoitteeseen {host}. Avaa se selaimessasi asentaaksesi uuden sovelluksen." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "{productName}in jäsen alkaen" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} tarvitsee pääsyn mikrofoniisi. Salli mikrofonin käyttö käyttöjärjestelmän tietosuoja-asetuksista ja käynnistä sovellus uudelleen." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} tarvitsee kameran käyttöoikeuden, jotta se voi näyttää laitteesi." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} tarvitsee mikrofonin käyttöoikeuden, jotta se voi näyttää laitteesi." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "{productName}-palautussarja" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} rekisteröi pikanäppäimensä Hyprlandiin. Sido ne Hyprland-määrityksissäsi, jotta voit käyttää niitä, kun {productName} ei ole aktiivisena." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 kuukautta (1 vuosi)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12 tunnin kello" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 tuntia" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24 tunnin kello" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "isäntänimi, esim. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Linux-työpöytäpäivitys on saatavilla. Valitse pakettimuoto tälle järjestelmälle, niin {productName} tallentaa sen paikallisesti." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "minuutti" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Uusi työpöytäversio on saatavilla. Lataa asennusohjelma ja suorita se, niin {productName} päivittyy." @@ -2817,7 +2817,7 @@ msgstr "Tietoja sovelluksesta {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Tietoja minusta" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Aktiviteetin jakaminen" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Aktiivisuuskynnys" @@ -3155,7 +3155,7 @@ msgstr "Todellinen koko" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Lisää" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Lisää ensin käyttäjänimi ja salasana tilillesi." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Lisää sana…" @@ -3244,7 +3244,7 @@ msgstr "Lisää YouTube Data API -avain rikastamaan YouTube-linkkejä." #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Lisää tili" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Osoite" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Säädä kaikki asetukset itse: melunvaimennus, kaiunpoisto ja vahvistus." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Lisäasetukset" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Videon lisäasetukset" @@ -3906,22 +3906,22 @@ msgstr "Salli" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Salli {everyoneMention} ja {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Salli {PRODUCT_NAME}:n käyttää kameraasi kohdassa Järjestelmäasetukset → Tietosuoja ja suojaus → Kamera." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Salli {PRODUCT_NAME}:n käyttää mikrofonia järjestelmäasetuksissa → Tietosuoja ja suojaus → Mikrofoni." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Salli {PRODUCT_NAME}-sovelluksen käyttää mikrofonia. Tarkista selaimesi osoitepalkki tai asetukset." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Salli {productName} kohdasta Näytön tallennus Järjestelmäasetuksissa. Jos se on jo sallittu, käynnistä {productName2} uudelleen, jotta macOS ottaa sen käyttöön." @@ -3961,7 +3961,7 @@ msgstr "Salli bottien yksityisviestit" msgid "Allow bots to send you direct messages?" msgstr "Sallitaanko bottien lähettää sinulle yksityisviestejä?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Salli kameran käyttö" @@ -4029,7 +4029,7 @@ msgstr "Salli jäsenten, joilla ei ole {readMessageHistoryPermissionLabel} -käy msgid "Allow mentions for this role" msgstr "Salli maininnat tälle roolille" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Salli mikrofonin käyttö" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Alleviivaa linkit aina" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Käytä aina {productName}-sovelluksen Hunspell-sanakirjoja, jotka ladataan tarvittaessa." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Sovelluksen kuvakkeen ilmoitusmerkki" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Sovelluksen kielen aikamuoto: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Hyväksyntä vaaditaan" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Hyväksy tämä sovellus jo käyttämästäsi {productName}-sovelluksesta. Salasanaa ei tarvita." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Valtuutettu: {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Automaattinen" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Tunnista kieli automaattisesti" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Aseta aktiivisuuskynnys automaattisesti" @@ -5534,7 +5534,7 @@ msgstr "AV1 (vaatii käyttöönoton)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Saatavilla" @@ -5608,11 +5608,11 @@ msgstr "Poissa juuri nyt" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Paras pakkaus. Käytä vain, kun WebRTC näyttää kooderin ja GPU-raportti vahvistaa sen olevan laitteistopohjainen." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Parhaimmillaan työpöytäsovelluksessa" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Selain: aloitussivu" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Selaimen aikamuoto: {format}" @@ -6545,8 +6545,8 @@ msgstr "Osta {premiumProductName}-lahja {premiumProductName}-välilehdeltä ja j msgid "Buy gift" msgstr "Osta lahjaksi" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Luomalla yhteisön sitoudut noudattamaan ja ylläpitämään <0>{PRODUCT_NAME}-yhteisön sääntöjä." @@ -6658,7 +6658,7 @@ msgstr "Puhelut" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Kameran esikatselu" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Kameran laatu" @@ -6809,8 +6809,8 @@ msgstr "Tiedostoja ei voi lähettää tähän" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Peruuta ajoitettu vaihto" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Peruuta tilaus" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Peruuta tilaus?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Kategoria" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Kategorian sisältövaroitus" @@ -7131,15 +7131,15 @@ msgstr "Vaihda ryhmän lempinimi" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Vaihda kuvake" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Muuta järjestelmäasetuksissa" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Kanavamerkit" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Kanavan sisältövaroitus" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Keskustelun pikanäppäimet" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Tarkista uudelleen" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Tarkistetaan käyttöoikeutta..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Tarkistetaan näytön tallennuslupaa…" @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Kassa ei ole käytettävissä" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Valitse, miten haluat maksaa tästä tilauksesta." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Valitse maksutapa" @@ -8174,7 +8174,7 @@ msgstr "Valitse oletusasetuksesi" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Valitse palvelin" @@ -8216,8 +8216,8 @@ msgstr "Lunasta lahja" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Viimeistele tilisi rekisteröinti" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Yhteisön merkit" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Yhteisön sisältövaroitus" @@ -9089,8 +9089,8 @@ msgstr "Yhteisön yksityisviesti" msgid "Community filter" msgstr "Yhteisösuodatin" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Yhteisön kuvake" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Yhteisö päivitetty" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Yhteisön ääni" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Suorita maksu" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Suorita aikuisille tarkoitetun sisällön tarkistus, niin aikuisille tarkoitettu media avautuu." @@ -9409,7 +9409,7 @@ msgstr "Vahvista" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Vahvista ennen äänikanaville liittymistä" @@ -9457,7 +9457,7 @@ msgstr "Vahvista vakuutus lähettääksesi ilmoituksen." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Vahvista äänikanavaan liittyminen" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Vahvistus" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Vahvistus tai kaksoisnapsautus yhteisön äänikanaviin liittyessä" @@ -9476,7 +9476,7 @@ msgstr "Vahvistus tai kaksoisnapsautus yhteisön äänikanaviin liittyessä" msgid "Conflicts with {conflictLabel}" msgstr "Ristiriidassa kohteen {conflictLabel} kanssa" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Liitä kamera ja yritä uudelleen." @@ -9489,7 +9489,7 @@ msgstr "Liitä kamera tai virtuaalinen tallennuslaite ja yritä sitten uudelleen msgid "Connect a display, then try again." msgstr "Liitä näyttö ja yritä uudelleen." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Liitä mikrofoni ja yritä uudelleen." @@ -9633,7 +9633,7 @@ msgstr "Yhteys: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Yhteystieto" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Sisältö estetty" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Jatka selaimessa" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Jatka kassalle" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Jatka pääsyavaimella" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Kopioi kutsulinkki" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Kopioi rivit" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Kopioi rivit tiedostoa hyprland.conf varten" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Kopioi rivit tiedostoa hyprland.lua varten" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Hinnan muuttaminen epäonnistui" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Päivitysten tarkistus epäonnistui" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Viestejäsi ei voitu poistaa" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Työpöytäsovelluksen päivitystä ei voitu ladata" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Kassan avaaminen epäonnistui" @@ -10932,7 +10932,7 @@ msgstr "Luo ja jaa" msgid "Create a community" msgstr "Luo yhteisö" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Luo yhteisö sinulle ja kavereillesi keskustelua varten." @@ -11365,7 +11365,7 @@ msgstr "Mukautettu" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Moderaattorit mykistivät äänesi" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB-paketti" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Työpöytäsovellus" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Työpöytäsovellus on ajan tasalla" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Työpöytäpäivitys {version} saatavilla. Valitse Linux-paketti." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Työpöytäsovelluksen päivitys saatavilla" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Työpöytäpäivitys saatavilla. Valitse Linux-paketti." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Työpöytäversio {version} on saatavilla. Lataa asennusohjelma ja suorita se päivittääksesi {productName}-sovelluksen." @@ -12613,7 +12613,7 @@ msgstr "Tiedot: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Tunnista kirjoittaessa" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Kehittäjän työkalut eivät ole käytettävissä" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Kehitysversio" @@ -13455,8 +13455,8 @@ msgstr "Lataa" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Lataa {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification ja siirrä se <1>.well-known-kansioosi, jotta voimme vahvistaa verkkotunnuksen." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Lataa sovellus" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Lataa sovellus" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Lataa-painike" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Lataa työpöytäsovellus" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Lataa kuva" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Lataa asennusohjelma" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Lataa media" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Lataa paketti" @@ -13655,11 +13655,11 @@ msgstr "Pudota kohde" msgid "Drop to upload background" msgstr "Lataa taustakuva pudottamalla se tähän" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Alueen {regionName} aikuissisältöä koskevien lakien vuoksi aikuisille tarkoitettu sisältö on estetty, kunnes olet suorittanut aikuisille tarkoitetun sisällön tarkistuksen." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Alueen {regionName} aikuissisältöä koskevien lakien vuoksi aikuisille tarkoitettu sisältö ei ole saatavilla täällä. Aikuisille tarkoitetun sisällön tarkistukset ovat saatavilla vain Isossa-Britanniassa." @@ -13673,7 +13673,7 @@ msgstr "Alueen {regionName} aikuissisältöä koskevien lakien vuoksi tämä sis msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Alueen {regionName} aikuissisältöä koskevien lakien vuoksi tämä sisältö ei ole saatavilla täällä. Aikuisille tarkoitetun sisällön tarkistukset ovat saatavilla vain Isossa-Britanniassa." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Alueen {regionName} aikuissisältöä koskevien lakien vuoksi tämä media ei ole saatavilla nykyisellä alueellasi." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Jokainen koodi toimii kerran autentikointisovelluksesi sijasta." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Yhteen näppäimeen voi liittää vain yhden järjestelmänlaajuisen pikanäppäimen." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Ota käyttöön" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Ota käyttöön {permissionName}-käyttöoikeus" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Ota pikanäppäin käyttöön" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Ota oikeinkirjoituksen tarkistus käyttöön" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Lopeta armonaika nyt" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Lopeta armonaika" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Päätetäänkö armonaika nyt?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Syötä turva-avaimesi PIN-koodi jatkaaksesi." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Syötä tämä koodi selaimeesi" @@ -14845,7 +14845,7 @@ msgstr "Syötä tämä koodi selaimeesi" msgid "Enter this code in your browser to complete sign-in." msgstr "Kirjoita tämä koodi selaimeesi kirjautumisen viimeistelemiseksi." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Syötä tämä koodi vanhaan {PRODUCT_NAME}-sovellukseesi kirjautumisen viimeistelemiseksi." @@ -14916,7 +14916,7 @@ msgstr "Koko järjestelmän ääni" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Sisääntuloääni" @@ -15026,7 +15026,7 @@ msgstr "Ilta-aika" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Tasoittaa mikrofonisi äänenvoimakkuutta, jotta et ole liian hiljainen." @@ -15249,7 +15249,7 @@ msgstr "Vanhenee välillä {earliest} ja {latest}" msgid "Expires in {remaining}s" msgstr "Vanhenee {remaining} s kuluttua" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Vanhenee {remainingSeconds}s kuluttua" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Lisää kanava suosikkeihin" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Suosikkikanavat" @@ -16243,7 +16243,7 @@ msgstr "{threeHours} tunnin ajan" msgid "For {twentyFourHours} hours" msgstr "{twentyFourHours} tunnin ajan" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Vain brittiläisille silmille..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Minulle" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Käytä Mykistä painamalla -toiminnolle yhtä näppäintä ilman Ctrl-, Alt- tai Shift-näppäintä. Jos käytät yhdistelmää, vapauta ensin päänäppäin, muuten mikrofoni voi jäädä mykistetyksi." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Käytä Push-to-talkille yhtä näppäintä ilman Ctrl-, Alt- tai Shift-näppäintä. Jos käytät yhdistelmää, vapauta ensin päänäppäin, muuten mikrofoni voi jäädä päälle." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Käytä tälle pikanäppäimelle yhtä näppäintä ilman Ctrl-, Alt- tai Shift-näppäintä. Jos käytät yhdistelmää, vapauta ensin päänäppäin, muuten pikanäppäin voi jäädä aktiiviseksi." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Käytä ääniaktiivisuuden prioriteetille yhtä näppäintä ilman Ctrl-, Alt- tai Shift-näppäintä. Jos käytät yhdistelmää, vapauta ensin päänäppäin, muuten prioriteetti voi jäädä päälle." @@ -16460,14 +16460,14 @@ msgstr "Kehys" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Kuvataajuus" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Yli 30 FPS:n kuvataajuudet edellyttävät {premiumProductName}-tilausta" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Saat ilmoituksia, kun vastaanotat viestejä. Sinun on ehkä sallittava ilmoitukset selaimesi asetuksista. Kanava- ja yhteisökohtaiset asetukset löydät napsauttamalla yhteisön kuvaketta hiiren kakkospainikkeella ja avaamalla ilmoitusasetukset." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Hanki {productName}-työpöytäsovellus, niin saat järjestelmänlaajuisen paina ja puhu -toiminnon ja muita herkkuja." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Hanki työpöytäsovellus" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Palaa palveluun {productName}, niin voit jatkaa." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Palaa {PRODUCT_NAME}-sovellukseen. Se viimeistelee kirjautumisen itsestään." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Palaa {PRODUCT_NAME}-sovellukseen. Voit sulkea tämän välilehden." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Ohje" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Apupainike" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Ohjekeskus" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Ohjekeskus" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Auta kääntämään {PRODUCT_NAME} kielellesi osoitteessa <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Piilota chat" msgid "Hide community owner crown" msgstr "Piilota yhteisön omistajan kruunu" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Piilota latauspainike" @@ -17860,7 +17860,7 @@ msgstr "Piilota suosikit" msgid "Hide guidelines" msgstr "Piilota ohjeet" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Piilota ohjekeskuksen painike" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Piilota liittymisviestit" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Piilota näppäimistövihjeet" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Hyperlinkki" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprlandissa ei ole pikanäppäinikkunaa. Lisää Hyprland-versiotasi vastaavat rivit Hyprland-määrityksiisi ja korvaa KEY haluamallasi näppäimellä." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprlandissa ei ole pikanäppäinikkunaa. Sido näppäimet Hyprland-määrityksissäsi." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (ennen Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 ja uudemmat)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Vahvistan vilpittömässä mielessä, että tämän ilmoituksen tiedot ja väitteet ovat paikkansapitäviä ja täydellisiä." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Ymmärrän" @@ -18598,11 +18598,11 @@ msgstr "Tuodaan… {processedCount, number} / {totalCount, number} käsitelty, { msgid "In" msgstr "Kanavalla" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "Käyttöjärjestelmä-tilassa yllä luetellut sanakirjat ovat ohjeellisia. {PRODUCT_NAME} välittää nämä kielitunnisteet käyttöjärjestelmän oikolukijalle, jos se tukee niitä. Tunnisteet, joita se ei tunnista, ohitetaan." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "Selaimessa push-to-talk toimii vain, kun {PRODUCT_NAME}-välilehti on aktiivinen. Asenna työpöytäsovellus, jos haluat käyttää push-to-talkia koko järjestelmässä." @@ -18650,7 +18650,7 @@ msgstr "Äänichatissa" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Sovelluksen sisäiset sanakirjat" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Syöttö" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Tulo ja lähtö" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Lisää emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Asenna {productName}, niin saat käyttöösi täyden lähdevalitsimen ja sujuvammat näytönjaon hallintatoiminnot." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Asenna uusi sovellus" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Asennettu" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Asennettu versio: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Käyttöliittymä" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Käyttöliittymän kieli" @@ -19467,13 +19467,13 @@ msgstr "Liity" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Liity yhteisöön {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Liity yhteisöön {communityName}, niin voit jutella tiimin kanssa ja pysyä ajan tasalla." @@ -19561,7 +19561,7 @@ msgstr "Liity videopuheluun" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Liity puheluun" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Pidä ilmaiset ja premium-tasot. Voit muokata tasoja, myydä premiumia Stripellä tai jakaa lahjakoodeja myöhemmin ylläpitopaneelista." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Säilytä armonaika" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Pidä käynnissä" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Säilytä tilaus" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Säilytä tämä sivu turvallisessa paikassa. Jos unohdat salasanasi, voit käyttää sitä kirjautuaksesi takaisin tilillesi. Kuka tahansa, jolla on tämä palautusavain, voi nollata salasanasi, joten älä koskaan jaa sitä." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Jatka lähettämistä hetken näppäimen vapauttamisen jälkeen." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Näppäimistö" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Näppäimistön käyttöä ei voitu käynnistää. Pikanäppäimet toimivat vain, kun {productName} on aktiivisena." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Näppäimistötila" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Pikanäppäinvihjeet työkaluvihjeissä" @@ -19923,7 +19923,7 @@ msgstr "Kieliasetukset" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Kielet" @@ -19971,7 +19971,7 @@ msgstr "Viivekaavio" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Antoi jäsenen taas kuulla muita tässä yhteisössä" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Sallii sovelluksen {productName} lukea näppäimistöäsi suoraan. Poista tämä käytöstä, jos haluat määrittää pikanäppäimet työpöytäsi kautta." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Sallii sovelluksen {productName} lukea näppäimistöäsi suoraan. Järjestelmäsi sallii tämän jo." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Linuxin oletusarvo" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Linux-paketti" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Paikalliset tiedostot" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Paikallinen aika" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Ulkoasu ja tuntuma" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Näyttää siltä, että käytät ohjelmaa {0}. Jos lisäät {PRODUCT_NAME}-käsittelyn sen päälle, ääni voi pumpata tai vääristyä. Suora syöte välittää äänen muokkaamattomana." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Aseta ryhmän omistajaksi" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Varmista, että tämä koodi vastaa sitä {PRODUCT_NAME} -sovelluksessa." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Hallinnoi tilaustasi" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Työpöytäsovelluksen manuaalinen päivitys" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Yleisäänenvoimakkuus" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Aikuisille tarkoitettu kategoria" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Aikuisille tarkoitettu kanava" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Aikuisille tarkoitettu yhteisö" @@ -21194,7 +21194,7 @@ msgstr "Aikuisille tarkoitetun sisällön tarkistus lähetetty" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Aikuisille tarkoitetun sisällön tarkistukset ovat tällä hetkellä saatavilla vain Isossa-Britanniassa." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Jäsenen roolit päivitetty" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Jäsenenä alkaen" @@ -22013,7 +22013,7 @@ msgstr "Mikrofoni" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Mikrofonitesti" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Neko-kissa, joka jahtaa osoitintasi" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Uudet käyttäjät eivät voi liittyä juuri nyt. Voit silti luoda tilin tai kirjautua sisään ja yrittää tätä linkkiä uudelleen myöhemmin." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Uusi versio" @@ -23465,7 +23465,7 @@ msgstr "Ei kirjanmerkkejä" msgid "No bot banner" msgstr "Ei bottibanneria" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Kameraa ei löydy" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Ei kuvausta." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Työpöytäversioon ei ole saatavilla päivitystä." @@ -23684,7 +23684,7 @@ msgstr "Ei vastaavia viestejä" msgid "No mentions yet" msgstr "Ei vielä mainintoja" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Mikrofonia ei löydy" @@ -23731,7 +23731,7 @@ msgstr "Hakua vastaavia odottavia pyyntöjä ei löytynyt" msgid "No permissions found" msgstr "Käyttöoikeuksia ei löytynyt" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Ei vielä henkilökohtaisia sanoja." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Ei sallittu" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Ei määritetty" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Napsautettaessa" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "Kirjaudu toisella laitteellasi osoitteessa {signInAddress} ja anna tämä koodi pyydettäessä." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Avaa {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Avaa {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Avaa tilinvaihtaja" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Avaa median lisäasetukset" @@ -24788,7 +24788,7 @@ msgstr "Avaa banneriasetukset" msgid "Open bookmarks" msgstr "Avaa kirjanmerkit" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Avaa selain" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Avaa päivämäärävalitsin" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Avaa työpöytäversion lataussivu" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Avaa asetukset" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Avaa ohjelmistokeskus" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Avaa Järjestelmäasetukset" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Avaa Järjestelmäasetukset → Tietosuoja ja suojaus → Näytön tallennus ja salli sitten {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Avaa mallipohjan JSON" @@ -25089,7 +25089,7 @@ msgstr "Avaa mallipohjan JSON" msgid "Open the context menu" msgstr "Avaa pikavalikko" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Avaa alla oleva linkki selaimessasi, kopioi koko JSON-vastaus ja liitä se kenttään." @@ -25167,11 +25167,11 @@ msgstr "Avaa ääni- ja videoasetukset" msgid "Open with {accountName} on {instanceName}" msgstr "Avaa tilillä {accountName} osoitteessa {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Avaa selaimesi, kirjaudu sisään ja syötä sitten alla oleva koodi tilisi yhdistämiseksi." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Avaa vanha {PRODUCT_NAME}-sovelluksesi, valitse \"Linkitä uusi laite\" ja syötä sitten alla oleva koodi." @@ -25199,7 +25199,7 @@ msgstr "Avaa Jäsenet-sivun. Paina välilyöntiä tai Enteriä avataksesi." #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Käyttöjärjestelmä" @@ -25629,7 +25629,7 @@ msgstr "Viimeiset 7 päivää" msgid "Paste" msgstr "Liitä" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Liitä {theOtherPlatform}-mallin URL-osoite, niin voit tuoda sen rakenteen uuteen yhteisöön." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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ä." @@ -25933,7 +25933,7 @@ msgstr "Sovelluksen {0} käyttöoikeudet" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Oma sanakirja" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Valitse vähintään yksi tunniste tälle viestille." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Valitse yksi tai useampi sanakirja. Valittujen sanakirjojen sanat hyväksytään, mikä on hyödyllistä monikielisissä keskusteluissa." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Hintatiedot latautuvat yhä." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Ostaminen ei ole käytettävissä" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Puhu painamalla -näppäin" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Push-to-talk" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Puhu painamalla (rajoitettu)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Push-to-talkille ei ole vielä määritetty järjestelmänlaajuista näppäintä. Voit määrittää sen kohdassa Asetukset > Sovellukset > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Push-to-talkille ei ole vielä määritetty järjestelmänlaajuista näppäintä. Voit määrittää sen kohdassa Järjestelmäasetukset > Näppäimistö > Pikanäppäimet > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Push-to-talkille ei ole vielä määritetty järjestelmänlaajuista näppäintä. Voit määrittää sen työpöytäsi pikanäppäinasetuksissa." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Push-to-talk ohitetaan suorassa syötteessä. Käytä sitä vaihtamalla kohdennettuun ääneen tai mukautettuun tilaan." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Push-to-talk on käytössä. Pidä Push-to-talk-näppäintä pohjassa puhuaksesi." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Push-to-talk toimii vain, kun {productName} on aktiivisena, koska työpöytäsi ei määrittänyt järjestelmänlaajuisia pikanäppäimiä." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Puheesta toimintoon -toiminto toimii vain, kun {productName} on aktiivisena, kunnes {permissionName} otetaan käyttöön." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Push-to-talk toimii vain, kun {productName} on aktiivisena, kunnes määrität järjestelmänlaajuiset pikanäppäimet." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Push-to-talk toimii vain, kun selainvälilehti on aktiivinen." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Push-to-talk käyttää näppäintä, jonka olet määrittänyt sovelluksessa {productName}. Määritä se ensin, muuten mikrofonisi käyttää puheaktiivisuutta." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Push-to-talk ei poista mikrofonisi mykistystä, kun äänet ovat mykistettyinä. Poista äänten mykistys, niin voit puhua." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Push-to-talk toimii sovelluksen {productName} ulkopuolella vasta, kun sidot sen Hyprland-määrityksissäsi." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Push-to-talk toimii sovelluksen {productName} ulkopuolella vasta, kun sidot sen Hyprland-määrityksissäsi. Lisää Hyprland-versiotasi vastaava rivi ja korvaa KEY haluamallasi näppäimellä." @@ -27533,12 +27533,12 @@ msgstr "Vastaanottajat ohjataan kanavalle {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Suositeltu" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Suositeltu. Puhdistaa mikrofonin selkeää puhetta varten." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Yhteys palautettu. Valitse näyttö uudelleen, jos haluat jatkaa edellistä lähetystäsi." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Yhdistetään uudelleen työpöytään…" @@ -27836,7 +27836,7 @@ msgstr "Käynnistä uudelleen soveltaaksesi" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Vapautusviive" @@ -27853,7 +27853,7 @@ msgstr "Osuvimmat" msgid "Reload" msgstr "Lataa uudelleen" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Lataa {PRODUCT_NAME} uudelleen, jotta moottorin vaihto tulee kokonaan voimaan. Sovelluksen sisäisen ja järjestelmän oikoluvun välillä vaihtaminen vaatii renderöijän uudelleenlatauksen, koska Electron ei voi vaihtaa palveluntarjoajaa käynnissä ollessaan." @@ -27872,7 +27872,7 @@ msgstr "Lataa {productName} uudelleen, jotta voit käyttää verkkopäivitystä msgid "Reload app" msgstr "Lataa sovellus uudelleen" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Lataa uudelleen" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Poista" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Poista sana \"{word}\" sanakirjasta" @@ -28086,8 +28086,8 @@ msgstr "Poista URL-osoitteena tallennetuista GIF-suosikeista" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Poista kuvake" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Rivejä sivulla" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM-paketti" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Turvallisuus" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Sama aika kuin sinulla" @@ -29770,7 +29770,7 @@ msgstr "Näyttötallennus" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Näytön tallennukseen tarvitaan lupa" @@ -29858,7 +29858,7 @@ msgstr "Näytön jakamisen yksityisyys" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Näytön jaon laatu" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Hae kielikoodia…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Hae kieliä…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Valitse GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Valitse käyttöliittymän kieli" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Valitse tili, jolla haluat kirjautua sisään uudella laitteellasi." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Valitse äänenkäsittelytila" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Lähettää mikrofonin raa'an äänen ilman käsittelyä." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Lähettää äänesi muokkaamattomana. Paras, jos käytät ulkoista ääniohjelmistoa." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Määritettiin roolille paikka jäsenluettelossa" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Asetettu käyttämällä {preset}-esiasetusta. Arvon valitseminen tässä vaihtaa mukautettuun." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Puhealueeksi asetettiin automaattinen" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Määritä" @@ -31307,7 +31307,7 @@ msgstr "Jaa kaverille" msgid "Share your screen" msgstr "Jaa näyttösi" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Jaa näyttösi teräväpiirtona (1080p), Quad HD:nä (1440p) tai alkuperäisellä lähdetarkkuudella, jopa 60 FPS:n nopeudella." @@ -31399,7 +31399,7 @@ msgstr "Pikakoodit" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Pikanäppäin" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Pikanäppäinmerkit" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Näytä suosikkipainike" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Näytä suosikit koko sovelluksessa" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Kirjaudu selaimeesi" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Kirjaudu sisään vanhalla {productName}-sovelluksellasi" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Kirjaudutaanko ulos?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Kirjautuminen peruutettu" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Kirjautumistiedot" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Kirjautumisprosessi" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Kirjaudutaan sisään nimellä {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Kirjautuminen toisella laitteella?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Jokin meni pieleen kassaa avattaessa. Yritä uudelleen hetken kuluttua." @@ -32812,7 +32812,7 @@ msgstr "Äänet" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Nopeus" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Oikoluku" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Oikolukuohjelma" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Tähtianimaatio" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Tähdellä merkityt kanavat" @@ -33140,7 +33140,7 @@ msgstr "Aloitetaanko äänipuhelu?" msgid "Start call" msgstr "Aloita puhelu" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Aloita kameratesti ja määritä tehosteet" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Aloita minimoituna" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Käynnistys" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Staattinen Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Indeksointi käynnissä – tarkista hetken kuluttua" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Liikkumaton Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Odotetaan vielä näytön tallennuksen käyttöoikeutta" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Lopeta mikrofonitesti" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Estä Nekoa jahtaamasta osoitintasi, mutta pidä se silti vedettävänä ja interaktiivisena." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Tilaus on jo olemassa" @@ -33957,7 +33957,7 @@ msgstr "Vaihda väljään asetteluun" msgid "Switch to dense layout" msgstr "Vaihda tiiviiseen asetteluun" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Vaihda suoraan syöttöön" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "Järjestelmän yksityisviesteissä ei voi järjestää äänipuheluita." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Järjestelmän aikamuoto: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Ilmaisinalue" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Järjestelmän hallinnoima asennus" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Järjestelmänlaajuiset pikanäppäimet" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Järjestelmänlaajuisia pikanäppäimiä ei voitu määrittää." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Lisää muistiinpano napauttamalla" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz-arkisto" @@ -34360,7 +34360,7 @@ msgstr "Tehtäväpalkin merkki" msgid "Teleporting you to another voice region..." msgstr "Siirretään sinut toiselle äänialueelle..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Mallipohja" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "{PRODUCT_NAME}-sovellus toisella laitteellasi näyttää sen kohdassa Kirjautuminen toisella laitteella. Syötä koodi vain laitteesta, jota hallitset." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "Sovellusta {PRODUCT_NAME} ei ole kirjattu sisään. Voit sulkea tämän välilehden." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Etsimääsi yhteisöä ei ehkä enää ole tai sinulla ei ole siihen pääsyä." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Työpöytäpäivitystä ei voitu ladata. Yritä uudelleen päivityspainikkeesta, kun yhteytesi on vakaa." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Ladattu tiedosto tallennetaan tietokoneellesi. Asenna se tavallisella pakettienhallintaohjelmallasi." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Tässä kategoriassa on jo enimmäismäärä kanavia ({maxChannelsPerCategory})." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Tämä kategoria on merkitty aikuisille tarkoitetuksi sisällöksi, ja se voi sisältää materiaalia, joka voi olla sopimatonta joillekin käyttäjille." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Tällä kanavalla on sisältövaroitus. Päivitykset voidaan lähettää vain kanaville, joilla on sisältövaroitus tai ikärajoitus." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Tämä kanava on merkitty aikuisille tarkoitetuksi sisällöksi, ja se voi sisältää materiaalia, joka voi olla sopimatonta joillekin käyttäjille." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Yhteisö on täynnä" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Tämä yhteisö on merkitty aikuisille tarkoitetuksi sisällöksi, ja se voi sisältää materiaalia, joka voi olla sopimatonta joillekin käyttäjille." @@ -35324,14 +35324,14 @@ msgstr "Tämä yhteisö ei ole enää saatavilla" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Yhteys on vahvistettu." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Yhteyttä ei ole vahvistettu." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Tämä keskustelu ei ole enää saatavilla." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Tätä työpöytäversiota ei voi päivittää suoraan {productName}-sovelluksessa. Lataa sen sijaan uusin työpöytäasennusohjelma." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Tämä työpöytä ei tue järjestelmänlaajuisia pikanäppäimiä. Push-to-talk toimii vain, kun {productName} on aktiivisena." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Tämä työpöytä ei tue järjestelmänlaajuisia pikanäppäimiä. Pikanäppäimet toimivat silti, kun {productName} on aktiivisena." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Tämä kehitysversio ei voi päivittää itseään. Lataa työpöytäasennusohjelma, jos haluat testata päivityksen kulkua." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Kuvan lukeminen epäonnistui. Se saattaa olla vioittunut." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Tämä asennus on järjestelmäsi hallinnoima. Päivitä {productName} ohjelmistokeskuksesta tai pakettienhallinnasta." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Tämä instanssi käyttää jo käyttäjänimiä kirjautumiseen. Tätä ei voi enää muuttaa." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Tämä instanssi sallii tällä hetkellä näytönjaon enintään 720p-laadulla ja 30 FPS:llä." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Tämä linkki ei ole kelvollinen. Avaa linkki uudelleen sähköpostistasi." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Tämä aikuisille tarkoitettu kategoria ei ole käytettävissä tililläsi." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Tämä aikuisille tarkoitettu kategoria ei ole käytettävissä tililläsi. <0>Lue lisää" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Tämä aikuisille tarkoitettu kanava ei ole käytettävissä tililläsi." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Tämä aikuisille tarkoitettu kanava ei ole käytettävissä tililläsi. <0>Lue lisää" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Tämä aikuisille tarkoitettu yhteisö ei ole käytettävissä tililläsi." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Tämä aikuisille tarkoitettu yhteisö ei ole käytettävissä tililläsi. <0>Lue lisää" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Tämä aikuisille tarkoitettu media ei ole käytettävissä tililläsi." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Tämä aikuisille tarkoitettu media ei ole käytettävissä tililläsi. <0>Lue lisää" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Tämä tilaus ei ole saatavilla. Ota yhteyttä tukeen." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Tämä tilaus ei ole saatavilla. Ota yhteyttä tämän instanssin ylläpitäjiin." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Tästä ostoksesta ei voi saada hyvitystä." @@ -35837,7 +35853,7 @@ msgstr "Tämä säie on lukittu. Vain moderaattorit voivat lähettää viestejä msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Tämä käyttäjä on rajoittanut profiiliaan. Jotkin tiedot on piilotettu henkilöiltä, jotka eivät ole hänen kavereitaan." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Tällä käyttäjällä ei ole rooleja tässä yhteisössä." @@ -36050,14 +36066,14 @@ msgstr "Aika" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Ajan esitysmuoto" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Ajan muodon valinta" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Otsikkorivin alusta" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Voit muuttaa näppäimiä kohdassa Asetukset > Sovellukset > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Voit muuttaa näppäimiä kohdassa Järjestelmäasetukset > Näppäimistö > Pikanäppäimet > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Voit muuttaa näppäimiä työpöytäsi pikanäppäinasetuksissa." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Työkalurivi" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Pikanäppäinvihjeet" @@ -36864,7 +36880,7 @@ msgstr "24 tunnin kello" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Kaksi klikkausta" @@ -37263,7 +37279,7 @@ msgstr "Yleinen vararatkaisu. Huonoin laatu, mutta toimii kaikkialla." #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Tuntematon" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Avaa mukautetut emojit yksityisviesteissä {premiumProductName}-tilauksella" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Avaa HD-näytönjako käyttöön {premiumProductName}-tilauksella" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Jopa 720p 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Päivitä {productName}, jotta voit käyttää järjestelmänlaajuisia pikanäppäimiä Waylandissa." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Päivitä tilani" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Päivitä nyt" @@ -38008,8 +38024,8 @@ msgstr "Lähetä tiedostoja ja mediaa tähän kanavaan." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Lataa kuvake" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Käytä {name} osoitteessa {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Käytä {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Käytä {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Käytä toista maksutapaa" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Käytä automaattista vieritystä" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Käytä korttia" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Käytä oletusta" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Käytä suoraa pääsyä syöttölaitteisiin" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Käytä tarroja muista yhteisöistä." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Käytä järjestelmän ajan esitysmuotoa" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Käytä käyttöjärjestelmän ikkunakehystä" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Käytä käyttöjärjestelmän sisäänrakennettua oikolukua." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Käytä puheentunnistusta" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Käytä käyttöjärjestelmäsi oikolukua, jos se on saatavilla. Muussa tapauksessa käytä {productName}-sovelluksen sisäänrakennettuja sanakirjoja." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Vahvista sähköpostiosoitteesi ensin" @@ -39244,7 +39260,7 @@ msgstr "Näytä tiedot" msgid "View devices that are signed in to your account" msgstr "Näytä laitteet, joilla olet kirjautuneena tilillesi" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Näytä koko profiili" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Äänikanava" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Äänikanavan vahvistus" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Äänikanava täynnä" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Äänikanavalle liittymisen toiminta" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Äänipuhelun osallistujat" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Äänenkäsittely" @@ -39661,7 +39677,7 @@ msgstr "Äänten mykistyksen poisto" msgid "Voice unmute" msgstr "Mikrofonin mykistyksen poisto" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Ääni käyttää tässä selaimessa järjestelmäsi äänilähtölaitetta. Muuta sitä järjestelmäasetuksissasi." @@ -39675,7 +39691,7 @@ msgstr "Mitätöity" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Viive viestien välillä. Jäsenet, joilla on oikeus \"{bypassSlowmodePe msgid "Waiting for connection..." msgstr "Odotetaan yhteyttä..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Odotetaan pääsyavainta…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Odotan, että..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Odotetaan työpöytääsi…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Teemaa ei voitu lukea. Se voi olla vioittunut tai virheellinen." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Pienensimme ja pakkasimme tämän tarran 320x320 pikseliin, mutta sen ko msgid "We sent a code to {email}." msgstr "Lähetimme koodin osoitteeseen {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Esitäytämme sähköpostiosoitteen {prefillEmail}, kun kirjautuminen avautuu selaimessa." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Verkkosivujen esikatselut" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Tervetuloa takaisin" @@ -40321,7 +40337,7 @@ msgstr "Mitkä yhteisöt" msgid "Which conversations" msgstr "Mitkä keskustelut" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Kun paina ja puhu -toiminto on käytössä, pikanäppäin ohjaa mikrofonia, joten mykistyspainike on poissa käytöstä." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Painoit juuri sarkainta. Näppäimistötila on nyt käytössä, joten voit liikkua {productName}-sovelluksessa ilman hiirtä." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Pidät etusi seuraavaan uusimispäivään asti. Aktivoi tilaus uudelleen ennen sitä, niin säilytät tilaushistoriasi." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Menetät kaikki {PREMIUM_PRODUCT_NAME}-edut välittömästi ja tilaushistoriasi nollataan. Tätä ei voi kumota." @@ -41137,8 +41153,8 @@ msgstr "Tarvitset \"{permissionLabel}\" -käyttöoikeuden käyttääksesi muiden msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Tarvitset \"{permissionLabel}\" -käyttöoikeuden käyttääksesi muiden yhteisöjen tarroja täällä." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Sinun on viimeisteltävä tilisi rekisteröinti, ennen kuin voit luoda yhteisön." @@ -41155,8 +41171,8 @@ msgstr "Sinun on viimeisteltävä tilisi rekisteröinti, jotta voit lähettää msgid "You need to claim your account to send messages in this community." msgstr "Sinun on viimeisteltävä tilisi rekisteröinti, jotta voit lähettää viestejä tässä yhteisössä." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Vahvista sähköpostiosoitteesi, ennen kuin voit luoda yhteisön." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 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}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Näyt offline-tilassa" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Sinulta veloitetaan nyt. Jäljellä oleva lahjoitusaikasi lisätään maksetun jakson jälkeen, joten siitä ei mene mitään hukkaan." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Olet jo Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Lähetät ilmoituksia liian nopeasti. Yritä uudelleen myöhemmin." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Olet kirjautunut sisään" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Tilisi on liian uusi viestien lähettämiseen tässä yhteisössä." msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Tilipyyntösi odottaa hyväksyntää. Voit kirjautua sisään, kun ylläpitäjä on hyväksynyt sen." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Tilisi edellyttää monivaiheista todennusta, mutta tällä laitteella ei ole tuettuja menetelmiä käytössä. Kirjaudu sisään laitteella, jossa on todennussovelluksesi tai turva-avaimesi, tai ota yhteyttä tukeen." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Tilisi edellyttää monivaiheista todennusta, mutta tällä laitteella ei ole tuettuja menetelmiä käytössä. Kirjaudu sisään laitteella, jossa on todennussovelluksesi tai turva-avaimesi, tai ota yhteyttä tämän instanssin ylläpitäjiin." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Tilejäsi ja asetuksiasi ei ole muutettu tai poistettu." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Toimintoasi ei voitu suorittaa, koska turvajärjestelmämme merkitsivät sen. Jos uskot tämän olevan virhe, ota yhteyttä tukeen." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Toimintoasi ei voitu suorittaa, koska turvajärjestelmämme merkitsivät sen. Jos uskot tämän olevan virhe, ota yhteyttä tämän instanssin ylläpitäjiin." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Nykyinen pakettisi lakkaa toimimasta heti, kun uusi luodaan." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Työpöytäsi ei määrittänyt järjestelmänlaajuisia pikanäppäimiä." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Työpöytäsi varaa nämä näppäimet sovellukselle {productName}, joten muut sovellukset eivät voi käyttää niitä." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Työpöytäsi varaa nämä näppäimet sovellukselle {productName}, joten muut sovellukset eivät voi käyttää niitä. Jos haluat käyttää samaa näppäintä muissa sovelluksissa, ota alla käyttöön suora pääsy syöttölaitteisiin." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Työpöytäsi suorittaa nämä pikanäppäimet myös silloin, kun {productName} ei ole aktiivisena." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Lahjoitusaikasi on päättynyt. Tilaa jatkaaksesi {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Lahjoitusaikasi säilyy" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Armonaikasi on päättynyt." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Asennuksesi on vioittunut. Kaikkien toimintojen käyttämiseksi sinun on asennettava sovellus uudelleen." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Viimeisin ostoksesi on hyvitysajan ulkopuolella. Ota yhteyttä tukeen laskutusasioissa." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Viestiäsi ei voitu toimittaa, koska turvajärjestelmämme merkitsivät sen. Jos uskot tämän olevan virhe, ota yhteyttä tukeen." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Viestiäsi ei voitu toimittaa, koska turvajärjestelmämme merkitsivät sen. Jos uskot tämän olevan virhe, ota yhteyttä tämän instanssin ylläpitäjiin." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Viestiäsi ei voitu toimittaa. Tämä johtuu yleensä siitä, että sinulla ja vastaanottajalla ei ole yhteistä yhteisöä tai vastaanottaja hyväksyy yksityisviestejä vain kavereilta. Sinun on ehkä myös muutettava omia yksityisviestien tietosuoja-asetuksiasi kohdassa {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Viestiäsi ei voitu toimittaa. Sinun on viimeisteltävä tilisi rekisteröinti, jotta voit lähettää yksityisviestejä." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Viestiäsi ei voitu toimittaa. Sinun on viimeisteltävä tilisi rekisteröinti, jotta voit lähettää viestejä." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Ilmoituksesi ei mennyt perille. Yritä uudelleen." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Tallentamasi {savedResolution} ja {savedFrameRate} FPS vaativat {premiumProductName} -tilauksen, joten jaot käyttävät {resolution} ja {frameRate} FPS." diff --git a/fluxer_app/src/features/i18n/locales/fr/messages.po b/fluxer_app/src/features/i18n/locales/fr/messages.po index 4d7557a56..c769a5171 100644 --- a/fluxer_app/src/features/i18n/locales/fr/messages.po +++ b/fluxer_app/src/features/i18n/locales/fr/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} exécute une version plus récente de Fluxer que cette application. Mettez à jour Fluxer, puis réessayez." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} d'avance sur vous" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} de retard sur vous" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} IPS" @@ -1553,12 +1553,12 @@ msgstr "Il y a {hours, plural, one {# heure} other {# heures}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# heure} other {# heures}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# heure} other {# heures}} {minutes, plural, one {# minute} other {# minutes}}" @@ -1602,7 +1602,7 @@ msgstr "Le fichier {label} est trop volumineux. Choisissez un fichier de taille msgid "{label} images cannot be animated. Use a static image." msgstr "Les images {label} ne peuvent pas être animées. Utilisez une image statique." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Drapeau : {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {Il y a # minute} other {Il y a # minutes}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minute} many {# minutes} other {# minutes}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} a détecté un nouvel appareil de sortie audio nommé <0> msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} doit redémarrer pour appliquer les paramètres de défilement natifs de Chromium." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} doit redémarrer pour que l'accélération matérielle prenne effet." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} doit redémarrer pour que la modification de la barre de titre prenne effet." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} doit redémarrer pour désactiver l'accélération matérielle de Chromium. N'utilisez cette option que si vous rencontrez des problèmes graphiques ou une utilisation élevée du GPU." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Chasseur de bugs {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} peut demander à votre bureau d'exécuter ses raccourcis lorsque {productName} n'est pas au premier plan. Votre bureau vous demandera de confirmer et vous laissera choisir les touches." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} ne peut plus lire votre clavier. Il écoute donc les raccourcis via X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} ne peut plus lire votre clavier. Les raccourcis de votre bureau sont donc utilisés à la place." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} ne peut plus lire votre clavier. Les raccourcis ne fonctionnent que lorsque {productName} est au premier plan." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} peut enregistrer ses raccourcis auprès de Hyprland pour qu'ils fonctionnent lorsque {productName} n'est pas au premier plan. Vous associez ensuite les touches dans votre configuration Hyprland." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} ne peut pas utiliser d’encodeur matériel pour cela et utilisera donc votre processeur." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} se ferme, installe la mise à jour et se rouvre." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} n’a pas pu joindre le service de mise à jour. Vérifiez votre connexion et réessayez." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} a déménagé sur {host}. Ouvrez-le dans votre navigateur pour installer la nouvelle application." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Membre de {productName} depuis le" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} a besoin d'accéder à votre microphone. Autorisez l'accès au microphone dans les paramètres de confidentialité de votre système d'exploitation et redémarrez l'application." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} a besoin d'accéder à votre caméra pour afficher vos appareils." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} a besoin d'accéder à votre microphone pour afficher vos appareils." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "Kit de récupération {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} a enregistré ses raccourcis auprès de Hyprland. Associez-les dans votre configuration Hyprland pour les utiliser lorsque {productName} n'est pas au premier plan." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 mois (1 an)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12 heures" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 heures" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24 heures" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "un nom d'hôte, par exemple {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Une mise à jour de l’application pour Linux est disponible. Choisissez le format de paquet adapté à ce système et {productName} l’enregistrera sur votre ordinateur." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "une minute" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Une nouvelle version pour ordinateur est disponible. Téléchargez le programme d’installation, puis exécutez-le pour mettre à jour {productName}." @@ -2817,7 +2817,7 @@ msgstr "À propos de {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "À propos de moi" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Partage d’activité" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Seuil d'activité" @@ -3155,7 +3155,7 @@ msgstr "Taille réelle" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Ajouter" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Ajoutez d'abord un nom d'utilisateur et un mot de passe à votre compte." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Ajouter un mot…" @@ -3244,7 +3244,7 @@ msgstr "Ajoutez une clé API YouTube Data pour enrichir les liens YouTube." #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Ajouter un compte" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Adresse" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Ajustez chaque paramètre vous-même : suppression du bruit, annulation de l'écho et gain." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Avancé" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Paramètres vidéo avancés" @@ -3906,22 +3906,22 @@ msgstr "Autoriser" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Autoriser {everyoneMention} et {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Autoriser {PRODUCT_NAME} à accéder à votre appareil photo dans Réglages Système → Confidentialité et sécurité → Appareil photo." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Autoriser {PRODUCT_NAME} à accéder à votre microphone dans Réglages Système → Confidentialité et sécurité → Microphone." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Autorisez {PRODUCT_NAME} à accéder à votre microphone. Vérifiez la barre d'adresse ou les paramètres de votre navigateur." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Autoriser {productName} dans « Enregistrement de l’écran » dans les Réglages Système. S’il est déjà autorisé, relancez {productName2} pour que macOS l’applique." @@ -3961,7 +3961,7 @@ msgstr "Autoriser les messages privés des bots" msgid "Allow bots to send you direct messages?" msgstr "Autoriser les bots à vous envoyer des messages privés ?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Autoriser l'accès à la caméra" @@ -4029,7 +4029,7 @@ msgstr "Autoriser les membres sans la permission {readMessageHistoryPermissionLa msgid "Allow mentions for this role" msgstr "Autoriser les mentions pour ce rôle" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Autoriser l’accès au micro" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Toujours souligner les liens" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Toujours utiliser les dictionnaires Hunspell de {productName}, téléchargés à la demande." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Pastille sur l’icône de l’application" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Format horaire de la langue de l’application : {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Approbation requise" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Approuvez cette application depuis l'application {productName} que vous utilisez déjà. Aucun mot de passe requis." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Autorisé le {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Auto" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Détection automatique de la langue" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Définir automatiquement le seuil d'activité" @@ -5534,7 +5534,7 @@ msgstr "AV1 (nécessite une activation)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Disponible" @@ -5608,11 +5608,11 @@ msgstr "Absent(e) pour le moment" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Meilleure compression. À utiliser uniquement lorsque WebRTC expose un encodeur et que le rapport GPU indique qu'il est pris en charge par le matériel." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Idéal avec l'appli de bureau" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Navigateur : accueil" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Format horaire du navigateur : {format}" @@ -6545,8 +6545,8 @@ msgstr "Achetez un cadeau {premiumProductName} depuis l'onglet {premiumProductNa msgid "Buy gift" msgstr "Offrir" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "En créant une communauté, vous acceptez de suivre et de respecter les <0>règles de la communauté {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Appels" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Aperçu caméra" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Qualité de la caméra" @@ -6809,8 +6809,8 @@ msgstr "Impossible d’envoyer des fichiers ici" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Annuler le changement programmé" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Résilier l’abonnement" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Résilier l’abonnement ?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Catégorie" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Avertissement relatif au contenu de la catégorie" @@ -7131,15 +7131,15 @@ msgstr "Modifier le surnom du groupe" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Changer l'icône" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Modifier dans les paramètres système" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Badges de salon" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Avertissement sur le contenu du salon" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Raccourcis de discussion" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Vérifier à nouveau" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Vérification de l'accès..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Vérification de l’autorisation d’enregistrement d’écran…" @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Paiement indisponible" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Choisissez comment vous souhaitez payer cet abonnement." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Choisir le mode de paiement" @@ -8174,7 +8174,7 @@ msgstr "Choisir vos paramètres par défaut" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Choisir votre instance" @@ -8216,8 +8216,8 @@ msgstr "Récupérer le cadeau" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Finalisez votre inscription" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Badges de communauté" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Avertissement concernant le contenu de la communauté" @@ -9089,8 +9089,8 @@ msgstr "MP de la communauté" msgid "Community filter" msgstr "Filtrer les communautés" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Icône de la communauté" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Communauté mise à jour" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Voix de la communauté" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Finaliser le paiement" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Effectuez la vérification pour accéder aux médias réservés aux adultes." @@ -9409,7 +9409,7 @@ msgstr "Confirmer" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Confirmer avant de rejoindre les salons vocaux" @@ -9457,7 +9457,7 @@ msgstr "Confirmez la déclaration pour envoyer le signalement." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Confirmer la connexion vocale" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Confirmation" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Confirmation ou double-clic pour rejoindre les salons vocaux des communautés" @@ -9476,7 +9476,7 @@ msgstr "Confirmation ou double-clic pour rejoindre les salons vocaux des communa msgid "Conflicts with {conflictLabel}" msgstr "Conflit avec {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Connectez une caméra et réessayez." @@ -9489,7 +9489,7 @@ msgstr "Connectez une caméra ou un appareil de capture virtuel, puis réessayez msgid "Connect a display, then try again." msgstr "Connectez un écran, puis réessayez." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Connectez un microphone et réessayez." @@ -9633,7 +9633,7 @@ msgstr "Connexion : {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Contact" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Contenu bloqué" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Continuer dans votre navigateur" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Continuer vers le paiement" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Continuer avec une clé d'accès" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Copier le lien d'invitation" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Copier les lignes" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Copier les lignes pour hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Copier les lignes pour hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Impossible de changer votre tarif" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Impossible de rechercher les mises à jour" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Impossible de supprimer vos messages" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Impossible de télécharger la mise à jour de l’application de bureau" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Impossible de démarrer le paiement" @@ -10932,7 +10932,7 @@ msgstr "Créer et partager" msgid "Create a community" msgstr "Créer une communauté" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Créez une communauté pour discuter avec vos amis." @@ -11365,7 +11365,7 @@ msgstr "Personnalisé" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Son désactivé par les modérateurs" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "Paquet DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Application de bureau" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "L’application de bureau est à jour" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Mise à jour {version} de l’application de bureau disponible. Choisissez un paquet Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Mise à jour de l’application de bureau disponible" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Mise à jour de l’application disponible. Choisissez un paquet Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "La version de bureau {version} est disponible. Téléchargez le programme d’installation, puis exécutez-le pour mettre à jour {productName}." @@ -12613,7 +12613,7 @@ msgstr "Détails : {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Détection pendant la saisie" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Outils de développement indisponibles" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Version de développement" @@ -13455,8 +13455,8 @@ msgstr "Télécharger" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Télécharger {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification et placez-le dans votre dossier <1>.well-known afin que nous puissions valider le domaine." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Télécharger l'app" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Bouton de téléchargement de l'application dans la barre latérale" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Bouton de téléchargement" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Télécharger l’application de bureau" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Télécharger l’image" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Télécharger l’installateur" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Télécharger le média" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Télécharger le paquet" @@ -13655,11 +13655,11 @@ msgstr "Déposer l'objet" msgid "Drop to upload background" msgstr "Déposer pour importer un arrière-plan" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "En raison de la législation sur les contenus pour adultes dans votre région ({regionName}), ces contenus sont bloqués jusqu’à ce que vous effectuiez la vérification d’accès." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "En raison de la législation sur les contenus pour adultes dans votre région ({regionName}), ces contenus ne sont pas accessibles depuis votre position actuelle. La vérification d’accès est disponible uniquement au Royaume-Uni." @@ -13673,7 +13673,7 @@ msgstr "En raison de la législation sur les contenus pour adultes dans votre r msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "En raison de la législation sur les contenus pour adultes dans votre région ({regionName}), ce contenu n’est pas accessible depuis votre position actuelle. La vérification d’accès est disponible uniquement au Royaume-Uni." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "En raison de la législation sur les contenus pour adultes dans votre région ({regionName}), ce média n’est pas accessible depuis votre position actuelle." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Chaque code fonctionne une fois à la place de votre application d'authentification." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Chaque touche ne peut exécuter qu'un seul raccourci système." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Activer" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Activer la permission {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Activer le raccourci" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Activer la vérification orthographique" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Mettre fin à la période de grâce" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Mettre fin à la période de grâce" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Mettre fin à la période de grâce maintenant ?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Entrez le code PIN de votre clé de sécurité pour continuer." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Entrez ce code dans votre navigateur" @@ -14845,7 +14845,7 @@ msgstr "Entrez ce code dans votre navigateur" msgid "Enter this code in your browser to complete sign-in." msgstr "Saisissez ce code dans votre navigateur pour terminer la connexion." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Entrez ce code dans votre ancienne application {PRODUCT_NAME} pour terminer la connexion." @@ -14916,7 +14916,7 @@ msgstr "Audio du système entier" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Son d’entrée" @@ -15026,7 +15026,7 @@ msgstr "Soir" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Équilibre le volume de votre micro pour que votre voix reste bien audible." @@ -15249,7 +15249,7 @@ msgstr "Expire entre {earliest} et {latest}" msgid "Expires in {remaining}s" msgstr "Expire dans {remaining} s" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Expire dans {remainingSeconds}s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Ajouter le salon aux favoris" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Salons favoris" @@ -16243,7 +16243,7 @@ msgstr "Pendant {threeHours} heures" msgid "For {twentyFourHours} hours" msgstr "Pendant {twentyFourHours} heures" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Pour les yeux britanniques seulement..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Pour moi" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Pour « Appuyer pour couper le micro », utilisez une seule touche sans Ctrl, Alt ou Maj. Avec une combinaison, relâchez d'abord la touche principale, sinon le micro peut rester coupé." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Pour « Appuyer pour parler », utilisez une seule touche sans Ctrl, Alt ou Maj. Avec une combinaison, relâchez d'abord la touche principale, sinon le micro peut rester activé." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Pour ce raccourci, utilisez une seule touche sans Ctrl, Alt ou Maj. Avec une combinaison, relâchez d'abord la touche principale, sinon le raccourci peut rester actif." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Pour « Priorité à l'activité vocale », utilisez une seule touche sans Ctrl, Alt ou Maj. Avec une combinaison, relâchez d'abord la touche principale, sinon la priorité peut rester activée." @@ -16460,14 +16460,14 @@ msgstr "Cadre" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Fréquence d'images" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Les fréquences d'images supérieures à 30 FPS nécessitent {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Recevez des notifications lorsque vous recevez des messages. Vous devrez peut-être autoriser les notifications dans les paramètres de votre navigateur. Pour les contrôles par salon/communauté, faites un clic droit sur l'icône d'une communauté et ouvrez les paramètres de notification." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Téléchargez l’application de bureau {productName} pour utiliser « Appuyer pour parler » dans tout le système et profiter d’autres avantages." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Télécharger l’application de bureau" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Retournez à {productName} pour continuer." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Retournez à l'application {PRODUCT_NAME}. Elle termine la connexion toute seule." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Retournez à l'application {PRODUCT_NAME}. Vous pouvez fermer cet onglet." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Aide" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Bouton Aide" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Centre d'aide" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Centre d'aide" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Aidez à traduire {PRODUCT_NAME} dans votre langue sur <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Masquer le chat" msgid "Hide community owner crown" msgstr "Masquer la couronne du propriétaire de la communauté" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Masquer le bouton de téléchargement" @@ -17860,7 +17860,7 @@ msgstr "Masquer les favoris" msgid "Hide guidelines" msgstr "Masquer les consignes" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Masquer le bouton du centre d'aide" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Masquer les messages de bienvenue" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Masquer les conseils relatifs au clavier" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Lien hypertexte" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland n'a pas de boîte de dialogue de raccourcis. Ajoutez les lignes correspondant à votre version de Hyprland à votre configuration Hyprland et remplacez KEY par la touche de votre choix." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland n'a pas de boîte de dialogue de raccourcis. Associez les touches dans votre configuration Hyprland." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (avant Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 et versions ultérieures)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Je confirme de bonne foi que les informations et allégations contenues dans cet avis sont exactes et complètes." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "J'ai compris" @@ -18598,11 +18598,11 @@ msgstr "Importation… {processedCount, number} / {totalCount, number} traités, msgid "In" msgstr "Dans" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "En mode « Système d’exploitation », les dictionnaires ci-dessus sont indicatifs. {PRODUCT_NAME} transmet ces codes de langue au correcteur orthographique de votre système lorsque celui-ci le permet. Les codes non reconnus sont ignorés." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "Dans un navigateur, la fonction \" Appuyer pour parler \" ne fonctionne que lorsque l'onglet {PRODUCT_NAME} est actif. Installez l'application de bureau pour utiliser cette fonction à l'échelle du système." @@ -18650,7 +18650,7 @@ msgstr "En chat vocal" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Dictionnaires intégrés à l'application" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Saisie" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Entrée et sortie" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Insérer un emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Installez {productName} pour profiter de toutes les options de sélection de source et de commandes de partage d'écran plus fluides." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Installer la nouvelle application" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Installé" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Version installée : {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Interface" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Langue de l’interface" @@ -19467,13 +19467,13 @@ msgstr "Rejoindre" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Rejoindre {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Rejoignez {communityName} pour discuter avec l'équipe et rester informé." @@ -19561,7 +19561,7 @@ msgstr "Rejoindre l'appel vidéo" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Rejoindre l'appel" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Conservez les niveaux gratuit et premium. Vous pourrez personnaliser les niveaux, vendre des abonnements premium via Stripe, ou distribuer des codes cadeaux plus tard depuis le panneau d'administration." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Conserver la période de grâce" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Continuer à fonctionner" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Garder l'abonnement" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Conservez cette page en lieu sûr. Si vous oubliez votre mot de passe, vous pourrez l'utiliser pour retrouver l'accès à votre compte. Toute personne possédant cette clé de récupération pourra réinitialiser votre mot de passe, alors ne la partagez jamais." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Continuer à transmettre brièvement après avoir relâché le bouton." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Clavier" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "L'accès au clavier n'a pas pu démarrer. Les raccourcis ne fonctionnent que lorsque {productName} est au premier plan." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Mode clavier" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Indications de raccourcis clavier dans les infobulles" @@ -19923,7 +19923,7 @@ msgstr "Paramètres de langue" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Langues" @@ -19971,7 +19971,7 @@ msgstr "Graphique de latence" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "A de nouveau autorisé le membre à entendre les autres dans cette communauté" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Permet à {productName} de lire directement votre clavier. Désactivez cette option pour configurer les raccourcis via votre bureau." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Permet à {productName} de lire directement votre clavier. Votre système l'autorise déjà." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Linux (par défaut)" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Paquet Linux" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Fichiers locaux" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Heure locale" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Apparence" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Il semble que vous utilisiez {0}. Empiler le traitement de {PRODUCT_NAME} par-dessus peut provoquer des pompages ou des distorsions. L'entrée directe transmet votre audio sans modification." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Nommer propriétaire du groupe" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Assurez-vous que ce code correspond à celui de l'application {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Gérer votre abonnement" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Mise à jour manuelle de l’application de bureau" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Volume principal" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Catégorie réservée aux adultes" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Salon réservé aux adultes" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Communauté réservée aux adultes" @@ -21194,7 +21194,7 @@ msgstr "Vérification d’accès aux contenus pour adultes envoyée" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "La vérification d’accès aux contenus pour adultes est actuellement disponible uniquement au Royaume-Uni." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Rôles du membre mis à jour" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Membre depuis" @@ -22013,7 +22013,7 @@ msgstr "Micro" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Test micro" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Neko, le chat qui poursuit votre curseur" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "De nouveaux membres ne peuvent pas rejoindre la communauté pour le moment. Vous pouvez tout de même créer un compte ou vous connecter, puis réessayer ce lien plus tard." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Nouvelle version" @@ -23465,7 +23465,7 @@ msgstr "Aucun message enregistré" msgid "No bot banner" msgstr "Pas de bannière de bot" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Aucune caméra détectée" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Aucune description." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Aucune mise à jour de l’application de bureau n’est disponible." @@ -23684,7 +23684,7 @@ msgstr "Aucun message correspondant" msgid "No mentions yet" msgstr "Aucune mention pour l'instant" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Aucun microphone détecté" @@ -23731,7 +23731,7 @@ msgstr "Aucune demande en attente ne correspond à cette recherche" msgid "No permissions found" msgstr "Aucune permission trouvée" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Pas encore de mots personnels." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Non autorisé" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Non attribué" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Au clic" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "Sur votre autre appareil, connectez-vous sur {signInAddress} et entrez ce code lorsqu'on vous le demande." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Ouvrir {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Ouvrir {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Ouvrir le sélecteur de compte" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Ouvrir les paramètres multimédias avancés" @@ -24788,7 +24788,7 @@ msgstr "Ouvrir les options de la bannière" msgid "Open bookmarks" msgstr "Ouvrir les messages enregistrés" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Ouvrir le navigateur" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Ouvrir le sélecteur de date" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Ouvrir les téléchargements pour ordinateur" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Ouvrir les réglages" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Ouvrir le centre logiciel" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Ouvrir les Réglages Système" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Ouvrez Réglages Système → Confidentialité et sécurité → Enregistrement de l’écran, puis autorisez {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Ouvrir le modèle JSON" @@ -25089,7 +25089,7 @@ msgstr "Ouvrir le modèle JSON" msgid "Open the context menu" msgstr "Ouvrir le menu contextuel" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Ouvrez le lien ci-dessous dans votre navigateur, puis copiez l'intégralité de la réponse JSON et collez-la dans le champ." @@ -25167,11 +25167,11 @@ msgstr "Ouvrir les paramètres audio et vidéo" msgid "Open with {accountName} on {instanceName}" msgstr "Ouvrir avec {accountName} sur {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Ouvrez votre navigateur, connectez-vous, puis saisissez le code ci-dessous pour associer votre compte." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Ouvrez votre ancienne application {PRODUCT_NAME} et choisissez « Lier un nouvel appareil », puis saisissez le code ci-dessous." @@ -25199,7 +25199,7 @@ msgstr "Ouvre la page Membres. Appuyez sur Espace ou Entrée pour ouvrir." #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Système d'exploitation" @@ -25629,7 +25629,7 @@ msgstr "7 derniers jours" msgid "Paste" msgstr "Coller" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Collez une URL de modèle {theOtherPlatform} pour importer sa structure dans une nouvelle communauté." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Permissions pour {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Dictionnaire personnel" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Choisissez au moins une étiquette pour cette publication." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Choisissez un ou plusieurs dictionnaires. Les mots de tous les dictionnaires sélectionnés sont acceptés, ce qui est utile pour les discussions multilingues." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Le tarif est encore en cours de chargement." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Achats indisponibles" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Touche \" Appuyer pour parler \"" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Appuyer pour parler" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Appuyer pour parler (limité)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "« Appuyer pour parler » n'a pas encore de touche système. Pour en définir une, allez dans Paramètres > Applications > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "« Appuyer pour parler » n'a pas encore de touche système. Pour en définir une, allez dans Configuration du système > Clavier > Raccourcis > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "« Appuyer pour parler » n'a pas encore de touche système. Pour en définir une, ouvrez les paramètres de raccourcis clavier de votre bureau." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "« Appuyer pour parler » est ignoré en mode « Entrée directe ». Passez en mode « Optimisé pour la voix » ou « Personnalisé » pour l’utiliser." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "« Appuyer pour parler » est activé. Maintenez votre touche enfoncée pour parler." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "« Appuyer pour parler » ne fonctionne que lorsque {productName} est au premier plan, car votre bureau n'a pas configuré les raccourcis système." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "La fonction \"parler pour activer\" ne fonctionne que lorsque {productName} est actif jusqu'à ce que {permissionName} soit activé." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "« Appuyer pour parler » ne fonctionne que lorsque {productName} est au premier plan, tant que vous n'avez pas configuré les raccourcis système." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "« Appuyer pour parler » fonctionne uniquement lorsque l’onglet du navigateur est actif." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "« Appuyer pour parler » utilisera la touche définie dans {productName}. Définissez-en une d'abord, sinon votre micro utilisera l'activité vocale." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "« Appuyer pour parler » ne réactive pas votre micro lorsque le son est désactivé. Réactivez le son pour parler." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "« Appuyer pour parler » ne fonctionne en dehors de {productName} qu'après l'avoir associé dans votre configuration Hyprland." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "« Appuyer pour parler » ne fonctionne en dehors de {productName} qu'après l'avoir associé dans votre configuration Hyprland. Ajoutez la ligne correspondant à votre version de Hyprland et remplacez KEY par la touche de votre choix." @@ -27533,12 +27533,12 @@ msgstr "Les destinataires seront redirigés vers {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Recommandé" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Recommandé. Améliore le son du micro pour une voix claire." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Reconnexion réussie. Choisissez à nouveau un écran pour reprendre votre diffusion précédente." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Reconnexion à votre bureau…" @@ -27836,7 +27836,7 @@ msgstr "Relauncher pour appliquer" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Délai de relâchement" @@ -27853,7 +27853,7 @@ msgstr "Pertinent" msgid "Reload" msgstr "Recharger" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Rechargez {PRODUCT_NAME} pour appliquer complètement le changement de moteur. Le passage entre la vérification orthographique intégrée et celle du système nécessite de recharger le moteur de rendu, car Electron ne peut pas changer de fournisseur pendant son exécution." @@ -27872,7 +27872,7 @@ msgstr "Rechargez {productName} pour utiliser la mise à jour web {version}" msgid "Reload app" msgstr "Recharger l’application" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Recharger maintenant" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Supprimer" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Supprimer « {word} » du dictionnaire" @@ -28086,8 +28086,8 @@ msgstr "Supprimer des favoris GIF enregistrés par URL" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Supprimer l'icône" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Lignes par page" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "Paquet RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Sécurité" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Même heure que vous" @@ -29770,7 +29770,7 @@ msgstr "Enregistrement de l’écran" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Autorisation d'enregistrement d'écran requise" @@ -29858,7 +29858,7 @@ msgstr "Confidentialité du partage d'écran" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Qualité du partage d'écran" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Rechercher un code de langue…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Rechercher des langues…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Sélectionner le GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Sélectionner la langue de l'interface" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Sélectionnez le compte avec lequel vous souhaitez vous connecter sur votre nouvel appareil." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Sélectionner le mode de traitement vocal" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Envoie l'audio brut du micro sans traitement." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Envoie votre audio tel quel. Idéal si vous utilisez un logiciel audio externe." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "A défini une position dans la liste des membres pour ce rôle" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Défini par le préréglage {preset}. Choisir une valeur ici passe en mode Personnalisé." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "A défini la région vocale sur automatique" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Configurer" @@ -31307,7 +31307,7 @@ msgstr "Partager avec un ami" msgid "Share your screen" msgstr "Partager votre écran" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Partagez votre écran en haute définition (1080p), en Quad HD (1440p) ou dans la résolution source native, jusqu'à 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Codes courts" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Raccourci" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Badges de raccourci" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Afficher le bouton \"Favoris\"" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Afficher les favoris dans toute l’application." @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Se connecter avec votre navigateur" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Se connecter avec votre ancienne application {productName}" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Se déconnecter ?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Connexion annulée" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Informations de connexion" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Parcours de connexion" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Connexion en tant que {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Connexion sur un autre appareil ?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Sons" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Vitesse" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Vérification orthographique" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Moteur de vérification orthographique" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Ajouter une animation aux favoris" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Salons favoris" @@ -33140,7 +33140,7 @@ msgstr "Démarrer un appel vocal ?" msgid "Start call" msgstr "Démarrer l'appel" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Lancer le test de la caméra et configurer les effets" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Démarrer minimisé" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Démarrage" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Neko statique" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Indexation en cours — réessayez dans un instant" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Neko immobile" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "En attente de l'accès à l'enregistrement d'écran" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Arrêter le test du micro" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Empêchez Neko de suivre votre curseur tout en le gardant déplaçable et interactif." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Abonnement déjà existant" @@ -33957,7 +33957,7 @@ msgstr "Passer à la mise en page confortable" msgid "Switch to dense layout" msgstr "Passer à la mise en page dense" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Passer en mode Entrée directe" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "Les MP système ne peuvent pas héberger d’appels vocaux." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Format horaire du système : {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Zone de notification" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Installation gérée par le système" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Raccourcis système" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Les raccourcis système n'ont pas pu être configurés." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Appuyer pour ajouter une note" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "Archive tar.gz" @@ -34360,7 +34360,7 @@ msgstr "Badge de la barre des tâches" msgid "Teleporting you to another voice region..." msgstr "Transfert vers une autre région vocale en cours..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Modèle" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "L'application {PRODUCT_NAME} sur votre autre appareil l'affiche sous « Connexion sur un autre appareil ». N'entrez un code que s'il provient d'un appareil que vous contrôlez." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "L'application {PRODUCT_NAME} n'a pas été connectée. Vous pouvez fermer cet onglet." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "La communauté que vous recherchez a peut-être été supprimée ou vous n'y avez peut-être pas accès." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Impossible de télécharger la mise à jour de l’application de bureau. Réessayez avec le bouton de mise à jour lorsque votre connexion sera stable." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Le fichier téléchargé est enregistré sur votre ordinateur. Installez-le avec votre gestionnaire de paquets habituel." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Cette catégorie contient déjà le nombre maximal de {maxChannelsPerCategory} salons." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Cette catégorie est réservée aux adultes et peut contenir des éléments inappropriés pour certains utilisateurs." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Ce canal a un avertissement de contenu. Les mises à jour ne peuvent être envoyées qu'aux canaux avec un avertissement de contenu ou une restriction d'âge." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Ce salon est réservé aux adultes et peut contenir des éléments inappropriés pour certains utilisateurs." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Cette communauté est pleine" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Cette communauté est réservée aux adultes et peut contenir des éléments inappropriés pour certains utilisateurs." @@ -35324,14 +35324,14 @@ msgstr "Cette communauté n’est plus disponible" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Cette connexion a été vérifiée." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Cette connexion n'a pas été vérifiée." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Cette conversation n'est plus disponible." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Cette version de bureau ne peut pas installer les mises à jour directement dans {productName}. Téléchargez plutôt la dernière version du programme d’installation pour ordinateur." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Ce bureau ne propose pas de raccourcis système. « Appuyer pour parler » ne fonctionne que lorsque {productName} est au premier plan." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Ce bureau ne propose pas de raccourcis système. Les raccourcis fonctionnent quand même lorsque {productName} est au premier plan." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Cette version de développement ne peut pas se mettre à jour. Téléchargez un programme d’installation pour tester le processus de mise à jour." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Cette image n'a pas pu être lue. Elle est peut-être endommagée." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Cette installation est gérée par votre système. Mettez à jour {productName} via votre centre logiciel ou votre gestionnaire de paquets." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Cette instance utilise déjà les noms d'utilisateur pour se connecter. Cela ne peut plus changer." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Cette instance autorise actuellement le partage d'écran jusqu'à 720p à 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Ce lien n'est pas valide. Veuillez ouvrir à nouveau le lien de votre e-mail." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Cette catégorie réservée aux adultes n’est pas accessible avec votre compte." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Cette catégorie réservée aux adultes n’est pas accessible avec votre compte. <0>En savoir plus" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Ce salon réservé aux adultes n’est pas accessible avec votre compte." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Ce salon réservé aux adultes n’est pas accessible avec votre compte. <0>En savoir plus" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Cette communauté réservée aux adultes n’est pas accessible avec votre compte." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Cette communauté réservée aux adultes n’est pas accessible avec votre compte. <0>En savoir plus" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Ce média pour adultes n’est pas accessible avec votre compte." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Ce média pour adultes n’est pas accessible avec votre compte. <0>En savoir plus" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Ce forfait n'est pas disponible. Contactez l'assistance." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Ce forfait n'est pas disponible. Contactez les administrateurs de cette instance." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Cet achat n’est pas éligible à un remboursement." @@ -35837,7 +35853,7 @@ msgstr "Ce fil de discussion est verrouillé. Seuls les modérateurs peuvent env msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Cet utilisateur a limité son profil. Certains détails sont masqués pour les personnes qui ne font pas partie de ses amis." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Cet utilisateur n'a aucun rôle dans cette communauté." @@ -36050,14 +36066,14 @@ msgstr "Heure" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Format de l'heure" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Sélection du format de l'heure" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Plateforme de la barre de titre" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Pour modifier les touches, allez dans Paramètres > Applications > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Pour modifier les touches, allez dans Configuration du système > Clavier > Raccourcis > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Pour modifier les touches, ouvrez les paramètres de raccourcis clavier de votre bureau." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Barre d'outils" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Raccourcis dans les infobulles" @@ -36864,7 +36880,7 @@ msgstr "Format 24 heures" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Deux clics" @@ -37263,7 +37279,7 @@ msgstr "Solution de secours universelle. Qualité la plus basse, mais fonctionne #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Inconnu" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Débloquez les emojis personnalisés dans les MP avec {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Débloquez le partage d'écran HD avec {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Jusqu'à 720p à 30 IPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Mettez à jour {productName} pour utiliser les raccourcis système sur Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Mettre à jour mon statut" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Mettre à jour maintenant" @@ -38008,8 +38024,8 @@ msgstr "Envoyer des fichiers et des médias dans ce salon." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Importer une icône" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Utiliser {name} sur {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Utiliser {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Utiliser {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Utiliser une autre méthode" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Utiliser le défilement automatique" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Utiliser une carte" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Utiliser par défaut" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Utiliser l'accès direct aux périphériques d'entrée" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Utiliser les stickers d’autres communautés." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Utiliser le format de l'heure du système" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Utiliser les bordures de fenêtre du système d'exploitation" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Utiliser le correcteur orthographique intégré à votre système d'exploitation." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Utiliser l'activité vocale" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Utilisez le correcteur orthographique de votre système d'exploitation si disponible. Sinon, utilisez les dictionnaires intégrés de {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Vérifiez d'abord votre adresse e-mail" @@ -39244,7 +39260,7 @@ msgstr "Voir les détails" msgid "View devices that are signed in to your account" msgstr "Voir les appareils connectés à votre compte" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Voir le profil complet" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Salon vocal" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Confirmation du salon vocal" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Salon vocal plein" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Comportement lors de la connexion aux salons vocaux" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Participants à l'appel" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Traitement de la voix" @@ -39661,7 +39677,7 @@ msgstr "Son réactivé" msgid "Voice unmute" msgstr "Micro réactivé" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "La voix utilise votre périphérique de sortie système dans ce navigateur. Modifiez-le dans vos paramètres système." @@ -39675,7 +39691,7 @@ msgstr "Annulée" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Attendre entre les messages. Les membres disposant de la permission « { msgid "Waiting for connection..." msgstr "En attente de connexion…" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "En attente de la clé d’accès…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "En attente d’une action de votre part…" #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "En attente de votre bureau…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Nous n'avons pas pu lire ce thème. Il est peut-être corrompu ou invalide." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Nous avons redimensionné et compressé ce sticker en 320 × 320 pixels, msgid "We sent a code to {email}." msgstr "Nous avons envoyé un code à {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Nous allons préremplir {prefillEmail} une fois que la connexion par navigateur s'ouvrira." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Aperçus des sites web" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Bon retour" @@ -40321,7 +40337,7 @@ msgstr "Quelles communautés" msgid "Which conversations" msgstr "Quelles conversations" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Lorsque « Appuyer pour parler » est activé, votre raccourci contrôle le micro. Le bouton « Couper le micro » est donc désactivé." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Vous venez d'appuyer sur Tab. Le mode clavier est maintenant activé pour que vous puissiez naviguer dans {productName} sans souris." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Vous conservez vos avantages jusqu’à la date de votre prochain renouvellement. Réactivez votre abonnement avant cette date pour conserver votre historique d’abonné." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Vous perdez immédiatement tous les avantages {PREMIUM_PRODUCT_NAME} et votre historique d’abonné est réinitialisé. Cette action est irréversible." @@ -41137,8 +41153,8 @@ msgstr "Vous devez disposer de la permission « {permissionLabel} » pour utilis msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Vous devez disposer de la permission « {permissionLabel} » pour utiliser ici les stickers d’autres communautés." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Vous devez finaliser votre inscription avant de pouvoir créer une communauté." @@ -41155,8 +41171,8 @@ msgstr "Vous devez finaliser votre inscription pour envoyer des messages privés msgid "You need to claim your account to send messages in this community." msgstr "Vous devez finaliser votre inscription pour envoyer des messages dans cette communauté." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Vous devez vérifier votre adresse e-mail avant de pouvoir créer une communauté." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 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}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Vous apparaîtrez hors ligne" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Vous serez facturé maintenant. Votre temps cadeau restant sera ajouté après votre période payante, ainsi rien ne sera perdu." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Vous êtes déjà membre Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Vous envoyez des signalements trop rapidement. Réessayez plus tard." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Vous êtes connecté" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Votre compte est trop récent pour envoyer des messages dans cette commu msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Votre demande de compte est en attente d’approbation. Vous pourrez vous connecter lorsqu’un admin l’aura approuvée." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Votre compte nécessite une authentification multifacteur, mais aucune méthode prise en charge n'est configurée sur cet appareil. Connectez-vous sur un appareil doté de votre application d'authentification ou de votre clé de sécurité, ou contactez l'assistance." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Votre compte nécessite une authentification multifacteur, mais aucune méthode prise en charge n'est configurée sur cet appareil. Connectez-vous sur un appareil doté de votre application d'authentification ou de votre clé de sécurité, ou contactez les administrateurs de cette instance." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Vos comptes et paramètres n'ont pas été modifiés ni supprimés." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Votre action n'a pas pu être effectuée, car elle a été signalée par nos systèmes de sécurité. Si vous pensez qu'il s'agit d'une erreur, veuillez contacter l'assistance." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Votre action n'a pas pu être effectuée, car elle a été signalée par nos systèmes de sécurité. Si vous pensez qu'il s'agit d'une erreur, veuillez contacter les administrateurs de cette instance." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Votre kit actuel cesse de fonctionner dès que le nouveau est créé." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Votre bureau n'a pas configuré les raccourcis système." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Votre bureau réserve ces touches à {productName}, les autres applications ne peuvent donc pas les utiliser." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Votre bureau réserve ces touches à {productName}, les autres applications ne peuvent donc pas les utiliser. Pour utiliser la même touche dans d'autres applications, activez l'accès direct aux périphériques d'entrée ci-dessous." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Votre bureau exécute ces raccourcis même lorsque {productName} n'est pas actif." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Votre temps offert est terminé. Abonnez-vous pour conserver {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Votre temps offert est conservé" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Votre période de grâce est terminée." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Votre installation est corrompue. Vous devez réinstaller l'application pour que toutes les fonctionnalités fonctionnent." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Votre dernier achat ne peut plus être remboursé. Contactez l’assistance pour les problèmes de facturation." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Votre message n'a pas pu être envoyé, car il a été signalé par nos systèmes de sécurité. Si vous pensez qu'il s'agit d'une erreur, veuillez contacter l'assistance." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Votre message n'a pas pu être envoyé, car il a été signalé par nos systèmes de sécurité. Si vous pensez qu'il s'agit d'une erreur, veuillez contacter les administrateurs de cette instance." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Votre message n’a pas pu être envoyé. Cela arrive généralement lorsque vous n’avez aucune communauté en commun avec le destinataire ou que celui-ci accepte uniquement les messages privés de ses amis. Vous devrez peut-être aussi modifier vos propres paramètres de confidentialité des messages privés dans {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Votre message n’a pas pu être envoyé. Vous devez finaliser votre inscription pour envoyer des messages privés." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Votre message n’a pas pu être envoyé. Vous devez finaliser votre inscription pour envoyer des messages." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Votre signalement n'a pas pu être envoyé. Réessayez." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Votre {savedResolution} à {savedFrameRate} FPS nécessite {premiumProductName}, les partages utilisent donc {resolution} à {frameRate} FPS." diff --git a/fluxer_app/src/features/i18n/locales/he/messages.po b/fluxer_app/src/features/i18n/locales/he/messages.po index 200e72da1..a5f5dbac7 100644 --- a/fluxer_app/src/features/i18n/locales/he/messages.po +++ b/fluxer_app/src/features/i18n/locales/he/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} מריץ גרסה חדשה יותר של Fluxer מהאפליקציה הזו. עדכן את Fluxer, ואז נסה שוב." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} לפניך" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} אחריך" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "לפני {hours, plural, one {# שעה} other {# שעות}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# שעה} other {# שעות}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# שעה} other {# שעות}} {minutes, plural, one {# דקה} other {# דקות}}" @@ -1602,7 +1602,7 @@ msgstr "הקובץ {label} גדול מדי. בחר קובץ קטן מ-{maxSizeLa msgid "{label} images cannot be animated. Use a static image." msgstr "אי אפשר להשתמש בתמונות מונפשות עבור {label}. השתמש בתמונה סטטית." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "דגל {languageName}" @@ -1678,7 +1678,7 @@ msgstr "לפני {minutes, plural, one {# דקה} other {# דקות}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# דקה} two {# דקות} other {# דקות}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} זיהה התקן פלט שמע חדש בשם <0>{deviceN msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "יש להפעיל מחדש את {PRODUCT_NAME} לפני שהגדרות הגלילה המקורית של Chromium ישנו את אופן הגלילה." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "יש להפעיל מחדש את {PRODUCT_NAME} כדי שהאצת החומרה תיכנס לתוקף." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "כדי שהשינוי בשורת הכותרת ייכנס לתוקף, יש להפעיל מחדש את {PRODUCT_NAME}." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "יש להפעיל מחדש את {PRODUCT_NAME} כדי להשבית את האצת החומרה של Chromium. השתמש באפשרות זו רק אם אתה מנסה לפתור תקלות גרפיקה או שימוש גבוה במעבד הגרפי." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "צייד באגים של {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} יכול לבקש משולחן העבודה שלך להפעיל את הקיצורים שלו כש-{productName} אינו ממוקד. שולחן העבודה יבקש ממך אישור ויאפשר לך לבחור את המקשים." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} כבר לא יכול לקרוא את המקלדת שלך, ולכן הוא מאזין לקיצורי דרך באמצעות X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} כבר לא יכול לקרוא את המקלדת שלך, ולכן נעשה שימוש בקיצורי הדרך של שולחן העבודה שלך." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} כבר לא יכול לקרוא את המקלדת שלך. קיצורי הדרך פועלים רק כאשר {productName} ממוקד." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} יכול לרשום את הקיצורים שלו ב-Hyprland כדי שיפעלו גם כש-{productName} אינו ממוקד. לאחר מכן תקצה את המקשים בקובץ התצורה של Hyprland." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} לא יכול להשתמש במקודד חומרה עבור פעולה זו, ולכן הוא ישתמש במעבד שלך." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} נסגר, מתקין את העדכון ונפתח מחדש." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "לא ניתן ליצור קשר עם שירות העדכונים של {productName}. בדוק את החיבור שלך ונסה שוב." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} עבר ל-{host}. פתח אותו בדפדפן כדי להתקין את האפליקציה החדשה." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "חבר/ה ב-{productName} מאז" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} זקוק לגישה למיקרופון שלך. אפשר גישה למיקרופון בהגדרות הפרטיות של מערכת ההפעלה שלך והפעל מחדש את האפליקציה." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} זקוק לגישה למצלמה כדי להציג את המכשירים שלך." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} זקוק לגישה למיקרופון כדי להציג את המכשירים שלך." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "ערכת שחזור של {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} רשם את הקיצורים שלו ב-Hyprland. הקצה להם מקשים בקובץ התצורה של Hyprland כדי להשתמש בהם כש-{productName} אינו ממוקד." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 חודשים (שנה אחת)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "שעון 12 שעות" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 שעות" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "שעון 24 שעות" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "שם מארח, לדוגמה {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "זמין עדכון לאפליקציית שולחן העבודה ללינוקס. בחר את פורמט החבילה עבור המערכת הזו, ו-{productName} ישמור אותו באופן מקומי." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "דקה" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "גרסה חדשה של אפליקציית שולחן העבודה זמינה. הורד את קובץ ההתקנה והפעל אותו כדי לעדכן את {productName}." @@ -2817,7 +2817,7 @@ msgstr "אודות {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "אודותיי" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "שיתוף פעילות" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "סף פעילות" @@ -3155,7 +3155,7 @@ msgstr "גודל מקורי" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "הוספה" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "הוסף שם משתמש וסיסמה לחשבונך תחילה." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "הוספת מילה…" @@ -3244,7 +3244,7 @@ msgstr "הוסף מפתח API של YouTube Data כדי להעשיר קישורי #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "הוספת חשבון" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "כתובת" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "התאם כל הגדרה בעצמך: דיכוי רעשים, ביטול הד והגברה." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "מתקדם" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "הגדרות וידאו מתקדמות" @@ -3906,22 +3906,22 @@ msgstr "אפשר" msgid "Allow {everyoneMention} and {hereMention}" msgstr "אפשר {everyoneMention} ו-{hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "אפשר ל-{PRODUCT_NAME} לגשת למצלמה שלך ב'הגדרות המערכת' → 'פרטיות ואבטחה' → 'מצלמה'." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "אפשר ל-{PRODUCT_NAME} לגשת למיקרופון שלך בהגדרות המערכת → פרטיות ואבטחה → מיקרופון." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "אפשר ל-{PRODUCT_NAME} לגשת למיקרופון שלך. בדוק את שורת הכתובת או את ההגדרות של הדפדפן." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "אפשר ל-`{productName}` גישה להקלטת מסך בהגדרות המערכת. אם היא כבר מאושרת, הפעל מחדש את `{productName2}` כדי שמערכת ההפעלה macOS תחיל את השינוי." @@ -3961,7 +3961,7 @@ msgstr "אפשר הודעות פרטיות מבוטים" msgid "Allow bots to send you direct messages?" msgstr "לאפשר לבוטים לשלוח לך הודעות פרטיות?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "אפשר מצלמה" @@ -4029,7 +4029,7 @@ msgstr "אפשר לחברים ללא הרשאת {readMessageHistoryPermissionLab msgid "Allow mentions for this role" msgstr "אפשר אזכורים לתפקיד זה" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "אפשר מיקרופון" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "הצג תמיד קו תחתון בקישורים" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "יש להשתמש תמיד במילוני Hunspell של {productName}, שמתקבלים בהורדה לפי דרישה." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "תג סמל האפליקציה" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "תבנית השעה לפי שפת האפליקציה: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "אישור נדרש" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "אשר את האפליקציה הזו מתוך אפליקציית {productName} שבה אתה כבר משתמש. אין צורך בסיסמה." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "אושר ב-{authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "אוטומטי" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "זיהוי שפה אוטומטי" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "קביעה אוטומטית של סף הפעילות" @@ -5534,7 +5534,7 @@ msgstr "AV1 (דורש אישור מראש)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "זמינה" @@ -5608,11 +5608,11 @@ msgstr "לא זמין כרגע" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "הדחיסה הטובה ביותר. יש להשתמש רק כאשר WebRTC חושף מקודד ודוח ה-GPU מציין שהוא נתמך בחומרה." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "מומלץ עם אפליקציית המחשב" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "דפדפן: דף הבית" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "תבנית השעה של הדפדפן: {format}" @@ -6545,8 +6545,8 @@ msgstr "ניתן לקנות מתנת {premiumProductName} מהלשונית {prem msgid "Buy gift" msgstr "קניית מתנה" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "ביצירת קהילה, אתה מסכים לפעול לפי <0>הנחיות הקהילה של {PRODUCT_NAME} ולשמור עליהן." @@ -6658,7 +6658,7 @@ msgstr "שיחות" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "תצוגה מקדימה של המצלמה" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "איכות מצלמה" @@ -6809,8 +6809,8 @@ msgstr "לא ניתן להעלות קבצים כאן" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "ביטול המעבר המתוזמן" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "ביטול מינוי" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "לבטל את המינוי?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "קטגוריה" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "אזהרת תוכן בקטגוריה" @@ -7131,15 +7131,15 @@ msgstr "שינוי הכינוי בקבוצה" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "שינוי אייקון" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "שינוי בהגדרות המערכת" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "תגים לערוץ" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "אזהרת תוכן בערוץ" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "קיצורי דרך לצ'אט" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "בדיקה חוזרת" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "בודק גישה..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "בודק הרשאת הקלטת מסך..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "התשלום אינו זמין" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "בחר איך לשלם על המינוי הזה." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "בחירת אמצעי תשלום" @@ -8174,7 +8174,7 @@ msgstr "בחר את ברירות המחדל שלך" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "בחר את השרת שלך" @@ -8216,8 +8216,8 @@ msgstr "קבל את המתנה" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "תבע את החשבון שלך" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "תגים לקהילה" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "אזהרת תוכן בקהילה" @@ -9089,8 +9089,8 @@ msgstr "הודעה פרטית מקהילה" msgid "Community filter" msgstr "סינון קהילות" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "אייקון קהילה" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "הקהילה עודכנה" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "קול בקהילה" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "השלם תשלום" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "יש להשלים את בדיקת התוכן למבוגרים כדי לבטל את נעילת המדיה למבוגרים." @@ -9409,7 +9409,7 @@ msgstr "אישור" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "אישור לפני הצטרפות לערוצי קול" @@ -9457,7 +9457,7 @@ msgstr "אשר את ההצהרה כדי לשלוח את הדיווח." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "אישור הצטרפות קולית" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "אישור" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "אישור או לחיצה כפולה להצטרפות לערוץ קולי בקהילה" @@ -9476,7 +9476,7 @@ msgstr "אישור או לחיצה כפולה להצטרפות לערוץ קול msgid "Conflicts with {conflictLabel}" msgstr "מתנגש עם {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "חבר מצלמה ונסה שוב." @@ -9489,7 +9489,7 @@ msgstr "חבר מצלמה או התקן לכידה וירטואלי, ואז נס msgid "Connect a display, then try again." msgstr "חבר צג, ואז נסה שוב." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "חבר מיקרופון ונסה שוב." @@ -9633,7 +9633,7 @@ msgstr "חיבור: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "פרטי קשר" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "התוכן נחסם" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "המשך בדפדפן שלך" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "המשך לתשלום" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "המשך עם מפתח גישה" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "העתקת כתובת ה-URL של ההזמנה" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "העתקת שורות" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "העתקת שורות עבור hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "העתקת שורות עבור hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "לא ניתן היה לשנות את המחיר שלך" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "לא ניתן היה לבדוק עדכונים" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "לא ניתן היה למחוק את ההודעות שלך" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "לא ניתן היה להוריד את עדכון שולחן העבודה" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "לא ניתן להתחיל את התשלום" @@ -10932,7 +10932,7 @@ msgstr "יצירה ושיתוף" msgid "Create a community" msgstr "יצירת קהילה" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "צור קהילה בשבילך ובשביל החברים שלך כדי לשוחח." @@ -11365,7 +11365,7 @@ msgstr "מותאם אישית" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "השמע הושתק על ידי מנהלים" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "חבילת DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "אפליקציית המחשב" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "אפליקציית המחשב מעודכנת" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "עדכון {version} זמין לאפליקציית המחשב. בחר חבילת Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "עדכון זמין לאפליקציית המחשב" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "עדכון זמין לאפליקציית המחשב. בחר חבילת Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "גרסה {version} של אפליקציית המחשב זמינה. הורד את קובץ ההתקנה והפעל אותו כדי לעדכן את {productName}." @@ -12613,7 +12613,7 @@ msgstr "פרטים: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "זיהוי תוך כדי הקלדה" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "כלי מפתחים אינם זמינים" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "גרסת פיתוח" @@ -13455,8 +13455,8 @@ msgstr "הורדה" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "הורד את {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification והנח אותו בתיקיית <1>.well-known כדי שנוכל לאמת את הדומיין." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "הורד אפליקציה" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "הורד את האפליקציה" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "כפתור הורדה" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "הורדת אפליקציית המחשב" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "הורד את התמונה" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "הורדת קובץ ההתקנה" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "הורדת מדיה" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "הורדת חבילה" @@ -13655,11 +13655,11 @@ msgstr "שחרור פריט" msgid "Drop to upload background" msgstr "שחרר כדי להעלות רקע" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "בשל חוקי תוכן למבוגרים ב-{regionName}, תוכן למבוגרים חסום עד שתשלים את בדיקת התוכן למבוגרים." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "בשל חוקי תוכן למבוגרים ב-{regionName}, תוכן למבוגרים אינו זמין מכאן. בדיקות תוכן למבוגרים זמינות רק בבריטניה." @@ -13673,7 +13673,7 @@ msgstr "בשל חוקי תוכן למבוגרים ב-{regionName}, תוכן זה msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "בשל חוקי תוכן למבוגרים ב-{regionName}, תוכן זה אינו זמין כאן. בדיקות תוכן למבוגרים זמינות רק בבריטניה." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "בשל חוקי תוכן למבוגרים ב-{regionName}, מדיה זו אינה זמינה באזורך הנוכחי." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "כל קוד עובד פעם אחת במקום אפליקציית האימות שלך." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "כל מקש יכול להפעיל רק קיצור דרך כלל-מערכתי אחד." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "הפעלה" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "הפעלת הרשאת {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "הפעל קיצור דרך" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "הפעלת בדיקת איות" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "סיים את תקופת החסד עכשיו" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "סיום תקופת החסד" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "לסיים את תקופת החסד עכשיו?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "הזן את ה-PIN של מפתח האבטחה שלך כדי להמשיך." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "הזן את הקוד הזה בדפדפן שלך" @@ -14845,7 +14845,7 @@ msgstr "הזן את הקוד הזה בדפדפן שלך" msgid "Enter this code in your browser to complete sign-in." msgstr "הזן קוד זה בדפדפן שלך כדי להשלים את הכניסה." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "הזן את הקוד הזה באפליקציית {PRODUCT_NAME} הישנה שלך כדי להשלים את ההתחברות." @@ -14916,7 +14916,7 @@ msgstr "כל צלילי המערכת" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "צליל כניסה" @@ -15026,7 +15026,7 @@ msgstr "ערב" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "מאזן את עוצמת המיקרופון שלך כדי שלא תישמע שקט מדי." @@ -15249,7 +15249,7 @@ msgstr "יפוג בין {earliest} ל-{latest}" msgid "Expires in {remaining}s" msgstr "יפוג בעוד {remaining} שנ'" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "פג תוקף בעוד {remainingSeconds} שניות" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "סימון ערוץ כמועדף" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "ערוצים מועדפים" @@ -16243,7 +16243,7 @@ msgstr "למשך {threeHours} שעות" msgid "For {twentyFourHours} hours" msgstr "למשך {twentyFourHours} שעות" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "לעיניים בריטיות בלבד..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "בשבילי" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "עבור השתקה בלחיצה, השתמש במקש יחיד ללא Ctrl, Alt או Shift. אם אתה משתמש בשילוב מקשים, שחרר קודם את המקש הראשי, אחרת המיקרופון עלול להישאר מושתק." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "עבור דיבור בלחיצה, השתמש במקש יחיד ללא Ctrl, Alt או Shift. אם אתה משתמש בשילוב מקשים, שחרר קודם את המקש הראשי, אחרת המיקרופון עלול להישאר פתוח." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "עבור קיצור דרך זה, השתמש במקש יחיד ללא Ctrl, Alt או Shift. אם אתה משתמש בשילוב מקשים, שחרר קודם את המקש הראשי, אחרת הקיצור עלול להישאר פעיל." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "עבור עדיפות לפעילות קולית, השתמש במקש יחיד ללא Ctrl, Alt או Shift. אם אתה משתמש בשילוב מקשים, שחרר קודם את המקש הראשי, אחרת העדיפות עלולה להישאר פעילה." @@ -16460,14 +16460,14 @@ msgstr "מסגרת" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "קצב פריימים" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "קצב פריימים מעל 30 FPS דורש {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "קבל התראות כשאתה מקבל הודעות. ייתכן שתצטרך לאפשר התראות בהגדרות הדפדפן שלך. לבקרת התראות לפי ערוץ/קהילה, לחץ לחיצה ימנית על סמל קהילה ופתח את הגדרות ההתראות." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "קבל את אפליקציית {productName} למחשב כדי ליהנות מ-Push-to-Talk כלל-מערכתי ומכמה פינוקים נוספים." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "הורדת אפליקציית המחשב" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "חזור אל {productName} כדי להמשיך." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "חזור לאפליקציית {PRODUCT_NAME}. היא תסיים את הכניסה בעצמה." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "חזור לאפליקציית {PRODUCT_NAME}. אפשר לסגור את הלשונית הזו." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "עזרה" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "לחצן עזרה" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "מרכז עזרה" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "מרכז עזרה" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "עזור לתרגם את {PRODUCT_NAME} לשפה שלך ב-<0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "הסתר צ'אט" msgid "Hide community owner crown" msgstr "הסתר את כתר בעל הקהילה" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "הסתר את כפתור ההורדה" @@ -17860,7 +17860,7 @@ msgstr "הסתרת מועדפים" msgid "Hide guidelines" msgstr "הסתר הנחיות" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "הסתר את כפתור מרכז העזרה" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "הסתרת הודעות הצטרפות" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "הסתר את רמזי המקלדת" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "קישור" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "ל-Hyprland אין חלון קיצורי דרך. הוסף את השורות עבור גרסת ה-Hyprland שלך לקובץ התצורה של Hyprland והחלף את KEY במקש הרצוי." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "ל-Hyprland אין חלון קיצורי דרך. הקצה את המקשים בקובץ התצורה של Hyprland." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (לפני Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 ואילך)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "אני מצהיר בתום לב כי המידע והטענות בדיווח זה מדויקים ושלמים." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "אני מבין/ה" @@ -18598,11 +18598,11 @@ msgstr "מייבא… {processedCount, number} מתוך {totalCount, number} ע msgid "In" msgstr "בערוץ" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "במצב \"מערכת הפעלה\", המילונים המפורטים לעיל הם בגדר המלצה. {PRODUCT_NAME} יעביר את תגי השפה האלה לבודק האיות של מערכת ההפעלה שלך כאשר הדבר נתמך. הוא יתעלם מתגים שאינו מזהה." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "בדפדפן, דיבור בלחיצה (push-to-talk) פועל רק כשהכרטיסייה של {PRODUCT_NAME} ממוקדת. התקן את אפליקציית המחשב כדי להשתמש בדיבור בלחיצה בכל המערכת." @@ -18650,7 +18650,7 @@ msgstr "בצ'אט קולי" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "מילוני האפליקציה" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "קלט" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "קלט ופלט" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "הוספת אימוג'י" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "התקן את {productName} כדי לקבל את בורר המקור המלא ובקרות חלקות יותר לשיתוף מסך." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "התקן את האפליקציה החדשה" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "מותקן" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "הגרסה המותקנת: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "ממשק" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "שפת ממשק" @@ -19467,13 +19467,13 @@ msgstr "הצטרפות" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "הצטרף ל-{communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "הצטרף ל-{communityName} כדי לשוחח עם הצוות ולהישאר מעודכן." @@ -19561,7 +19561,7 @@ msgstr "הצטרף לשיחת וידאו" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "הצטרף לשיחה הקולית" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "שמרו על רמות חינמיות ופרימיום. תוכלו להתאים אישית את הרמות, למכור פרימיום דרך Stripe, או לחלק קודי מתנה מאוחר יותר מלוח הבקרה של המנהל." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "השארת תקופת החסד" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "המשך לפעול" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "השארת המנוי" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "שמור דף זה במקום בטוח. אם תשכח את הסיסמה שלך, תוכל להשתמש בו כדי לחזור לחשבונך. כל מי שיש לו את מפתח השחזור הזה יכול לאפס את הסיסמה שלך, אז לעולם אל תשתף אותו." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "המשך לשדר לזמן קצר לאחר השחרור." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "מקלדת" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "לא ניתן היה להפעיל את הגישה למקלדת. קיצורי הדרך פועלים רק כאשר {productName} ממוקד." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "מצב מקלדת" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "רמזים לקיצורי מקלדת בתיאורי כלים" @@ -19923,7 +19923,7 @@ msgstr "הגדרות שפה" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "שפות" @@ -19971,7 +19971,7 @@ msgstr "גרף השהיה" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "מתן אפשרות לחבר לשמוע שוב אחרים בקהילה זו" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "מאפשר ל-{productName} לקרוא את המקלדת שלך ישירות. כבה את האפשרות הזו כדי להגדיר קיצורי דרך באמצעות שולחן העבודה שלך במקום זאת." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "מאפשר ל-{productName} לקרוא את המקלדת שלך ישירות. המערכת שלך כבר מאפשרת זאת." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "ברירת מחדל של לינוקס" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "חבילת לינוקס" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "קבצים מקומיים" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "שעה מקומית" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "מראה ותחושה" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "נראה שאתה משתמש ב-{0}. הוספת עיבוד של {PRODUCT_NAME} עלולה לגרום לעיוות או להגברת יתר. קלט ישיר מעביר את השמע שלך ללא שינוי." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "הפוך לבעל הקבוצה" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "ודא שקוד זה תואם לזה שביישום {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "ניהול המנוי שלך" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "עדכון ידני למחשב" @@ -21145,15 +21145,15 @@ msgstr "מסצ'וסטס" msgid "Master volume" msgstr "עוצמת קול ראשית" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "קטגוריית תוכן למבוגרים" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "ערוץ למבוגרים בלבד" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "קהילה למבוגרים בלבד" @@ -21194,7 +21194,7 @@ msgstr "נשלחה בדיקת תוכן למבוגרים" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "בדיקות תוכן למבוגרים זמינות כרגע רק בבריטניה." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "תפקידי חברים עודכנו" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "חבר מאז" @@ -22013,7 +22013,7 @@ msgstr "מיקרופון" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "בדיקת מיקרופון" @@ -22127,7 +22127,7 @@ msgstr "מינסוטה" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "נקו" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "חתול נקו שרודף אחרי הסמן שלך" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "משתמשים חדשים לא יכולים להצטרף כרגע. עדיין באפשרותך ליצור חשבון או להיכנס, ואז לנסות את הקישור הזה שוב מאוחר יותר." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "גרסה חדשה" @@ -23465,7 +23465,7 @@ msgstr "אין סימניות" msgid "No bot banner" msgstr "אין באנר לבוט" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "לא נמצאה מצלמה" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "אין תיאור." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "אין עדכון זמין לאפליקציית המחשב." @@ -23684,7 +23684,7 @@ msgstr "לא נמצאו פוסטים תואמים" msgid "No mentions yet" msgstr "אין אזכורים עדיין" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "לא נמצא מיקרופון" @@ -23731,7 +23731,7 @@ msgstr "אין בקשות ממתינות התואמות לחיפוש זה" msgid "No permissions found" msgstr "לא נמצאו הרשאות" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "אין עדיין מילים אישיות." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "לא מורשה" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "לא הוקצה" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "בלחיצה" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "במכשיר אחר, היכנס ל- {signInAddress} והזן את הקוד הזה כשתידרש." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "פתח את {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "פתח את {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "פתח מחליף חשבונות" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "פתח הגדרות מדיה מתקדמות" @@ -24788,7 +24788,7 @@ msgstr "פתיחת אפשרויות באנר" msgid "Open bookmarks" msgstr "פתיחת סימניות" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "פתח דפדפן" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "פתח בורר תאריכים" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "פתח הורדות למחשב" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "פתח הגדרות" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "פתח את מרכז התוכנה" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "פתח/י את הגדרות המערכת" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "פתח את הגדרות המערכת → פרטיות ואבטחה → הקלטת מסך, ואז אפשר ל-{productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "פתיחת ה-JSON של התבנית" @@ -25089,7 +25089,7 @@ msgstr "פתיחת ה-JSON של התבנית" msgid "Open the context menu" msgstr "פתח את תפריט ההקשר" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "יש לפתוח את הקישור למטה בדפדפן, להעתיק את כל תגובת ה-JSON ולהדביק אותה בתיבה." @@ -25167,11 +25167,11 @@ msgstr "פתיחת הגדרות שמע ווידאו" msgid "Open with {accountName} on {instanceName}" msgstr "פתח עם {accountName} ב-{instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "פתח את הדפדפן שלך, היכנס, ואז הזן את הקוד למטה כדי לקשר את חשבונך." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "פתח את אפליקציית {PRODUCT_NAME} הישנה שלך ובחר \"קשר מכשיר חדש\", ואז הזן את הקוד שלמטה." @@ -25199,7 +25199,7 @@ msgstr "פותח את דף החברים. לחץ על מקש רווח או Enter #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "מערכת הפעלה" @@ -25629,7 +25629,7 @@ msgstr "7 הימים האחרונים" msgid "Paste" msgstr "הדבק" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "הדבק כתובת URL של תבנית {theOtherPlatform} כדי לייבא את המבנה שלה לקהילה חדשה." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "הרשאות עבור {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "מילון אישי" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "בחר לפחות תג אחד לפוסט הזה." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "יש לבחור מילון אחד או יותר. מילים מכל מילון שנבחר יתקבלו, מה ששימושי בצ'אטים רב-לשוניים." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "המחירים עדיין נטענים." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "רכישות אינן זמינות" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "מקש 'דיבור בלחיצה'" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "דיבור בלחיצה" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "דיבור בלחיצה (מוגבל)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "לדיבור בלחיצה עדיין אין מקש כלל-מערכתי. כדי להגדיר מקש, עבור אל הגדרות > יישומים > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "לדיבור בלחיצה עדיין אין מקש כלל-מערכתי. כדי להגדיר מקש, עבור אל הגדרות מערכת > מקלדת > קיצורי דרך > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "לדיבור בלחיצה עדיין אין מקש כלל-מערכתי. כדי להגדיר מקש, פתח את הגדרות קיצורי המקלדת של שולחן העבודה שלך." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "דיבור בלחיצה אינו פעיל בקלט ישיר. עבור לקול ממוקד או למצב מותאם אישית כדי להשתמש בו." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "הדיבור בלחיצה מופעל. החזק את מקש הדיבור בלחיצה כדי לדבר." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "דיבור בלחיצה פועל רק כאשר {productName} ממוקד, כי שולחן העבודה שלך לא הגדיר קיצורי דרך כלל-מערכתיים." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "דיבורית פועלת רק כאשר {productName} ממוקד עד ש- {permissionName} יופעל." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "עד שתגדיר קיצורי דרך כלל-מערכתיים, דיבור בלחיצה פועל רק כאשר {productName} ממוקד." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "דיבור בלחיצה עובד רק כשהכרטיסייה בדפדפן ממוקדת." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "דיבור בלחיצה ישתמש במקש שהגדרת ב-{productName}. הגדר מקש קודם, אחרת המיקרופון שלך יפעל לפי פעילות קולית." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "דיבור בלחיצה לא יבטל את השתקת המיקרופון כל עוד השמע שלך מושתק. בטל את השתקת השמע כדי לדבר." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "דיבור בלחיצה פועל מחוץ ל-{productName} רק אחרי שתקצה לו מקש בקובץ התצורה של Hyprland." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "דיבור בלחיצה פועל מחוץ ל-{productName} רק אחרי שתקצה לו מקש בקובץ התצורה של Hyprland. הוסף את השורה עבור גרסת Hyprland שלך והחלף את KEY במקש הרצוי." @@ -27533,12 +27533,12 @@ msgstr "הנמענים יועברו אל {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "מומלץ" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "מומלץ. מנקה את המיקרופון שלך לדיבור ברור." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "ההתחברות מחדש הצליחה. בחר מסך שוב אם ברצונך להמשיך את השידור הקודם." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "מתחבר מחדש לשולחן העבודה שלך…" @@ -27836,7 +27836,7 @@ msgstr "הפעל מחדש כדי להחיל" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "השהיית שחרור" @@ -27853,7 +27853,7 @@ msgstr "רלוונטי" msgid "Reload" msgstr "טעינה מחדש" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "יש לטעון מחדש את {PRODUCT_NAME} כדי להחיל את שינוי המנוע במלואו. מעבר בין בדיקת איות בתוך האפליקציה לבדיקת איות של המערכת דורש טעינה מחדש של תהליך הרינדור, מכיוון ש-Electron אינו יכול להחליף ספקים תוך כדי פעולה." @@ -27872,7 +27872,7 @@ msgstr "טען מחדש את {productName} כדי להשתמש בעדכון הא msgid "Reload app" msgstr "טען את האפליקציה מחדש" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "טען מחדש עכשיו" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "הסר" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "הסר את \"{word}\" מהמילון" @@ -28086,8 +28086,8 @@ msgstr "הסרה מקובצי GIF מועדפים לפי כתובת URL בלבד" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "הסר אייקון" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "שורות לעמוד" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "חבילת RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "בטיחות" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "אותה שעה כמוך" @@ -29770,7 +29770,7 @@ msgstr "הקלטת מסך" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "נדרשת הרשאת הקלטת מסך" @@ -29858,7 +29858,7 @@ msgstr "פרטיות שיתוף מסך" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "איכות שיתוף מסך" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "חיפוש קוד שפה…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "חיפוש שפות…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "בחר GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "בחירת שפת הממשק" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "בחר את החשבון שברצונך להתחבר איתו במכשיר החדש שלך." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "בחר מצב עיבוד קולי" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "שולח אודיו גולמי מהמיקרופון ללא עיבוד." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "שולח את האודיו שלך ללא שינוי. מומלץ אם אתה משתמש בתוכנת אודיו חיצונית." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "הגדרת מיקום לתפקיד ברשימת החברים" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "מוגדר על ידי קביעת התצורה של {preset}. בחירת ערך כאן תעבור ל'מותאם אישית'." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "הגדרת אזור הקול לאוטומטי" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "הגדרה" @@ -31307,7 +31307,7 @@ msgstr "שתף עם חבר" msgid "Share your screen" msgstr "שתף את המסך שלך" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "שתף את המסך שלך באיכות HD (1080p), ב-Quad HD (1440p) או ברזולוציית מקור טבעית, עד 60 פריימים לשנייה." @@ -31399,7 +31399,7 @@ msgstr "קודי קיצור" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "קיצור דרך" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "תגי קיצור דרך" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "הצגת כפתור מועדפים" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "הצג מועדפים בכל האפליקציה" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "התחבר דרך הדפדפן שלך" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "התחבר עם אפליקציית {productName} הישנה שלך" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "להתנתק?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "הכניסה בוטלה" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "פרטי כניסה" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "תהליך ההתחברות" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "נכנסים כ- {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "נכנסים ממכשיר אחר?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "משהו השתבש במהלך התחלת התשלום. יש לנסות שוב בעוד רגע." @@ -32812,7 +32812,7 @@ msgstr "צלילים" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "מהירות" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "בדיקת איות" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "מנוע בדיקת איות" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "אנימציית כוכב" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "ערוצים שמסומנים בכוכב" @@ -33140,7 +33140,7 @@ msgstr "להתחיל שיחת קול?" msgid "Start call" msgstr "התחלת שיחה" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "התחל בדיקת מצלמה והגדר אפקטים" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "התחל ממוזער" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "הפעלה" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "נקו סטטי" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "עדיין מתבצע אינדוקס — יש לבדוק שוב בעוד רגע" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "נקו במקום" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "ממתינים לגישת הקלטת מסך" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "עצור בדיקת מיקרופון" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "מנע מנקו לרדוף אחרי הסמן שלך, תוך שמירה על יכולת הגרירה והאינטראקטיביות שלו." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "המנוי כבר קיים" @@ -33957,7 +33957,7 @@ msgstr "החלף לפריסה נוחה" msgid "Switch to dense layout" msgstr "החלף לפריסה דחוסה" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "החלף לקלט ישיר" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "לא ניתן לקיים שיחות קוליות בצ'אט מערכת." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "תבנית השעה של המערכת: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "מגש המערכת" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "התקנה מנוהלת על ידי המערכת" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "קיצורי דרך כלל-מערכתיים" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "לא ניתן היה להגדיר קיצורי דרך כלל-מערכתיים." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "הקש כדי להוסיף הערה" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "ארכיון tar.gz" @@ -34360,7 +34360,7 @@ msgstr "תגית שורת המשימות" msgid "Teleporting you to another voice region..." msgstr "מעביר אותך לאזור קולי אחר..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "תבנית" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "האפליקציה {PRODUCT_NAME} במכשיר אחר שלך מציגה זאת תחת \"נכנסים ממכשיר אחר\". הזן קוד רק ממכשיר שאתה שולט בו." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "האפליקציה {PRODUCT_NAME} לא נכנסה לחשבון. אפשר לסגור את הלשונית הזו." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "ייתכן שהקהילה שחיפשת נמחקה או שאין לך גישה אליה." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "לא ניתן היה להוריד את עדכון שולחן העבודה. נסה שוב באמצעות כפתור העדכון כשהחיבור שלך יציב." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "הקובץ שהורד נשמר במחשב שלך. התקן אותו באמצעות מנהל החבילות הרגיל שלך." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "קטגוריה זו כבר מכילה את המספר המרבי של {maxChannelsPerCategory} ערוצים." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "קטגוריה זו מסומנת כבעלת תוכן למבוגרים ועשויה להכיל חומר שאינו הולם עבור חלק מהמשתמשים." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "הערוץ הזה מכיל אזהרת תוכן. עדכונים יכולים להישלח רק לערוצים עם אזהרת תוכן או הגבלת גיל." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "הערוץ הזה מסומן כבעל תוכן למבוגרים ועשוי להכיל חומר שאינו הולם עבור חלק מהמשתמשים." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "הקהילה הזו מלאה" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "הקהילה הזו מסומנת כבעלת תוכן למבוגרים ועשויה להכיל חומר שאינו הולם עבור משתמשים מסוימים." @@ -35324,14 +35324,14 @@ msgstr "הקהילה הזו אינה זמינה עוד" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "החיבור אומת." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "החיבור הזה לא אומת." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "שיחה זו אינה זמינה עוד." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "גרסת שולחן העבודה הזו לא יכולה להתקין עדכונים בתוך {productName}. במקום זאת, הורד את הגרסה האחרונה של תוכנת ההתקנה לשולחן העבודה." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "שולחן עבודה זה אינו תומך בקיצורי דרך כלל-מערכתיים. דיבור בלחיצה פועל רק כאשר {productName} ממוקד." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "שולחן עבודה זה אינו תומך בקיצורי דרך כלל-מערכתיים. קיצורי הדרך עדיין פועלים כאשר {productName} ממוקד." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "גרסת פיתוח זו אינה יכולה לעדכן את עצמה. הורד תוכנת התקנה למחשב כדי לבדוק את תהליך העדכון." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "לא ניתן היה לקרוא את התמונה. ייתכן שהיא פגומה." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "ההתקנה הזו מנוהלת על ידי המערכת שלך. עדכן את {productName} דרך מרכז התוכנה או מנהל החבילות שלך." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "האינסטנס הזה כבר משתמש בשמות משתמש לכניסה. לא ניתן לשנות זאת יותר." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "המופע הזה מאפשר כרגע שיתוף מסך עד 720p ב-30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "הקישור הזה אינו חוקי. נסה לפתוח שוב את הקישור מהמייל שלך." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "קטגוריה זו למבוגרים אינה זמינה לחשבונך." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "קטגוריה זו למבוגרים אינה זמינה לחשבונך. <0>מידע נוסף" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "ערוץ זה למבוגרים אינו זמין לחשבונך." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "ערוץ זה למבוגרים אינו זמין לחשבונך. <0>מידע נוסף" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "קהילה זו למבוגרים אינה זמינה לחשבונך." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "קהילה זו למבוגרים אינה זמינה לחשבונך. <0>מידע נוסף" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "מדיה זו למבוגרים אינה זמינה לחשבונך." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "מדיה זו למבוגרים אינה זמינה לחשבונך. <0>מידע נוסף" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "התוכנית הזו אינה זמינה. יש ליצור קשר עם התמיכה." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "התוכנית הזו אינה זמינה. יש ליצור קשר עם מנהלי המערכת של המופע הזה." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "רכישה זו אינה זכאית להחזר כספי." @@ -35837,7 +35853,7 @@ msgstr "השרשור הזה נעול. רק מנהלים יכולים לשלוח msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "משתמש זה הגביל את הפרופיל שלו. פרטים מסוימים מוסתרים מאנשים שאינם חבריו." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "למשתמש זה אין תפקידים בקהילה זו." @@ -36050,14 +36066,14 @@ msgstr "שעה" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "פורמט שעה" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "בחירת פורמט שעה" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "פלטפורמת שורת הכותרת" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "כדי לשנות את המקשים, עבור אל הגדרות > יישומים > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "כדי לשנות את המקשים, עבור אל הגדרות מערכת > מקלדת > קיצורי דרך > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "כדי לשנות את המקשים, פתח את הגדרות קיצורי המקלדת של שולחן העבודה שלך." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "סרגל כלים" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "קיצורי מקלדת בתיאורי כלים" @@ -36864,7 +36880,7 @@ msgstr "24 שעות" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "שתי לחיצות" @@ -37263,7 +37279,7 @@ msgstr "חלופה אוניברסלית. האיכות הנמוכה ביותר, #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "לא ידוע" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "קבל גישה לאימוג'ים מותאמים אישית בהודעות פרטיות עם {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "קבל גישה לשיתוף מסך באיכות HD עם {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "עד 720p ב-30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "עדכן את {productName} כדי להשתמש בקיצורי דרך כלל-מערכתיים ב-Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "עדכן את הסטטוס שלי" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "עדכן עכשיו" @@ -38008,8 +38024,8 @@ msgstr "העלה קבצים ומדיה בערוץ זה." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "העלאת אייקון" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "השתמש ב-{name} ב-{domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "שימוש ב-{pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "שימוש ב-{upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "שימוש בשיטה חלופית" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "שימוש בגלילה אוטומטית" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "שימוש בכרטיס" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "השתמש בברירת מחדל" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "השתמש בגישה ישירה להתקן הקלט" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "השתמש במדבקות מקהילות אחרות." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "השתמש בהגדרות המערכת עבור פורמט השעה" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "השתמש במסגרת החלון של מערכת ההפעלה" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "השתמש בבודק האיות המובנה של מערכת ההפעלה." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "שימוש בפעילות קולית" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "השתמש בבודק האיות של מערכת ההפעלה שלך כשזמין. אחרת, השתמש במילונים המובנים של {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "יש לאמת את כתובת האימייל שלך קודם" @@ -39244,7 +39260,7 @@ msgstr "הצגת פרטים" msgid "View devices that are signed in to your account" msgstr "הצגת המכשירים המחוברים לחשבונך" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "הצגת פרופיל מלא" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary כבר כולל גישה קבועה, ולכן אין צורך במנוי מתחדש. עדיין אפשר לקנות מתנות לאחרים." @@ -39535,7 +39551,7 @@ msgstr "ערוץ קולי" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "אישור ערוץ קולי" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "הערוץ הקולי מלא" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "התנהגות הצטרפות לערוץ קולי" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "משתתפים בשיחה הקולית" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "עיבוד קולי" @@ -39661,7 +39677,7 @@ msgstr "ביטול השתקת שמע" msgid "Voice unmute" msgstr "ביטול השתקת מיקרופון" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "הקול משתמש בהתקן הפלט של המערכת שלך בדפדפן זה. שנה אותו בהגדרות המערכת שלך." @@ -39675,7 +39691,7 @@ msgstr "בוטל" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "המתנה בין הודעות. חברים עם ההרשאה \"{bypassSl msgid "Waiting for connection..." msgstr "ממתין לחיבור..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "ממתין למפתח גישה…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "מחכה לך כדי..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "ממתין לשולחן העבודה שלך…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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} עבור חשבון זה. נהל אותו בפורטל החיובים המאובטח כדי לעדכן פרטי תשלום או לבדוק סטטוס חידוש. אם שילמת זה עתה, המתן דקה ופתח מחדש דף זה." @@ -39914,7 +39930,7 @@ msgstr "שינינו את גודל המדבקה ודחסנו אותה ל-320x320 msgid "We sent a code to {email}." msgstr "שלחנו קוד לכתובת {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "נמלא מראש את {prefillEmail} לאחר שההתחברות בדפדפן תיפתח." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "תצוגות מקדימות של אתרים" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "ברוך שובך" @@ -40321,7 +40337,7 @@ msgstr "אילו קהילות" msgid "Which conversations" msgstr "אילו שיחות" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "כאשר דיבור בלחיצה מופעל, קיצור הדרך שולט במיקרופון שלך, ולכן כפתור ההשתקה מושבת." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "אתה עובר כעת אל {paymentProviderName} כדי להשלים את התשלום. חזור אל {productName} לאחר שתסיים." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "לחצת על Tab. מצב מקלדת מופעל כעת, כך שתוכל לנווט ב-{productName} ללא עכבר." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "ההטבות שלך יישמרו עד לתאריך החידוש הבא שלך. יש להפעיל מחדש את המנוי לפני כן כדי לשמור את היסטוריית המנוי שלך." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "תאבד את כל ההטבות של {PREMIUM_PRODUCT_NAME} באופן מיידי והיסטוריית המנוי שלך תתאפס. לא ניתן לבטל פעולה זו." @@ -41137,8 +41153,8 @@ msgstr "דרושה לך ההרשאה \"{permissionLabel}\" כדי להשתמש msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "דרושה לך ההרשאה \"{permissionLabel}\" כדי להשתמש במדבקות מקהילות אחרות כאן." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "עליך לתבוע את החשבון שלך לפני שתוכל ליצור קהילה." @@ -41155,8 +41171,8 @@ msgstr "עליך לתבוע את החשבון שלך כדי לשלוח הודע msgid "You need to claim your account to send messages in this community." msgstr "עליך לתבוע את החשבון שלך כדי לשלוח הודעות בקהילה זו." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "יש לאמת את כתובת האימייל שלך לפני שתוכל ליצור קהילה." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "יש לאמת את כתובת האימייל שלך לפני שתוכל לרכוש את {premiumProductFullName}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "תופיע במצב לא מקוון" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "החיוב יתבצע כעת. יתרת זמן המתנה שלך תתווסף לאחר תקופת התשלום, כך שלא תאבד דבר." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "אתה כבר Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "אתה שולח דיווחים מהר מדי. נסה שוב מאוחר יותר." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "נכנסת בהצלחה" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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} שלך כדי לשנות תוכנית או לבדוק סטטוס חידוש." @@ -41559,10 +41575,14 @@ msgstr "החשבון שלך חדש מדי כדי לשלוח הודעות בקה msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "בקשת החשבון שלך ממתינה לאישור. אפשר להתחבר לאחר שמנהל יאשר אותה." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "החשבון שלך דורש אימות רב-שלבי, אך לא הוגדרו שיטות נתמכות במכשיר זה. היכנס באמצעות מכשיר עם אפליקציית האימות או מפתח האבטחה שלך, או פנה לתמיכה." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "החשבון שלך דורש אימות רב-שלבי, אך לא הוגדרו שיטות נתמכות במכשיר זה. היכנס באמצעות מכשיר עם אפליקציית האימות או מפתח האבטחה שלך, או פנה למנהלי המערכת של המופע הזה." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "החשבונות וההגדרות שלך לא השתנו או נמחקו." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "הפעולה שלך לא הושלמה כי היא סומנה על ידי מערכות הבטיחות שלנו. אם לדעתך מדובר בטעות, אנא פנה לתמיכה." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "הפעולה שלך לא הושלמה כי היא סומנה על ידי מערכות הבטיחות שלנו. אם לדעתך מדובר בטעות, אנא פנה למנהלי המערכת של המופע הזה." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "הערכה הנוכחית שלך תפסיק לעבוד ברגע שהחדשה תיצור." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "שולחן העבודה שלך לא הגדיר קיצורי דרך כלל-מערכתיים." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "שולחן העבודה שלך שומר את המקשים האלה עבור {productName}, ולכן אפליקציות אחרות לא יכולות להשתמש בהם." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "שולחן העבודה שלך שומר את המקשים האלה עבור {productName}, ולכן אפליקציות אחרות לא יכולות להשתמש בהם. כדי להשתמש באותו מקש באפליקציות אחרות, הפעל למטה את הגישה הישירה להתקן הקלט." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "שולחן העבודה שלך מפעיל את הקיצורים האלה גם כש-{productName} אינו ממוקד." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "זמן המתנה שלך הסתיים. הירשם כדי להמשיך לקבל את {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "זמן המתנה שלך נשמר" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "תקופת החסד שלך הסתיימה." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "ההתקנה שלך פגומה, ועליך להתקין מחדש את האפליקציה כדי שכל הפונקציונליות תעבוד." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "הרכישה האחרונה שלך מחוץ לחלון ההחזר הכספי. צור קשר עם התמיכה בנוגע לבעיות חיוב." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "ההודעה שלך לא נמסרה כי היא סומנה על ידי מערכות הבטיחות שלנו. אם לדעתך זו טעות, אנא פנה לתמיכה." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "ההודעה שלך לא נמסרה כי היא סומנה על ידי מערכות הבטיחות שלנו. אם לדעתך זו טעות, אנא פנה למנהלי המערכת של המופע הזה." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "ההודעה שלך לא נמסרה. בדרך כלל זה קורה כי אינך חבר בקהילה משותפת עם הנמען, או שהנמען מקבל הודעות פרטיות רק מחברים. ייתכן שיהיה עליך גם להתאים את הגדרות הפרטיות שלך להודעות פרטיות ב{directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "ההודעה שלך לא נשלחה. עליך לתבוע את החשבון שלך כדי לשלוח הודעות פרטיות." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "ההודעה שלך לא נשלחה. עליך לתבוע את החשבון שלך כדי לשלוח הודעות." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "הדיווח שלך לא נשלח. נסה שוב." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "האיכות ששמרת של {savedResolution} ב- {savedFrameRate} FPS דורשת {premiumProductName}, לכן השיתופים משתמשים ב- {resolution} ב- {frameRate} FPS." diff --git a/fluxer_app/src/features/i18n/locales/hi/messages.po b/fluxer_app/src/features/i18n/locales/hi/messages.po index 7d7faaa8f..23e32229a 100644 --- a/fluxer_app/src/features/i18n/locales/hi/messages.po +++ b/fluxer_app/src/features/i18n/locales/hi/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} फ़्लक्सर का एक नया संस्करण चलाता है जो इस ऐप से पुराना है। फ़्लक्सर को अपडेट करें, फिर पुनः प्रयास करें।" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "आपसे {duration} आगे" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "आपसे {duration} पीछे" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} एफपीएस" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# घंटा पहले} other {# घंटे #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# घंटा} other {# घंटे}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# घंटा} other {# घंटे}} {minutes, plural, one {# मिनट} other {# मिनट}}" @@ -1602,7 +1602,7 @@ msgstr "{label} फ़ाइल बहुत बड़ी है। {maxSizeLabe msgid "{label} images cannot be animated. Use a static image." msgstr "{label} इमेज को एनिमेट नहीं किया जा सकता। स्थिर इमेज का इस्तेमाल करें।" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "{languageName} का झंडा" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# मिनट पहले} other {# मिन #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# मिनट} other {# मिनट}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} को <0>{deviceName} नाम का एक नय msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "क्रोमियम की नेटिव स्क्रॉलिंग सेटिंग्स से स्क्रॉलिंग का तरीका बदलने के लिए {PRODUCT_NAME} को रीस्टार्ट करना होगा।" -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "हार्डवेयर एक्सीलरेशन लागू होने के लिए {PRODUCT_NAME} को रीस्टार्ट करना होगा।" -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "टाइटल बार का बदलाव लागू होने के लिए {PRODUCT_NAME} को रीस्टार्ट करना होगा।" -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "क्रोमियम का हार्डवेयर एक्सीलरेशन बंद करने के लिए {PRODUCT_NAME} को रीस्टार्ट करना होगा। इसे तभी इस्तेमाल करें जब आप ग्राफ़िक्स की गड़बड़ियों या ज़्यादा GPU इस्तेमाल की समस्या सुलझा रहे हों।" @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "{productName} बग हंटर" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} आपके डेस्कटॉप से कह सकता है कि {productName} के फ़ोकस में न होने पर भी उसके शॉर्टकट चलाए। आपका डेस्कटॉप आपसे पुष्टि करने को कहेगा और आपको कुंजियाँ चुनने देगा।" #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} अब आपका कीबोर्ड नहीं पढ़ सकता है, इसलिए यह इसके बजाय X11 के माध्यम से शॉर्टकट सुनता है।" #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} अब आपका कीबोर्ड नहीं पढ़ सकता है, इसलिए इसके बजाय आपके डेस्कटॉप के शॉर्टकट का उपयोग किया जा रहा है।" #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} अब आपका कीबोर्ड नहीं पढ़ सकता है। शॉर्टकट केवल तभी काम करते हैं जब {productName} फ़ोकस में हो।" #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} अपने शॉर्टकट Hyprland के साथ रजिस्टर कर सकता है, ताकि वे {productName} के फ़ोकस में न होने पर भी चलें। फिर आप अपने Hyprland कॉन्फ़िगरेशन में कुंजियाँ बाइंड करते हैं।" @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} इसके लिए हार्डवेयर एन्कोडर का इस्तेमाल नहीं कर सकता, इसलिए वह आपके CPU का इस्तेमाल करेगा।" #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} बंद हो जाएगा, अपडेट इंस्टॉल करेगा और फिर से खुल जाएगा।" #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} अपडेट सेवा तक नहीं पहुँच सका। अपना कनेक्शन जाँचें और फिर से कोशिश करें।" @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} {host} पर चला गया है। नया ऐप इंस्टॉल करने के लिए इसे अपने ब्राउज़र में खोलें।" #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "{productName} पर सदस्य बने" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} को आपके माइक्रोफ़ोन का एक्सेस चाहिए। अपने ऑपरेटिंग सिस्टम की गोपनीयता सेटिंग्स में माइक्रोफ़ोन का एक्सेस दें और ऐप को रीस्टार्ट करें।" #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} को आपके डिवाइस दिखाने के लिए कैमरे का एक्सेस चाहिए।" #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} को आपके डिवाइस दिखाने के लिए माइक्रोफ़ोन का एक्सेस चाहिए।" @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "{productName} रिकवरी किट" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} ने अपने शॉर्टकट Hyprland के साथ रजिस्टर कर दिए हैं। {productName} के फ़ोकस में न होने पर इनका उपयोग करने के लिए इन्हें अपने Hyprland कॉन्फ़िगरेशन में बाइंड करें।" @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 महीने (1 साल)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12 घंटे" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 घंटे" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24 घंटे" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "एक होस्टनेम, जैसे {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "लिनक्स डेस्कटॉप के लिए एक अपडेट उपलब्ध है। इस सिस्टम के लिए पैकेज फ़ॉर्मैट चुनें और {productName} उसे आपके डिवाइस पर सेव कर लेगा।" @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "एक मिनट" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "डेस्कटॉप का एक नया संस्करण उपलब्ध है। इंस्टॉलर डाउनलोड करें, फिर {productName} को अपडेट करने के लिए इसे चलाएं।" @@ -2817,7 +2817,7 @@ msgstr "{appName} के बारे में" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "मेरे बारे में" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "गतिविधि शेयरिंग" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "गतिविधि थ्रेशोल्ड" @@ -3155,7 +3155,7 @@ msgstr "वास्तविक आकार" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "जोड़ें" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "पहले अपने खाते में एक यूज़रनेम और पासवर्ड जोड़ें।" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "कोई शब्द जोड़ें…" @@ -3244,7 +3244,7 @@ msgstr "YouTube लिंक को बेहतर बनाने के ल #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "अकाउंट जोड़ें" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "पता" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "हर सेटिंग खुद एडजस्ट करें: शोर दबाना, इको कैंसलेशन और गेन।" @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "एडवांस" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "एडवांस वीडियो सेटिंग्स" @@ -3906,22 +3906,22 @@ msgstr "अनुमति दें" msgid "Allow {everyoneMention} and {hereMention}" msgstr "{everyoneMention} और {hereMention} की अनुमति दें" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "{PRODUCT_NAME} को System Settings → Privacy & Security → Camera में अपना कैमरा एक्सेस करने की अनुमति दें।" -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "{PRODUCT_NAME} को सिस्टम सेटिंग्स → गोपनीयता और सुरक्षा → माइक्रोफ़ोन में अपने माइक्रोफ़ोन तक पहुँचने की अनुमति दें।" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "{PRODUCT_NAME} को अपने माइक्रोफ़ोन का इस्तेमाल करने की अनुमति दें। अपने ब्राउज़र के एड्रेस बार या सेटिंग्स में जाँच करें।" #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "सिस्टम सेटिंग्स में स्क्रीन रिकॉर्डिंग के तहत {productName} को अनुमति दें। यदि यह पहले से ही अनुमत है, तो {productName2} को पुनः लॉन्च करें ताकि macOS इसे लागू कर सके।" @@ -3961,7 +3961,7 @@ msgstr "बॉट से डायरेक्ट मैसेज की अन msgid "Allow bots to send you direct messages?" msgstr "क्या बॉट आपको डायरेक्ट मैसेज भेज सकते हैं?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "कैमरे की अनुमति दें" @@ -4029,7 +4029,7 @@ msgstr "जिन सदस्यों के पास {readMessageHistoryPerm msgid "Allow mentions for this role" msgstr "इस रोल के लिए मेंशन की अनुमति दें" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "माइक्रोफ़ोन का एक्सेस दें" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "लिंक को हमेशा रेखांकित करें" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "{productName} की Hunspell डिक्शनरी का हमेशा इस्तेमाल करें, जो ज़रूरत पड़ने पर डाउनलोड हो जाती हैं।" @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "ऐप आइकॉन बैज" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "ऐप की भाषा के अनुसार समय प्रारूप: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "मंज़ूरी ज़रूरी" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "जिस {productName} ऐप का आप पहले से इस्तेमाल करते हैं, उससे इस ऐप को मंज़ूरी दें। पासवर्ड की ज़रूरत नहीं है।" @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "{authorizedOn} को अधिकृत किया गया" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "ऑटो" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "भाषा अपने आप पहचानें" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "गतिविधि थ्रेशोल्ड अपने आप सेट करें" @@ -5534,7 +5534,7 @@ msgstr "AV1 (ऑप्ट-इन आवश्यक)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "उपलब्ध" @@ -5608,11 +5608,11 @@ msgstr "अभी दूर हूँ" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "सबसे अच्छा कंप्रेशन। इसका इस्तेमाल तभी करें जब WebRTC एक एनकोडर दिखाए और GPU रिपोर्ट में हार्डवेयर-समर्थित बताया गया हो।" #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "डेस्कटॉप ऐप के साथ सबसे अच्छा काम करता है" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "ब्राउज़र: होम पेज" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "ब्राउज़र का समय प्रारूप: {format}" @@ -6545,8 +6545,8 @@ msgstr "दोस्तों के साथ शेयर करने के msgid "Buy gift" msgstr "उपहार खरीदें" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "एक कम्युनिटी बनाकर, आप <0>{PRODUCT_NAME} कम्युनिटी दिशानिर्देशों का पालन करने और उन्हें बनाए रखने के लिए सहमत हैं।" @@ -6658,7 +6658,7 @@ msgstr "कॉल" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "कैमरा प्रीव्यू" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "कैमरा क्वालिटी" @@ -6809,8 +6809,8 @@ msgstr "यहां फ़ाइलें अपलोड नहीं की #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "निर्धारित स्विच रद्द करें" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "सदस्यता रद्द करें" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "सदस्यता रद्द करें?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "श्रेणी" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "श्रेणी सामग्री चेतावनी" @@ -7131,15 +7131,15 @@ msgstr "ग्रुप का उपनाम बदलें" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "आइकॉन बदलें" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "सिस्टम सेटिंग में बदलें" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "चैनल बैज" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "चैनल सामग्री चेतावनी" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "चैट शॉर्टकट" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "फिर से जाँचें" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "एक्सेस जाँचा जा रहा है..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "स्क्रीन रिकॉर्डिंग अनुमति की जाँच की जा रही है..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "चेकआउट अनुपलब्ध है" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "चुनें कि आप इस सदस्यता के लिए कैसे भुगतान करना चाहेंगे।" @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "भुगतान का तरीका चुनें" @@ -8174,7 +8174,7 @@ msgstr "अपनी डिफ़ॉल्ट चुनें" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "अपना इंस्टेंस चुनें" @@ -8216,8 +8216,8 @@ msgstr "उपहार क्लेम करें" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "अपना अकाउंट क्लेम करें" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "कम्युनिटी बैज" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "कम्युनिटी सामग्री चेतावनी" @@ -9089,8 +9089,8 @@ msgstr "कम्युनिटी DM" msgid "Community filter" msgstr "कम्युनिटी फ़िल्टर" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "कम्युनिटी आइकॉन" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "कम्युनिटी अपडेट की गई" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "कम्युनिटी वॉइस" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "भुगतान पूरा करें" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "वयस्क मीडिया अनलॉक करने के लिए वयस्क सामग्री की जाँच पूरी करें।" @@ -9409,7 +9409,7 @@ msgstr "पुष्टि करें" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "वॉइस चैनल में शामिल होने से पहले पुष्टि करें" @@ -9457,7 +9457,7 @@ msgstr "रिपोर्ट भेजने के लिए कथन की #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "वॉइस जॉइन की पुष्टि करें" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "पुष्टि" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "कम्युनिटी वॉइस जॉइन के लिए पुष्टि या डबल-क्लिक" @@ -9476,7 +9476,7 @@ msgstr "कम्युनिटी वॉइस जॉइन के लिए msgid "Conflicts with {conflictLabel}" msgstr "{conflictLabel} से टकराता है" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "कैमरा कनेक्ट करें और फिर से प्रयास करें।" @@ -9489,7 +9489,7 @@ msgstr "कैमरा या वर्चुअल कैप्चर डि msgid "Connect a display, then try again." msgstr "एक डिस्प्ले कनेक्ट करें, फिर दोबारा प्रयास करें।" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "माइक्रोफ़ोन कनेक्ट करें और फिर से प्रयास करें।" @@ -9633,7 +9633,7 @@ msgstr "कनेक्शन: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "संपर्क" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "कंटेंट ब्लॉक किया गया" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "अपने ब्राउज़र में जारी रखें" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "चेकआउट जारी रखें" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "पासकी के साथ जारी रखें" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "इनवाइट यूआरएल कॉपी करें" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "लाइनें कॉपी करें" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "hyprland.conf के लिए लाइनें कॉपी करें" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "hyprland.lua के लिए लाइनें कॉपी करें" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "आपकी कीमत नहीं बदली जा सकी" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "अपडेट की जाँच नहीं की जा सकी" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "आपके मैसेज मिटाए नहीं जा सके" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "डेस्कटॉप अपडेट डाउनलोड नहीं किया जा सका" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "चेकआउट शुरू नहीं किया जा सका" @@ -10932,7 +10932,7 @@ msgstr "बनाएँ और शेयर करें" msgid "Create a community" msgstr "कम्युनिटी बनाएँ" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "अपने और दोस्तों के चैट करने के लिए एक कम्युनिटी बनाएँ।" @@ -11365,7 +11365,7 @@ msgstr "कस्टम" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "मॉडरेटर ने डीफ़ेन किया" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB पैकेज" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "डेस्कटॉप ऐप" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "डेस्कटॉप ऐप अप-टू-डेट है" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "डेस्कटॉप अपडेट {version} उपलब्ध है। एक लिनक्स पैकेज चुनें।" #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "डेस्कटॉप अपडेट उपलब्ध है" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "डेस्कटॉप अपडेट उपलब्ध है। एक लिनक्स पैकेज चुनें।" #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "डेस्कटॉप संस्करण {version} उपलब्ध है। इंस्टॉलर डाउनलोड करें, फिर इसे चलाकर {productName} को अपडेट करें।" @@ -12613,7 +12613,7 @@ msgstr "विवरण: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "टाइप करते समय पता लगाएं" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "डेवलपर टूल उपलब्ध नहीं हैं" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "डेवलपमेंट बिल्ड" @@ -13455,8 +13455,8 @@ msgstr "डाउनलोड करें" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "{productName} डाउनलोड करें" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification डाउनलोड करें और इसे अपने <1>.well-known फ़ोल्डर में रखें।" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "ऐप डाउनलोड करें" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "साइडबार में ऐप डाउनलोड करें बटन" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "डाउनलोड बटन" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "डेस्कटॉप ऐप डाउनलोड करें" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "इमेज डाउनलोड करें" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "इंस्टॉलर डाउनलोड करें" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "मीडिया डाउनलोड करें" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "पैकेज डाउनलोड करें" @@ -13655,11 +13655,11 @@ msgstr "आइटम छोड़ें" msgid "Drop to upload background" msgstr "बैकग्राउंड अपलोड करने के लिए यहां छोड़ें" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "{regionName} में वयस्क सामग्री के कानूनों के कारण, वयस्क सामग्री तब तक ब्लॉक रहेगी जब तक आप वयस्क सामग्री जांच पूरी नहीं कर लेते।" -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "{regionName} में वयस्क सामग्री के कानूनों के कारण, वयस्क सामग्री यहां से उपलब्ध नहीं है। वयस्क सामग्री की जांच केवल यूके में उपलब्ध है।" @@ -13673,7 +13673,7 @@ msgstr "{regionName} में वयस्क सामग्री के क msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "{regionName} में वयस्क सामग्री के कानूनों के कारण, यह सामग्री यहां से उपलब्ध नहीं है। वयस्क सामग्री की जांच केवल यूके में उपलब्ध है।" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "{regionName} में वयस्क सामग्री के कानूनों के कारण, यह मीडिया आपके मौजूदा क्षेत्र में उपलब्ध नहीं है।" @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "हर कोड एक बार आपके ऑथेंटिकेटर ऐप की जगह काम करता है।" #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "हर कुंजी केवल एक सिस्टम-व्यापी शॉर्टकट चला सकती है।" @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "चालू करें" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "{permissionName} अनुमति चालू करें" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "शॉर्टकट चालू करें" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "वर्तनी जांच चालू करें" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "ग्रेस पीरियड अभी खत्म करें" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "ग्रेस पीरियड खत्म करें" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "ग्रेस पीरियड अभी खत्म करें?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "जारी रखने के लिए अपनी सुरक्षा कुंजी का पिन डालें।" #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "अपने ब्राउज़र में यह कोड दर्ज करें" @@ -14845,7 +14845,7 @@ msgstr "अपने ब्राउज़र में यह कोड दर msgid "Enter this code in your browser to complete sign-in." msgstr "साइन-इन पूरा करने के लिए अपने ब्राउज़र में यह कोड डालें।" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "अपने साइन-इन को पूरा करने के लिए यह कोड अपने पुराने {PRODUCT_NAME} ऐप में दर्ज करें।" @@ -14916,7 +14916,7 @@ msgstr "पूरे सिस्टम का ऑडियो" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "एंट्रेंस साउंड" @@ -15026,7 +15026,7 @@ msgstr "शाम का समय" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "यह आपके माइक्रोफ़ोन की आवाज़ को बराबर करता है ताकि आपकी आवाज़ बहुत धीमी न लगे।" @@ -15249,7 +15249,7 @@ msgstr "{earliest} और {latest} के बीच समाप्त होग msgid "Expires in {remaining}s" msgstr "{remaining} सेकंड में समाप्त होगा" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "{remainingSeconds}s में समाप्त हो रहा है" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "चैनल को पसंदीदा में जोड़ें" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "पसंदीदा चैनल" @@ -16243,7 +16243,7 @@ msgstr "{threeHours} घंटों के लिए" msgid "For {twentyFourHours} hours" msgstr "{twentyFourHours} घंटों के लिए" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "केवल ब्रिटिश लोगों के लिए..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "मेरे लिए" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "पुश-टू-म्यूट के लिए Ctrl, Alt या Shift के बिना एक ही कुंजी का उपयोग करें। कुंजी संयोजन इस्तेमाल करने पर पहले मुख्य कुंजी छोड़ें, नहीं तो माइक्रोफ़ोन म्यूट रह सकता है।" #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "पुश-टू-टॉक के लिए Ctrl, Alt या Shift के बिना एक ही कुंजी का उपयोग करें। कुंजी संयोजन इस्तेमाल करने पर पहले मुख्य कुंजी छोड़ें, नहीं तो माइक्रोफ़ोन चालू रह सकता है।" #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "इस शॉर्टकट के लिए Ctrl, Alt या Shift के बिना एक ही कुंजी का उपयोग करें। कुंजी संयोजन इस्तेमाल करने पर पहले मुख्य कुंजी छोड़ें, नहीं तो शॉर्टकट सक्रिय रह सकता है।" #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "वॉइस गतिविधि प्राथमिकता के लिए Ctrl, Alt या Shift के बिना एक ही कुंजी का उपयोग करें। कुंजी संयोजन इस्तेमाल करने पर पहले मुख्य कुंजी छोड़ें, नहीं तो प्राथमिकता चालू रह सकती है।" @@ -16460,14 +16460,14 @@ msgstr "फ़्रेम" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "फ़्रेम रेट" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "30 FPS से ज़्यादा फ़्रेम रेट के लिए {premiumProductName} की ज़रूरत होगी" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "जब आपको मैसेज मिलें, तब नोटिफ़िकेशन पाएँ। आपको अपनी ब्राउज़र सेटिंग्स में नोटिफ़िकेशन की अनुमति देनी पड़ सकती है। हर चैनल/हर कम्युनिटी के कंट्रोल के लिए, कम्युनिटी आइकॉन पर राइट-क्लिक करें और नोटिफ़िकेशन सेटिंग्स खोलें।" #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "सिस्टम-वाइड पुश-टू-टॉक और कुछ और मज़ेदार चीज़ों के लिए {productName} डेस्कटॉप ऐप पाएँ।" #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "डेस्कटॉप ऐप पाएँ" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "जारी रखने के लिए {productName} पर वापस जाएँ।" #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "{PRODUCT_NAME} ऐप पर वापस जाएं। यह अपने आप साइन इन हो जाएगा।" #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "{PRODUCT_NAME} ऐप पर वापस जाएं। आप इस टैब को बंद कर सकते हैं।" @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "सहायता" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "सहायता बटन" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "सहायता केंद्र" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "सहायता केंद्र बटन साइडबार में" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "<0>{I18N_WEBLATE_DOMAIN} पर {PRODUCT_NAME} का अपनी भाषा में अनुवाद करने में मदद करें।" @@ -17841,7 +17841,7 @@ msgstr "चैट छिपाएँ" msgid "Hide community owner crown" msgstr "कम्युनिटी मालिक का क्राउन छिपाएं" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "डाउनलोड बटन छिपाएं" @@ -17860,7 +17860,7 @@ msgstr "पसंदीदा छिपाएं" msgid "Hide guidelines" msgstr "दिशानिर्देश छिपाएँ" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "सहायता केंद्र बटन छिपाएं" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "शामिल होने के मैसेज छिपाएं" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "कीबोर्ड संकेत छिपाएँ" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "हाइपरलिंक" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland में कोई शॉर्टकट डायलॉग नहीं है। अपने Hyprland संस्करण वाली लाइनें अपने Hyprland कॉन्फ़िगरेशन में जोड़ें और KEY को अपनी पसंद की कुंजी से बदलें।" #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland में कोई शॉर्टकट डायलॉग नहीं है। अपने Hyprland कॉन्फ़िगरेशन में कुंजियाँ बाइंड करें।" #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (Hyprland 0.55 से पहले)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 और बाद के संस्करण)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "सद्भावना से मेरी यह पुष्टि है कि इस सूचना में दी गई जानकारी और आरोप सटीक और पूर्ण हैं।" #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "मैं समझ गया/गई" @@ -18598,11 +18598,11 @@ msgstr "इंपोर्ट हो रहा है… {processedCount, number msgid "In" msgstr "चैनल" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "\"ऑपरेटिंग सिस्टम\" मोड में, ऊपर दी गई डिक्शनरी सिर्फ़ सलाह के तौर पर हैं। सपोर्ट होने पर {PRODUCT_NAME} ये भाषा टैग आपके OS स्पेलचेकर को भेजेगा। जिन टैग को वह नहीं पहचानता, उन्हें अनदेखा कर दिया जाता है।" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "ब्राउज़र में, पुश-टू-टॉक तभी काम करता है जब {PRODUCT_NAME} टैब फ़ोकस में हो। सिस्टम-वाइड पुश-टू-टॉक के लिए डेस्कटॉप ऐप इंस्टॉल करें।" @@ -18650,7 +18650,7 @@ msgstr "वॉइस चैट में" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "इन-ऐप शब्दकोश" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "इनपुट" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "इनपुट और आउटपुट" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "इमोजी डालें" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "पूरे सोर्स पिकर और ज़्यादा स्मूद स्क्रीन-शेयरिंग कंट्रोल के लिए {productName} इंस्टॉल करें।" @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "नया ऐप इंस्टॉल करें" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "इंस्टॉल किया गया" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "इंस्टॉल किया गया वर्ज़न: {currentVersion}।" @@ -19031,7 +19031,7 @@ msgstr "इंटरफ़ेस" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "इंटरफ़ेस भाषा" @@ -19467,13 +19467,13 @@ msgstr "शामिल हों" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "{communityName} से जुड़ें" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "टीम के साथ चैट करने और अप-टू-डेट रहने के लिए {communityName} से जुड़ें।" @@ -19561,7 +19561,7 @@ msgstr "वीडियो कॉल में शामिल हों" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "वॉइस में शामिल हों" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "मुफ़्त और प्रीमियम टियर रखें। आप टियर को कस्टमाइज़ कर सकते हैं, स्ट्राइप के ज़रिए प्रीमियम बेच सकते हैं, या बाद में एडमिन पैनल से गिफ्ट कोड दे सकते हैं।" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "ग्रेस पीरियड रखें" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "चालू रखें" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "सदस्यता रखें" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "इस पेज को सुरक्षित रखें। यदि आप अपना पासवर्ड भूल जाते हैं, तो आप अपने खाते में वापस जाने के लिए इसका उपयोग कर सकते हैं। इस रिकवरी कुंजी वाला कोई भी व्यक्ति आपका पासवर्ड रीसेट कर सकता है, इसलिए इसे कभी भी साझा न करें।" #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "रिलीज़ करने के बाद भी थोड़ी देर तक ट्रांसमिट करते रहें।" @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "कीबोर्ड" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "कीबोर्ड एक्सेस शुरू नहीं हो सका। शॉर्टकट केवल तभी काम करते हैं जब {productName} फ़ोकस में हो।" @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "कीबोर्ड मोड" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "टूलटिप में कीबोर्ड शॉर्टकट हिंट" @@ -19923,7 +19923,7 @@ msgstr "भाषा सेटिंग्स" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "भाषाएँ" @@ -19971,7 +19971,7 @@ msgstr "लेटेंसी ग्राफ़" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "सदस्य को इस कम्युनिटी में फिर से दूसरों को सुनने दिया" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "{productName} को आपका कीबोर्ड सीधे पढ़ने देता है। इसके बजाय अपने डेस्कटॉप के ज़रिए शॉर्टकट सेट अप करने के लिए इसे बंद करें।" #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "{productName} को आपका कीबोर्ड सीधे पढ़ने देता है। आपका सिस्टम पहले से इसकी अनुमति देता है।" @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "लिनक्स डिफ़ॉल्ट" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "लिनक्स पैकेज" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "स्थानीय फ़ाइलें" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "स्थानीय समय" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "दिखावट और अनुभव" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "लगता है आप {0} का उपयोग कर रहे हैं। {PRODUCT_NAME} की प्रोसेसिंग को इसके ऊपर रखने से पंपिंग या डिस्टॉर्शन हो सकता है। डायरेक्ट इनपुट आपके ऑडियो को बिना किसी बदलाव के पास करता है।" @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "ग्रुप का मालिक बनाएं" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "सुनिश्चित करें कि यह कोड {PRODUCT_NAME} ऐप में मौजूद कोड से मेल खाता है।" @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "अपनी सदस्यता प्रबंधित करें" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "मैन्युअल डेस्कटॉप अपडेट" @@ -21145,15 +21145,15 @@ msgstr "मैसाचुसेट्स" msgid "Master volume" msgstr "मास्टर वॉल्यूम" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "वयस्क श्रेणी" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "वयस्क चैनल" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "वयस्क कम्युनिटी" @@ -21194,7 +21194,7 @@ msgstr "वयस्क सामग्री की जाँच भेजी #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "वयस्क सामग्री की जाँच फ़िलहाल केवल यूके में उपलब्ध है।" @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "सदस्य के रोल अपडेट किए गए" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "सदस्य बने" @@ -22013,7 +22013,7 @@ msgstr "माइक" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "माइक टेस्ट" @@ -22127,7 +22127,7 @@ msgstr "मिनेसोटा" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "नेको" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "आपके कर्सर का पीछा करने वाली नेको बिल्ली" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "नए यूज़र अभी शामिल नहीं हो सकते। आप अभी भी अकाउंट बना सकते हैं या साइन इन कर सकते हैं, फिर बाद में इस लिंक को दोबारा आज़माएँ।" #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "नया वर्ज़न" @@ -23465,7 +23465,7 @@ msgstr "कोई बुकमार्क नहीं" msgid "No bot banner" msgstr "कोई बॉट बैनर नहीं" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "कोई कैमरा नहीं मिला" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "कोई विवरण नहीं।" #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "कोई डेस्कटॉप अपडेट उपलब्ध नहीं है।" @@ -23684,7 +23684,7 @@ msgstr "कोई मेल खाने वाली पोस्ट नही msgid "No mentions yet" msgstr "अभी तक कोई मेंशन नहीं है" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "कोई माइक्रोफ़ोन नहीं मिला" @@ -23731,7 +23731,7 @@ msgstr "इस खोज से कोई लंबित रिक्वेस msgid "No permissions found" msgstr "कोई अनुमति नहीं मिली" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "अभी तक कोई निजी शब्द नहीं हैं।" @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "अनुमति नहीं है" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "असाइन नहीं किया गया" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "क्लिक करने पर" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "अपने दूसरे डिवाइस पर, {signInAddress} पर साइन इन करें और पूछे जाने पर यह कोड दर्ज करें।" @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "{premiumProductFullName} खोलें" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "{PRODUCT_NAME} खोलें" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "खाता स्विचर खोलें" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "एडवांस मीडिया सेटिंग्स खोलें" @@ -24788,7 +24788,7 @@ msgstr "बैनर विकल्प खोलें" msgid "Open bookmarks" msgstr "बुकमार्क खोलें" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "ब्राउज़र खोलें" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "डेट पिकर खोलें" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "डेस्कटॉप डाउनलोड खोलें" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "सेटिंग्स खोलें" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "सॉफ़्टवेयर सेंटर खोलें" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "सिस्टम सेटिंग्स खोलें" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "सिस्टम सेटिंग्स → गोपनीयता और सुरक्षा → स्क्रीन रिकॉर्डिंग खोलें, फिर {productName} को अनुमति दें।" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "टेम्पलेट JSON खोलें" @@ -25089,7 +25089,7 @@ msgstr "टेम्पलेट JSON खोलें" msgid "Open the context menu" msgstr "कॉन्टेक्स्ट मेन्यू खोलें" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "नीचे दिए गए लिंक को अपने ब्राउज़र में खोलें, फिर पूरे JSON रिस्पॉन्स को कॉपी करके बॉक्स में पेस्ट करें।" @@ -25167,11 +25167,11 @@ msgstr "वॉइस और वीडियो सेटिंग्स खो msgid "Open with {accountName} on {instanceName}" msgstr "{accountName} पर {instanceName} के साथ खोलें" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "अपना ब्राउज़र खोलें, साइन इन करें, फिर अपना अकाउंट लिंक करने के लिए नीचे दिया गया कोड डालें।" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "अपना पुराना {PRODUCT_NAME} ऐप खोलें और \"नया डिवाइस लिंक करें\" चुनें, फिर नीचे दिया गया कोड दर्ज करें।" @@ -25199,7 +25199,7 @@ msgstr "सदस्य पेज खोलता है। खोलने क #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "ऑपरेटिंग सिस्टम" @@ -25629,7 +25629,7 @@ msgstr "पिछले 7 दिन" msgid "Paste" msgstr "पेस्ट करें" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "{theOtherPlatform} टेम्पलेट यूआरएल पेस्ट करें और उसकी संरचना किसी नई कम्युनिटी में इंपोर्ट करें।" @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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} की अगली स्क्रीन पर क्रेडिट कार्ड डालने के लिए \"कार्ड का उपयोग करें\" चुनें।" @@ -25933,7 +25933,7 @@ msgstr "{0} के लिए अनुमतियाँ" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "व्यक्तिगत शब्दकोश" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "इस पोस्ट के लिए कम से कम एक टैग चुनें।" #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "एक या ज़्यादा शब्दकोश चुनें। किसी भी चुने गए शब्दकोश के शब्द स्वीकार किए जाते हैं, जो बहुभाषी चैट के लिए उपयोगी है।" @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "कीमत अभी भी लोड हो रही है।" @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "खरीदारी उपलब्ध नहीं है" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "पुश टू टॉक कुंजी" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "पुश-टू-टॉक" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "पुश-टू-टॉक (सीमित)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "पुश-टू-टॉक के लिए अभी तक कोई सिस्टम-व्यापी कुंजी नहीं है। इसे सेट करने के लिए, सेटिंग्स > ऐप्स > {productName} पर जाएं।" #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "पुश-टू-टॉक के लिए अभी तक कोई सिस्टम-व्यापी कुंजी नहीं है। इसे सेट करने के लिए, सिस्टम सेटिंग्स > कीबोर्ड > शॉर्टकट > {productName} पर जाएं।" #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "पुश-टू-टॉक के लिए अभी तक कोई सिस्टम-व्यापी कुंजी नहीं है। इसे सेट करने के लिए, अपने डेस्कटॉप की कीबोर्ड शॉर्टकट सेटिंग्स खोलें।" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "सीधा इनपुट मोड में पुश-टू-टॉक को अनदेखा किया जाता है। इसे इस्तेमाल करने के लिए फ़ोकस्ड वॉइस या कस्टम पर स्विच करें।" @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "पुश-टू-टॉक चालू है। बोलने के लिए अपनी पुश-टू-टॉक कुंजी दबाकर रखें।" #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "पुश-टू-टॉक केवल तभी काम करता है जब {productName} फ़ोकस में हो क्योंकि आपके डेस्कटॉप ने सिस्टम-व्यापी शॉर्टकट सेट अप नहीं किए हैं।" #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "पुश-टू-टॉक केवल तभी काम करता है जब {productName} फ़ोकस में हो जब तक कि {permissionName} सक्षम न हो जाए।" #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "पुश-टू-टॉक केवल तभी काम करता है जब {productName} फ़ोकस में हो, जब तक आप सिस्टम-व्यापी शॉर्टकट सेट अप नहीं कर लेते।" #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "पुश-टू-टॉक तभी काम करता है जब ब्राउज़र टैब फ़ोकस में हो।" #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "पुश-टू-टॉक उस कुंजी का उपयोग करेगा जो आपने {productName} में सेट की है। पहले एक कुंजी सेट करें, नहीं तो आपका माइक्रोफ़ोन वॉइस गतिविधि का उपयोग करेगा।" @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "जब तक आप डीफ़ेन हैं, पुश-टू-टॉक आपके माइक्रोफ़ोन को अनम्यूट नहीं करेगा। बात करने के लिए पहले खुद को अनडीफ़ेन करें।" #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "पुश-टू-टॉक {productName} के बाहर तभी काम करता है जब आप इसे अपने Hyprland कॉन्फ़िगरेशन में बाइंड करें।" #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "पुश-टू-टॉक {productName} के बाहर तभी काम करता है जब आप इसे अपने Hyprland कॉन्फ़िगरेशन में बाइंड करें। अपने Hyprland संस्करण वाली लाइन जोड़ें और KEY को अपनी पसंद की कुंजी से बदलें।" @@ -27533,12 +27533,12 @@ msgstr "प्राप्तकर्ताओं को {0} <0>{1} पर #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "सुझाया गया" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "सुझाया गया। स्पष्ट आवाज़ के लिए आपके माइक ऑडियो को साफ़ करता है।" @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "फिर से कनेक्ट हो गया। अगर आप अपनी पिछली स्ट्रीम फिर से शुरू करना चाहते हैं, तो दोबारा स्क्रीन चुनें।" #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "आपके डेस्कटॉप से फिर से कनेक्ट हो रहा है…" @@ -27836,7 +27836,7 @@ msgstr "लागू करने के लिए पुनः लॉन्च #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "रिलीज़ में देरी" @@ -27853,7 +27853,7 @@ msgstr "प्रासंगिक" msgid "Reload" msgstr "फिर से लोड करें" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "इंजन बदलाव को पूरी तरह लागू करने के लिए {PRODUCT_NAME} को रीलोड करें। इन-ऐप और सिस्टम स्पेलचेक के बीच स्विच करने पर रेंडरर रीलोड ज़रूरी है, क्योंकि Electron चलते हुए प्रोवाइडर स्वैप नहीं कर सकता।" @@ -27872,7 +27872,7 @@ msgstr "{productName} को रीलोड करें ताकि वेब msgid "Reload app" msgstr "ऐप फिर से लोड करें" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "अभी रीलोड करें" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "हटाएँ" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "शब्दकोश से \"{word}\" हटाएँ" @@ -28086,8 +28086,8 @@ msgstr "सिर्फ़ URL वाले पसंदीदा GIF से ह #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "आइकॉन हटाएँ" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "प्रति पेज पंक्तियाँ" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM पैकेज" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "सुरक्षा" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "आपके जैसा ही समय" @@ -29770,7 +29770,7 @@ msgstr "स्क्रीन रिकॉर्डिंग" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "स्क्रीन रिकॉर्डिंग की अनुमति ज़रूरी है" @@ -29858,7 +29858,7 @@ msgstr "स्क्रीन शेयर गोपनीयता" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "स्क्रीन शेयर क्वालिटी" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "भाषा कोड खोजें…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "भाषाएँ खोजें…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "GIF {title} चुनें" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "इंटरफ़ेस भाषा चुनें" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "वह खाता चुनें जिससे आप अपने नए डिवाइस पर साइन इन करना चाहते हैं।" #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "वॉइस प्रोसेसिंग मोड चुनें" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "बिना किसी प्रोसेसिंग के रॉ माइक ऑडियो भेजता है।" #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "आपका ऑडियो बिना किसी बदलाव के भेजता है। अगर आप बाहरी ऑडियो सॉफ़्टवेयर का उपयोग कर रहे हैं तो यह सबसे अच्छा है।" @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "रोल के लिए सदस्य सूची में एक स्थान सेट किया गया" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "{preset} प्रीसेट द्वारा सेट किया गया। यहाँ कोई मान चुनने पर कस्टम पर स्विच हो जाएगा।" @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "वॉइस क्षेत्र ऑटोमैटिक पर सेट किया गया" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "सेट अप करें" @@ -31307,7 +31307,7 @@ msgstr "किसी दोस्त के साथ शेयर करें" msgid "Share your screen" msgstr "अपनी स्क्रीन शेयर करें" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "अपनी स्क्रीन को हाई डेफ़िनिशन (1080p), क्वाड HD (1440p) या नेटिव सोर्स रिज़ॉल्यूशन में, 60 FPS तक शेयर करें।" @@ -31399,7 +31399,7 @@ msgstr "शॉर्टकोड" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "शॉर्टकट" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "शॉर्टकट बैज" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "पसंदीदा बटन दिखाएं" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "पूरे ऐप में पसंदीदा दिखाएं" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "अपने ब्राउज़र से साइन इन करें" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "अपने पुराने {productName} ऐप से साइन इन करें" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "साइन आउट करें?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "साइन-इन रद्द किया गया" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "साइन-इन विवरण" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "साइन-इन फ़्लो" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "{name} के तौर पर साइन इन हो रहा है" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "किसी दूसरे डिवाइस पर साइन इन कर रहे हैं?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "चेकआउट शुरू करते समय कुछ गड़बड़ हो गई। कृपया कुछ देर बाद फिर से कोशिश करें।" @@ -32812,7 +32812,7 @@ msgstr "साउंड" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "स्पीड" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "वर्तनी जांच" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "वर्तनी जांच इंजन" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "स्टार एनिमेशन" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "स्टार किए गए चैनल" @@ -33140,7 +33140,7 @@ msgstr "वॉइस कॉल शुरू करें?" msgid "Start call" msgstr "कॉल शुरू करें" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "कैमरा टेस्ट शुरू करें और इफ़ेक्ट कॉन्फ़िगर करें" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "मिनिमाइज़ करके शुरू करें" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "स्टार्टअप" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "स्टैटिक नेको" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "अभी इंडेक्स किया जा रहा है — थोड़ी देर में फिर से देखें" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "स्थिर नेको" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "स्क्रीन रिकॉर्डिंग एक्सेस की अभी भी प्रतीक्षा हो रही है" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "माइक्रोफ़ोन की जाँच रोकें" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "नेको को आपके कर्सर का पीछा करने से रोकें, लेकिन वह ड्रैग करने लायक और इंटरैक्टिव बना रहे।" @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "सदस्यता पहले से मौजूद है" @@ -33957,7 +33957,7 @@ msgstr "आरामदायक लेआउट पर स्विच कर msgid "Switch to dense layout" msgstr "सघन लेआउट पर स्विच करें" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "सीधे इनपुट पर स्विच करें" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "सिस्टम DM पर वॉइस कॉल नहीं हो सकतीं।" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "सिस्टम का समय प्रारूप: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "सिस्टम ट्रे" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "सिस्टम-प्रबंधित इंस्टॉल" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "सिस्टम-व्यापी शॉर्टकट" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "सिस्टम-व्यापी शॉर्टकट सेट अप नहीं किए जा सके।" @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "नोट जोड़ने के लिए टैप करें" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz आर्काइव" @@ -34360,7 +34360,7 @@ msgstr "टास्कबार बैज" msgid "Teleporting you to another voice region..." msgstr "दूसरे वॉइस रीजन में टेलीपोर्ट कर रहे हैं..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "टेम्पलेट" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "आपके दूसरे डिवाइस पर {PRODUCT_NAME} ऐप इसे \"किसी दूसरे डिवाइस पर साइन इन करना\" के तहत दिखाता है। केवल उसी डिवाइस से कोड दर्ज करें जिसे आप नियंत्रित करते हैं।" #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "{PRODUCT_NAME} ऐप में साइन इन नहीं किया गया था। आप इस टैब को बंद कर सकते हैं।" @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "आप जिस कम्युनिटी को ढूंढ रहे हैं, हो सकता है उसे डिलीट कर दिया गया हो या आपके पास उसका एक्सेस न हो।" #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "डेस्कटॉप अपडेट डाउनलोड नहीं किया जा सका। जब आपका कनेक्शन स्थिर हो, तो अपडेट बटन से फिर से कोशिश करें।" #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "डाउनलोड की गई फ़ाइल आपके कंप्यूटर पर सेव हो गई है। इसे अपने सामान्य पैकेज मैनेजर से इंस्टॉल करें।" @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "इस श्रेणी में पहले से ही अधिकतम {maxChannelsPerCategory} चैनल हैं।" #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "यह श्रेणी वयस्क सामग्री के लिए चिह्नित है और इसमें ऐसी सामग्री हो सकती है जो कुछ यूज़र के लिए अनुपयुक्त हो सकती है।" @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "इस चैनल पर सामग्री चेतावनी है। अपडेट केवल सामग्री चेतावनी या आयु प्रतिबंध वाले चैनलों पर ही जा सकते हैं।" #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "यह चैनल वयस्क सामग्री के लिए चिह्नित है और इसमें ऐसी सामग्री हो सकती है जो कुछ यूज़र के लिए अनुपयुक्त हो सकती है।" @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "यह कम्युनिटी भरी हुई है" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "यह कम्युनिटी वयस्क सामग्री के लिए चिह्नित है और इसमें ऐसी सामग्री हो सकती है जो कुछ यूज़र के लिए अनुपयुक्त हो सकती है।" @@ -35324,14 +35324,14 @@ msgstr "यह कम्युनिटी अब उपलब्ध नही #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "यह कनेक्शन वेरिफ़ाई हो गया है।" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "यह कनेक्शन वेरिफ़ाई नहीं किया गया है।" @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "यह बातचीत अब उपलब्ध नहीं है।" #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "यह डेस्कटॉप बिल्ड {productName} के अंदर अपडेट इंस्टॉल नहीं कर सकता। इसके बजाय, नया डेस्कटॉप इंस्टॉलर डाउनलोड करें।" #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "यह डेस्कटॉप सिस्टम-व्यापी शॉर्टकट प्रदान नहीं करता है। पुश-टू-टॉक केवल तभी काम करता है जब {productName} फ़ोकस में हो।" #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "यह डेस्कटॉप सिस्टम-व्यापी शॉर्टकट प्रदान नहीं करता है। {productName} फ़ोकस में होने पर शॉर्टकट अब भी काम करते हैं।" #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "यह डेवलपमेंट बिल्ड खुद को अपडेट नहीं कर सकता है। अपडेट फ़्लो का परीक्षण करने के लिए डेस्कटॉप इंस्टॉलर डाउनलोड करें।" @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "यह इमेज पढ़ी नहीं जा सकी। यह खराब हो सकती है।" #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "यह इंस्टॉलेशन आपके सिस्टम द्वारा प्रबंधित किया जाता है। अपने सॉफ़्टवेयर सेंटर या पैकेज मैनेजर से {productName} को अपडेट करें।" @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "यह इंस्टेंस पहले से ही साइन इन करने के लिए यूज़रनेम का उपयोग करता है। इसे अब बदला नहीं जा सकता।" #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "यह इंस्टेंस वर्तमान में 30 FPS पर 720p तक स्क्रीन शेयर की अनुमति देता है।" @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "यह लिंक मान्य नहीं है। कृपया अपने ईमेल से लिंक को फिर से खोलें।" #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "यह वयस्क श्रेणी आपके अकाउंट के लिए उपलब्ध नहीं है।" -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "यह वयस्क श्रेणी आपके अकाउंट के लिए उपलब्ध नहीं है। <0>और जानें" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "यह वयस्क चैनल आपके अकाउंट के लिए उपलब्ध नहीं है।" -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "यह वयस्क चैनल आपके अकाउंट के लिए उपलब्ध नहीं है। <0>और जानें" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "यह वयस्क कम्युनिटी आपके अकाउंट के लिए उपलब्ध नहीं है।" -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "यह वयस्क कम्युनिटी आपके अकाउंट के लिए उपलब्ध नहीं है। <0>और जानें" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "यह वयस्क मीडिया आपके अकाउंट के लिए उपलब्ध नहीं है।" + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "यह वयस्क मीडिया आपके अकाउंट के लिए उपलब्ध नहीं है। <0>और जानें" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "यह प्लान उपलब्ध नहीं है। सहायता से संपर्क करें।" +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "यह प्लान उपलब्ध नहीं है। इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।" + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "यह खरीदारी रिफंड के लिए योग्य नहीं है।" @@ -35837,7 +35853,7 @@ msgstr "यह थ्रेड लॉक है। केवल मॉडरे msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "इस यूज़र ने अपनी प्रोफ़ाइल सीमित कर दी है। कुछ जानकारी उन लोगों से छिपी हुई है जो उनके दोस्त नहीं हैं।" -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "इस यूज़र के इस कम्युनिटी में कोई रोल नहीं है।" @@ -36050,14 +36066,14 @@ msgstr "समय" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "समय फ़ॉर्मैट" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "समय फ़ॉर्मैट चुनें" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "टाइटल बार प्लेटफ़ॉर्म" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "कुंजियों को बदलने के लिए, सेटिंग्स > ऐप्स > {productName} पर जाएं।" #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "कुंजियों को बदलने के लिए, सिस्टम सेटिंग्स > कीबोर्ड > शॉर्टकट > {productName} पर जाएं।" #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "कुंजियाँ बदलने के लिए, अपने डेस्कटॉप की कीबोर्ड शॉर्टकट सेटिंग्स खोलें।" @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "टूलबार" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "टूलटिप शॉर्टकट" @@ -36864,7 +36880,7 @@ msgstr "चौबीस घंटे" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "दो क्लिक" @@ -37263,7 +37279,7 @@ msgstr "यूनिवर्सल फ़ॉलबैक। सबसे कम #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "अज्ञात" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "{premiumProductName} के साथ DM में कस्टम इमोजी अनलॉक करें" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "{premiumProductName} के साथ HD स्क्रीन शेयर अनलॉक करें" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "30 FPS पर 720p तक" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Wayland पर सिस्टम-व्यापी शॉर्टकट का उपयोग करने के लिए {productName} को अपडेट करें।" @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "अपना स्टेटस अपडेट करें" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "अभी अपडेट करें" @@ -38008,8 +38024,8 @@ msgstr "इस चैनल में फ़ाइलें और मीडि #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "आइकॉन अपलोड करें" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "{name} का उपयोग {domain} पर करें" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "{pixPaymentMethod} का उपयोग करें" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "{upiPaymentMethod} का उपयोग करें" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "कोई और तरीका इस्तेमाल करें" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "ऑटो-स्क्रॉलिंग का उपयोग करें" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "कार्ड का उपयोग करें" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "डिफ़ॉल्ट इस्तेमाल करें" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "इनपुट डिवाइस के सीधे एक्सेस का उपयोग करें" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "अन्य कम्युनिटी के स्टिकर इस्तेमाल करें।" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "समय फ़ॉर्मैट के लिए सिस्टम का लोकेल इस्तेमाल करें" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "ऑपरेटिंग सिस्टम के विंडो फ़्रेम का उपयोग करें" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "अपने ऑपरेटिंग सिस्टम में बने स्पेलचेकर का इस्तेमाल करें।" @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "वॉइस गतिविधि का इस्तेमाल करें" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "उपलब्ध होने पर अपने ऑपरेटिंग सिस्टम के स्पेलचेकर का उपयोग करें। अन्यथा, {productName} की इन-ऐप डिक्शनरी का उपयोग करें।" @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "पहले अपना ईमेल वेरिफ़ाई करें" @@ -39244,7 +39260,7 @@ msgstr "विवरण देखें" msgid "View devices that are signed in to your account" msgstr "उन डिवाइस को देखें जो आपके अकाउंट में साइन इन हैं" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "पूरी प्रोफ़ाइल देखें" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "विजनरी में पहले से ही परमानेंट एक्सेस शामिल है, इसलिए बार-बार सदस्यता लेने की ज़रूरत नहीं है। आप अभी भी दूसरों के लिए उपहार खरीद सकते हैं।" @@ -39535,7 +39551,7 @@ msgstr "वॉइस चैनल" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "वॉइस चैनल की पुष्टि" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "वॉइस चैनल भरा हुआ है" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "वॉइस चैनल में शामिल होने का तरीका" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "वॉइस प्रतिभागी" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "वॉइस प्रोसेसिंग" @@ -39661,7 +39677,7 @@ msgstr "वॉइस अनडीफ़ेन" msgid "Voice unmute" msgstr "वॉइस अनम्यूट" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "यह आवाज़ इस ब्राउज़र में आपके सिस्टम आउटपुट डिवाइस का उपयोग करती है। इसे अपनी सिस्टम सेटिंग में बदलें।" @@ -39675,7 +39691,7 @@ msgstr "रद्द किया गया" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "मैसेज के बीच इंतज़ार करें। msgid "Waiting for connection..." msgstr "कनेक्शन का इंतज़ार हो रहा है..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "पासकी का इंतज़ार हो रहा है…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "हम इंतज़ार कर रहे हैं कि आप..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "आपके डेस्कटॉप का इंतज़ार हो रहा है…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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} सदस्यता मिली है। भुगतान विवरण अपडेट करने या नवीनीकरण की स्थिति जांचने के लिए इसे सुरक्षित बिलिंग पोर्टल में प्रबंधित करें। अगर आपने अभी-अभी भुगतान किया है, तो एक मिनट रुकें और इस पेज को फिर से खोलें।" @@ -39914,7 +39930,7 @@ msgstr "हमने इस स्टिकर का आकार बदलक msgid "We sent a code to {email}." msgstr "हमने {email} पर एक कोड भेजा है।" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "ब्राउज़र साइन-इन खुलने पर हम {prefillEmail} पहले से भर देंगे।" @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "वेबसाइट प्रीव्यू" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "वापस आपका स्वागत है" @@ -40321,7 +40337,7 @@ msgstr "कौन सी कम्युनिटी" msgid "Which conversations" msgstr "कौन सी बातचीत" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "जब तक पुश-टू-टॉक चालू है, आपका शॉर्टकट आपके माइक्रोफ़ोन को नियंत्रित करता है, इसलिए म्यूट बटन अक्षम है।" @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "आप भुगतान पूरा करने के लिए अब {paymentProviderName} पर जा रहे हैं। इसे पूरा करने के बाद {productName} पर वापस आएं।" @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "आपने अभी Tab दबाया है। कीबोर्ड मोड अब चालू है, ताकि आप माउस के बिना {productName} को नेविगेट कर सकें।" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "आपके पर्क आपकी अगली रिन्यूअल तारीख तक बने रहेंगे। अपनी सब्सक्राइबर हिस्ट्री बनाए रखने के लिए उससे पहले सदस्यता फिर से सक्रिय करें।" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "आप तुरंत सभी {PREMIUM_PRODUCT_NAME} पर्क खो देंगे और आपकी सब्सक्राइबर हिस्ट्री रीसेट हो जाएगी। इसे पूर्ववत नहीं किया जा सकता।" @@ -41137,8 +41153,8 @@ msgstr "यहां अन्य कम्युनिटी से इमो msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "यहां अन्य कम्युनिटी से स्टिकर इस्तेमाल करने के लिए आपको \"{permissionLabel}\" अनुमति चाहिए।" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "कम्युनिटी बनाने से पहले आपको अपना अकाउंट क्लेम करना होगा।" @@ -41155,8 +41171,8 @@ msgstr "डायरेक्ट मैसेज भेजने के लि msgid "You need to claim your account to send messages in this community." msgstr "इस कम्युनिटी में मैसेज भेजने के लिए आपको अपना अकाउंट क्लेम करना होगा।" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "कम्युनिटी बनाने से पहले आपको अपना ईमेल पता वेरिफ़ाई करना होगा।" @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "{premiumProductFullName} खरीदने से पहले आपको अपना ईमेल वेरिफ़ाई करना होगा।" @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "आप ऑफ़लाइन दिखेंगे" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "आपको अभी शुल्क लिया जाएगा। आपके उपहार का शेष समय आपके भुगतान की अवधि के बाद जोड़ा जाएगा, इसलिए इसमें से कुछ भी व्यर्थ नहीं जाएगा।" @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "आप पहले से ही विजनरी हैं" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "आप बहुत तेज़ी से रिपोर्ट भेज रहे हैं। बाद में फिर से कोशिश करें।" #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "आप साइन इन हो गए हैं" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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} अकाउंट में प्रबंधित करें।" @@ -41559,10 +41575,14 @@ msgstr "इस कम्युनिटी में मैसेज भेज msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "आपके अकाउंट का अनुरोध मंज़ूरी के इंतज़ार में है। एडमिन के मंज़ूर करने के बाद आप साइन इन कर सकेंगे।" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "आपके अकाउंट के लिए मल्टी-फ़ैक्टर प्रमाणीकरण ज़रूरी है, लेकिन इस डिवाइस पर कोई भी समर्थित तरीका सेट अप नहीं है। अपने ऑथेंटिकेटर ऐप या सुरक्षा कुंजी वाले डिवाइस पर साइन इन करें या सहायता से संपर्क करें।" +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "आपके अकाउंट के लिए मल्टी-फ़ैक्टर प्रमाणीकरण ज़रूरी है, लेकिन इस डिवाइस पर कोई भी समर्थित तरीका सेट अप नहीं है। अपने ऑथेंटिकेटर ऐप या सुरक्षा कुंजी वाले डिवाइस पर साइन इन करें या इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।" + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "आपके खाते और सेटिंग्स में कोई बदलाव या डिलीट नहीं किया गया है।" #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "आपकी कार्रवाई पूरी नहीं हो पाई क्योंकि इसे हमारे सुरक्षा सिस्टम ने फ़्लैग किया है। अगर आपको लगता है कि यह गलती से हुआ है, तो कृपया सहायता टीम से संपर्क करें।" +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "आपकी कार्रवाई पूरी नहीं हो पाई क्योंकि इसे हमारे सुरक्षा सिस्टम ने फ़्लैग किया है। अगर आपको लगता है कि यह गलती से हुआ है, तो कृपया इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।" + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "आपका मौजूदा किट नया किट बनने के तुरंत बाद काम करना बंद कर देगा।" #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "आपके डेस्कटॉप ने सिस्टम-व्यापी शॉर्टकट सेट अप नहीं किए।" #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "आपका डेस्कटॉप इन कुंजियों को {productName} के लिए सुरक्षित रखता है, इसलिए दूसरे ऐप्स इनका उपयोग नहीं कर सकते।" #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "आपका डेस्कटॉप इन कुंजियों को {productName} के लिए सुरक्षित रखता है, इसलिए दूसरे ऐप्स इनका उपयोग नहीं कर सकते। दूसरे ऐप्स में वही कुंजी उपयोग करने के लिए, नीचे इनपुट डिवाइस का सीधा एक्सेस चालू करें।" #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "आपका डेस्कटॉप इन शॉर्टकट को तब भी चलाता है जब {productName} फ़ोकस में न हो।" @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "आपका उपहार समय समाप्त हो गया है। {premiumProductName} जारी रखने के लिए सब्सक्राइब करें।" #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "आपका गिफ़्ट टाइम सुरक्षित रखा गया है" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "आपका ग्रेस पीरियड खत्म हो गया है।" #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "आपका इंस्टॉलेशन करप्ट हो गया है, और सभी फ़ीचर के काम करने के लिए आपको ऐप फिर से इंस्टॉल करना होगा।" @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "आपकी पिछली खरीदारी रिफ़ंड विंडो के बाहर है। बिलिंग संबंधी समस्याओं के लिए सहायता से संपर्क करें।" #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "आपका मैसेज डिलीवर नहीं हो सका क्योंकि इसे हमारे सुरक्षा सिस्टम ने फ़्लैग किया था। अगर आपको लगता है कि यह गलती से हुआ है, तो कृपया सहायता टीम से संपर्क करें।" +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "आपका मैसेज डिलीवर नहीं हो सका क्योंकि इसे हमारे सुरक्षा सिस्टम ने फ़्लैग किया था। अगर आपको लगता है कि यह गलती से हुआ है, तो कृपया इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।" + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "आपका मैसेज डिलीवर नहीं हो सका। ऐसा आमतौर पर इसलिए होता है, क्योंकि आप और मैसेज पाने वाला व्यक्ति एक ही कम्युनिटी में नहीं हैं या मैसेज पाने वाला व्यक्ति सिर्फ़ दोस्तों से डायरेक्ट मैसेज स्वीकार कर रहा है। आपको {directMessagePrivacySettingsPath} में अपनी डायरेक्ट मैसेज गोपनीयता सेटिंग्स भी एडजस्ट करनी पड़ सकती हैं।" #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "आपका मैसेज डिलीवर नहीं हो पाया। डायरेक्ट मैसेज भेजने के लिए आपको अपना अकाउंट क्लेम करना होगा।" #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "आपका मैसेज डिलीवर नहीं हो पाया। मैसेज भेजने के लिए आपको अपना अकाउंट क्लेम करना होगा।" @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "आपकी रिपोर्ट नहीं भेजी जा सकी। फिर से कोशिश करें।" #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "आपका सहेजा गया {savedResolution} {savedFrameRate} FPS पर {premiumProductName} की आवश्यकता है, इसलिए शेयर {resolution} {frameRate} FPS पर उपयोग करते हैं।" diff --git a/fluxer_app/src/features/i18n/locales/hr/messages.po b/fluxer_app/src/features/i18n/locales/hr/messages.po index 23fec136d..841be3c25 100644 --- a/fluxer_app/src/features/i18n/locales/hr/messages.po +++ b/fluxer_app/src/features/i18n/locales/hr/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} pokreće noviju verziju Fluxera od ove aplikacije. Ažurirajte Fluxer, a zatim pokušajte ponovno." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} ispred vas" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} iza vas" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {prije # sat} few {prije # sata} other {prije # sati #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# sat} few {# sata} other {# sati}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# sat} few {# sata} other {# sati}} {minutes, plural, one {# minuta} few {# minute} other {# minuta}}" @@ -1602,7 +1602,7 @@ msgstr "Datoteka za {label} je prevelika. Odaberite datoteku manju od {maxSizeLa msgid "{label} images cannot be animated. Use a static image." msgstr "Slike za {label} ne mogu biti animirane. Koristite statičnu sliku." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Zastava: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {prije # minutu} few {prije # minute} other {prije #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minuta} few {# minute} other {# minuta}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} je pronašao novi izlazni audio uređaj pod nazivom <0>{d msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} se mora ponovno pokrenuti prije nego što izvorne postavke pomicanja u Chromiumu promijene način na koji pomicanje funkcionira." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} se mora ponovno pokrenuti kako bi hardversko ubrzanje stupilo na snagu." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} se mora ponovno pokrenuti kako bi promjena naslovne trake stupila na snagu." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} se mora ponovno pokrenuti kako bi se onemogućilo hardversko ubrzanje Chromiuma. Koristite ovo samo ako rješavate probleme s grafičkim smetnjama ili visokom upotrebom GPU-a." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Lovac na bugove {productName}a" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} može zatražiti od radnog okruženja da pokreće njegove prečace dok {productName} nije u fokusu. Radno okruženje tražit će potvrdu i omogućiti vam odabir tipki." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} više ne može čitati vašu tipkovnicu pa umjesto toga osluškuje prečace putem X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} više ne može čitati vašu tipkovnicu pa se umjesto toga koriste prečaci radnog okruženja." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} više ne može čitati vašu tipkovnicu. Prečaci rade samo dok je {productName} u fokusu." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} može registrirati svoje prečace u Hyprlandu kako bi radili dok {productName} nije u fokusu. Zatim dodijelite tipke u konfiguraciji Hyprlanda." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} ne može koristiti hardverski enkoder za ovo, pa će umjesto toga koristiti vaš procesor." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} se zatvara, instalira ažuriranje i ponovno otvara." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} nije uspio pristupiti servisu za ažuriranje. Provjerite svoju vezu i pokušajte ponovno." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} se preselio na {host}. Otvorite ga u pregledniku kako biste instalirali novu aplikaciju." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Član {productName}a od" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "Aplikaciji {productName} potreban je pristup vašem mikrofonu. Omogućite pristup mikrofonu u postavkama privatnosti operativnog sustava i ponovno pokrenite aplikaciju." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "Aplikacija {productName} treba pristup kameri za prikaz vaših uređaja." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "Aplikacija {productName} treba pristup mikrofonu za prikaz vaših uređaja." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "{productName} komplet za oporavak" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} je registrirao svoje prečace u Hyprlandu. Dodijelite im tipke u konfiguraciji Hyprlanda da biste ih koristili dok {productName} nije u fokusu." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 mjeseci (1 godina)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12-satni" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 sata" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24-satni" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "naziv hosta, npr. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Dostupno je ažuriranje aplikacije za Linux. Odaberite format paketa za ovaj sustav i {productName} će ga spremiti lokalno." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "minutu" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Dostupna je nova verzija za stolno računalo. Preuzmite instalacijski program i pokrenite ga kako biste ažurirali {productName}." @@ -2817,7 +2817,7 @@ msgstr "O aplikaciji {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "O meni" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Dijeljenje aktivnosti" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Prag aktivnosti" @@ -3155,7 +3155,7 @@ msgstr "Stvarna veličina" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Dodaj" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Prvo dodajte korisničko ime i lozinku svom računu." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Dodaj riječ…" @@ -3244,7 +3244,7 @@ msgstr "Dodajte YouTube Data API ključ kako biste obogatili YouTube poveznice." #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Dodaj račun" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Adresa" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Sami prilagodite svaku postavku: potiskivanje buke, poništavanje jeke i pojačanje." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Napredno" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Napredne video postavke" @@ -3906,22 +3906,22 @@ msgstr "Dopusti" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Dopusti {everyoneMention} i {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Dopusti {PRODUCT_NAME} pristup kameri u Postavke sustava → Privatnost i sigurnost → Kamera." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Dopusti {PRODUCT_NAME} pristup mikrofonu u Postavke sustava → Privatnost i sigurnost → Mikrofon." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Dopustite aplikaciji {PRODUCT_NAME} pristup mikrofonu. Provjerite adresnu traku ili postavke preglednika." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Dopusti {productName} u odjeljku Snimanje zaslona u Postavkama sustava. Ako je već dopušteno, ponovno pokreni {productName2} kako bi macOS to primijenio." @@ -3961,7 +3961,7 @@ msgstr "Dopusti izravne poruke botova" msgid "Allow bots to send you direct messages?" msgstr "Dopustiti botovima da vam šalju izravne poruke?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Dopusti pristup kameri" @@ -4029,7 +4029,7 @@ msgstr "Dopusti članovima bez dopuštenja {readMessageHistoryPermissionLabel} d msgid "Allow mentions for this role" msgstr "Dopusti spominjanje za ovu ulogu" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Dopusti mikrofon" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Uvijek podcrtaj poveznice" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Uvijek koristite Hunspell rječnike aplikacije {productName}, preuzete na zahtjev." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Značka ikone aplikacije" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Format vremena prema jeziku aplikacije: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Zahtijeva odobrenje" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Odobrite ovu aplikaciju iz aplikacije {productName} koju već koristite. Lozinka nije potrebna." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Autorizirano {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Automatski" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Automatsko prepoznavanje jezika" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Automatsko postavljanje praga aktivnosti" @@ -5534,7 +5534,7 @@ msgstr "AV1 (zahtijeva uključivanje)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Dostupno" @@ -5608,11 +5608,11 @@ msgstr "Trenutno odsutan" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Najbolja kompresija. Koristite ga samo kada WebRTC nudi koder i kada izvješće o GPU-u pokazuje da je hardverski podržan." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Najbolje uz desktop aplikaciju" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Preglednik: početna stranica" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Format vremena preglednika: {format}" @@ -6545,8 +6545,8 @@ msgstr "Kupite poklon {premiumProductName} na kartici {premiumProductName} i pod msgid "Buy gift" msgstr "Kupi poklon" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Stvaranjem zajednice pristajete slijediti i podržavati <0>smjernice zajednice {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Pozivi" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Pregled kamere" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Kvaliteta kamere" @@ -6809,8 +6809,8 @@ msgstr "Ovdje nije moguće učitati datoteke" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Poništi zakazanu promjenu" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Otkaži pretplatu" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Otkaži pretplatu?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Kategorija" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Upozorenje o sadržaju kategorije" @@ -7131,15 +7131,15 @@ msgstr "Promijeni nadimak u grupi" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Promijeni ikonu" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Promijeni u postavkama sustava" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Oznake kanala" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Upozorenje o sadržaju kanala" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Prečaci za chat" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Provjeri ponovno" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Provjera pristupa..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Provjera dopuštenja za snimanje zaslona..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Naplata nedostupna" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Odaberite način plaćanja za ovu pretplatu." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Odaberite način plaćanja" @@ -8174,7 +8174,7 @@ msgstr "Odaberite svoje zadane postavke" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Odaberite svoju instancu" @@ -8216,8 +8216,8 @@ msgstr "Preuzmi poklon" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Preuzmite svoj račun" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Značke zajednice" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Upozorenje o sadržaju zajednice" @@ -9089,8 +9089,8 @@ msgstr "Izravne poruke iz zajednice" msgid "Community filter" msgstr "Filtar zajednice" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Ikona zajednice" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Zajednica ažurirana" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Glas zajednice" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Dovrši plaćanje" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Dovršite provjeru sadržaja za odrasle kako biste otključali medije za odrasle." @@ -9409,7 +9409,7 @@ msgstr "Potvrdi" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Potvrdi prije pridruživanja glasovnim kanalima" @@ -9457,7 +9457,7 @@ msgstr "Potvrdite izjavu kako biste poslali prijavu." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Potvrdi pridruživanje glasovnom kanalu" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Potvrda" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Potvrda ili dvostruki klik za pridruživanje glasovnim kanalima zajednice" @@ -9476,7 +9476,7 @@ msgstr "Potvrda ili dvostruki klik za pridruživanje glasovnim kanalima zajednic msgid "Conflicts with {conflictLabel}" msgstr "U sukobu s {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Povežite kameru i pokušajte ponovno." @@ -9489,7 +9489,7 @@ msgstr "Povežite kameru ili virtualni uređaj za snimanje, pa pokušajte ponovn msgid "Connect a display, then try again." msgstr "Povežite zaslon, a zatim pokušajte ponovno." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Povežite mikrofon i pokušajte ponovno." @@ -9633,7 +9633,7 @@ msgstr "Veza: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Kontakt" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Sadržaj blokiran" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Nastavi u pregledniku" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Nastavi na naplatu" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Nastavi s pristupnim ključem" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Kopiraj URL pozivnice" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Kopiraj retke" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Kopiraj retke za hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Kopiraj retke za hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Nije moguće promijeniti cijenu" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Nije moguće provjeriti ažuriranja" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Nije moguće izbrisati vaše poruke" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Nije moguće preuzeti ažuriranje za stolno računalo" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Nije moguće pokrenuti naplatu" @@ -10932,7 +10932,7 @@ msgstr "Stvori i podijeli" msgid "Create a community" msgstr "Stvori zajednicu" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Stvorite zajednicu za dopisivanje s prijateljima." @@ -11365,7 +11365,7 @@ msgstr "Prilagođeno" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Moderatori su vam isključili zvuk" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB paket" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Aplikacija za stolno računalo" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Aplikacija za stolno računalo je ažurna" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Dostupno je ažuriranje za stolno računalo {version}. Odaberite Linux paket." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Dostupno je ažuriranje za stolno računalo" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Dostupno je ažuriranje za stolno računalo. Odaberite Linux paket." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Dostupna je verzija za stolno računalo {version}. Preuzmite instalacijski program i pokrenite ga kako biste ažurirali {productName}." @@ -12613,7 +12613,7 @@ msgstr "Detalji: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Prepoznaj tijekom tipkanja" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Alati za razvojne programere nedostupni" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Razvojna verzija" @@ -13455,8 +13455,8 @@ msgstr "Preuzmi" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Preuzmi {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification i smjestite ga u mapu <1>.well-known kako bismo mogli potvrditi domenu." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Preuzmi aplikaciju" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Preuzmi aplikaciju" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Gumb za preuzimanje" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Preuzmi aplikaciju za stolno računalo" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Preuzmi sliku" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Preuzmi instalacijski program" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Preuzmi medij" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Preuzmi paket" @@ -13655,11 +13655,11 @@ msgstr "Ispusti stavku" msgid "Drop to upload background" msgstr "Ispustite za prijenos pozadine" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Zbog zakona o sadržaju za odrasle u regiji {regionName}, sadržaj za odrasle je blokiran dok ne dovršite provjeru sadržaja za odrasle." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Zbog zakona o sadržaju za odrasle u regiji {regionName}, sadržaj za odrasle ovdje nije dostupan. Provjere sadržaja za odrasle dostupne su samo u Ujedinjenom Kraljevstvu." @@ -13673,7 +13673,7 @@ msgstr "Zbog zakona o sadržaju za odrasle u regiji {regionName}, ovaj je sadrž msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Zbog zakona o sadržaju za odrasle u regiji {regionName}, ovaj sadržaj ovdje nije dostupan. Provjere sadržaja za odrasle dostupne su samo u Ujedinjenom Kraljevstvu." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Zbog zakona o sadržaju za odrasle u regiji {regionName}, ovaj medij nije dostupan u vašoj trenutačnoj regiji." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Svaki kôd radi jednom umjesto vaše aplikacije za provjeru autentičnosti." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Svaka tipka može pokretati samo jedan prečac za cijeli sustav." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Omogući" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Omogući dopuštenje {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Omogući prečac" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Omogući provjeru pravopisa" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Završi poček sada" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Završi razdoblje počeka" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Završiti poček sada?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Unesite PIN za svoj sigurnosni ključ kako biste nastavili." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Unesite ovaj kod u preglednik" @@ -14845,7 +14845,7 @@ msgstr "Unesite ovaj kod u preglednik" msgid "Enter this code in your browser to complete sign-in." msgstr "Unesite ovaj kôd u preglednik kako biste dovršili prijavu." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Unesite ovaj kod u svoju staru aplikaciju {PRODUCT_NAME} kako biste dovršili prijavu." @@ -14916,7 +14916,7 @@ msgstr "Zvuk cijelog sustava" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Zvuk ulaska" @@ -15026,7 +15026,7 @@ msgstr "Večernje vrijeme" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Ujednačava glasnoću mikrofona kako ne biste bili pretihi." @@ -15249,7 +15249,7 @@ msgstr "Istječe između {earliest} i {latest}" msgid "Expires in {remaining}s" msgstr "Istječe za {remaining} s" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Istječe za {remainingSeconds}s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Dodaj kanal u favorite" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Omiljeni kanali" @@ -16243,7 +16243,7 @@ msgstr "Na {threeHours} sata" msgid "For {twentyFourHours} hours" msgstr "Na {twentyFourHours} sati" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Samo za britanske oči..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Za mene" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Za „Pritisni za isključivanje mikrofona” koristite jednu tipku bez Ctrl, Alt ili Shift. Kod kombinacije najprije otpustite glavnu tipku jer mikrofon inače može ostati isključen." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Za „Pritisni za govor” koristite jednu tipku bez Ctrl, Alt ili Shift. Kod kombinacije najprije otpustite glavnu tipku jer mikrofon inače može ostati uključen." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Za ovaj prečac koristite jednu tipku bez Ctrl, Alt ili Shift. Kod kombinacije najprije otpustite glavnu tipku jer prečac inače može ostati aktivan." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Za prioritet glasovne aktivnosti koristite jednu tipku bez Ctrl, Alt ili Shift. Kod kombinacije najprije otpustite glavnu tipku jer prioritet inače može ostati uključen." @@ -16460,14 +16460,14 @@ msgstr "Okvir" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Broj sličica u sekundi" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Broj sličica u sekundi iznad 30 zahtijeva {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Primajte obavijesti kada dobijete poruke. Možda ćete morati dopustiti obavijesti u postavkama preglednika. Za kontrole po kanalu/zajednici desnom tipkom miša kliknite ikonu zajednice i otvorite postavke obavijesti." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Preuzmite desktop aplikaciju {productName} za značajku pritisni za govor na cijelom sustavu i još neke pogodnosti." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Preuzmite aplikaciju za računalo" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Vratite se na {productName} da biste nastavili." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Vrati se u aplikaciju {PRODUCT_NAME}. Prijava će se dovršiti sama." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Vrati se u aplikaciju {PRODUCT_NAME}. Možeš zatvoriti ovaj tab." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Pomoć" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Gumb za pomoć" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Centar za pomoć" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Centar za pomoć" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Pomozite prevesti {PRODUCT_NAME} na vaš jezik na <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Sakrij chat" msgid "Hide community owner crown" msgstr "Sakrij krunu vlasnika zajednice" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Sakrij gumb za preuzimanje" @@ -17860,7 +17860,7 @@ msgstr "Sakrij favorite" msgid "Hide guidelines" msgstr "Sakrij smjernice" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Sakrij gumb centra za pomoć" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Sakrij poruke o pridruživanju" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Sakrij savjete za tipkovnicu" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Hiperveza" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland nema dijaloški okvir za prečace. Dodajte retke za svoju verziju Hyprlanda u njegovu konfiguraciju i zamijenite KEY željenom tipkom." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland nema dijaloški okvir za prečace. Dodijelite tipke u konfiguraciji Hyprlanda." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (prije Hyprlanda 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 i noviji)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Potvrđujem u dobroj vjeri da su podaci i navodi u ovoj prijavi točni i potpuni." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Razumijem" @@ -18598,11 +18598,11 @@ msgstr "Uvoz u tijeku… obrađeno: {processedCount, number} / {totalCount, numb msgid "In" msgstr "U" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "U načinu rada \"Operativni sustav\" gore navedeni rječnici su savjetodavni. {PRODUCT_NAME} će proslijediti ove jezične oznake provjeri pravopisa vašeg OS-a kada je podržano. Oznake koje ne prepoznaje bit će zanemarene." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "U pregledniku pritisni za govor radi samo dok je kartica {PRODUCT_NAME} aktivna. Instalirajte desktop aplikaciju za značajku pritisni za govor na cijelom sustavu." @@ -18650,7 +18650,7 @@ msgstr "U glasovnom razgovoru" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Rječnici u aplikaciji" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Unos" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Ulaz i izlaz" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Umetni emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Instalirajte {productName} za potpuni birač izvora i uglađenije kontrole dijeljenja zaslona." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Instaliraj novu aplikaciju" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Instalirano" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Instalirana verzija: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Sučelje" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Jezik sučelja" @@ -19467,13 +19467,13 @@ msgstr "Pridruži se" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Pridružite se {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Pridružite se zajednici {communityName} kako biste razgovarali s timom i bili u tijeku." @@ -19561,7 +19561,7 @@ msgstr "Pridruži se videopozivu" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Pridruži se glasovnom razgovoru" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Zadržite besplatnu i premium razinu. Možete prilagoditi razine, prodavati premium putem Stripe-a ili kasnije dijeliti poklon-kodove iz administratorske ploče." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Zadrži poček" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Nastavi raditi" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Zadrži pretplatu" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Ovu stranicu čuvajte na sigurnom mjestu. Ako zaboravite lozinku, možete je upotrijebiti za ponovni pristup svojem računu. Svatko tko posjeduje ovaj ključ za oporavak može poništiti vašu lozinku, stoga ga nikada nemojte dijeliti." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Nastavi s prijenosom još nakratko nakon otpuštanja tipke." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Tipkovnica" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Pristup tipkovnici nije se mogao pokrenuti. Prečaci rade samo dok je {productName} u fokusu." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Način rada s tipkovnicom" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Savjeti za tipkovne prečace u opisima alata" @@ -19923,7 +19923,7 @@ msgstr "Jezične postavke" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Jezici" @@ -19971,7 +19971,7 @@ msgstr "Grafikon latencije" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Članu je ponovno omogućeno slušanje drugih u ovoj zajednici" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Omogućuje aplikaciji {productName} izravno čitanje tipkovnice. Isključite ovo da biste prečace postavili putem svog radnog okruženja." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Omogućuje aplikaciji {productName} izravno čitanje tipkovnice. Vaš sustav to već dopušta." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Linux – zadani uređaj" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Linux paket" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Lokalne datoteke" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Lokalno vrijeme" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Izgled i dojam" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Čini se da koristite {0}. Dodatna obrada u {PRODUCT_NAME}u povrh toga može uzrokovati pumpanje ili izobličenje zvuka. Izravan unos propušta vaš zvuk netaknutim." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Postavi za vlasnika grupe" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Provjeri podudara li se ovaj kod s kodom u aplikaciji {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Upravljajte pretplatom" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Ručno ažuriranje stolne aplikacije" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Glavna glasnoća" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Kategorija za odrasle" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Kanal za odrasle" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Zajednica za odrasle" @@ -21194,7 +21194,7 @@ msgstr "Provjera sadržaja za odrasle poslana" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Provjere sadržaja za odrasle trenutačno su dostupne samo u Ujedinjenom Kraljevstvu." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Uloge člana ažurirane" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Član od" @@ -22013,7 +22013,7 @@ msgstr "Mikrofon" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Test mikrofona" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Mačka Neko koja juri za vašim pokazivačem" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Novi se korisnici trenutačno ne mogu pridružiti. I dalje možete stvoriti račun ili se prijaviti pa kasnije ponovno pokušati s ovom poveznicom." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Nova verzija" @@ -23465,7 +23465,7 @@ msgstr "Nema oznaka" msgid "No bot banner" msgstr "Nema naslovne slike bota" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Kamera nije pronađena" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Nema opisa." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Nema dostupnih ažuriranja za stolno računalo." @@ -23684,7 +23684,7 @@ msgstr "Nema podudaranja" msgid "No mentions yet" msgstr "Još nema spominjanja" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Nije pronađen mikrofon" @@ -23731,7 +23731,7 @@ msgstr "Nema zahtjeva na čekanju koji odgovaraju pretrazi" msgid "No permissions found" msgstr "Nema pronađenih dopuštenja" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Još nema osobnih riječi." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Nije dopušteno" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Nije dodijeljeno" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Pri kliku" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "Na drugom uređaju, prijavi se na {signInAddress} i unesi ovaj kod kada bude zatraženo." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Otvori {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Otvori {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Otvori izbornik računa" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Otvori napredne postavke medija" @@ -24788,7 +24788,7 @@ msgstr "Otvori opcije naslovne slike" msgid "Open bookmarks" msgstr "Otvori oznake" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Otvori preglednik" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Otvori birač datuma" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Otvori preuzimanja za stolna računala" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Otvori postavke" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Otvori centar za softver" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Otvori Postavke sustava" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Otvori Postavke sustava → Privatnost i sigurnost → Snimanje zaslona, zatim dopusti {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Otvori JSON predloška" @@ -25089,7 +25089,7 @@ msgstr "Otvori JSON predloška" msgid "Open the context menu" msgstr "Otvori kontekstni izbornik" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Otvorite donju poveznicu u pregledniku, zatim kopirajte cijeli JSON odgovor i zalijepite ga u okvir." @@ -25167,11 +25167,11 @@ msgstr "Otvori postavke zvuka i videa" msgid "Open with {accountName} on {instanceName}" msgstr "Otvori s {accountName} na {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Otvorite preglednik, prijavite se, a zatim unesite kôd u nastavku za povezivanje računa." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Otvorite svoju staru aplikaciju {PRODUCT_NAME} i odaberite \"Poveži novi uređaj\", a zatim unesite kod ispod." @@ -25199,7 +25199,7 @@ msgstr "Otvara stranicu Članovi. Pritisnite razmaknicu ili Enter za otvaranje." #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Operativni sustav" @@ -25629,7 +25629,7 @@ msgstr "Zadnjih 7 dana" msgid "Paste" msgstr "Zalijepi" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Zalijepite URL predloška s platforme {theOtherPlatform} kako biste uvezli njegovu strukturu u novu zajednicu." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Dopuštenja za {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Osobni rječnik" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Odaberite barem jednu oznaku za ovu objavu." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Odaberite jedan ili više rječnika. Riječi iz bilo kojeg odabranog rječnika bit će prihvaćene, što je korisno za višejezične razgovore." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Cijene se još učitavaju." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Kupnja nije dostupna" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Tipka za pritisni za govor" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Pritisni za govor" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Pritisni za govor (ograničeno)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Pritisni za govor još nema tipku za cijeli sustav. Da biste je postavili, idite na Postavke > Aplikacije > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Pritisni za govor još nema tipku za cijeli sustav. Da biste je postavili, idite na Postavke sustava > Tipkovnica > Prečaci > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Pritisni za govor još nema tipku za cijeli sustav. Da biste je postavili, otvorite postavke tipkovničkih prečaca u svojem radnom okruženju." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Pritisni za govor zanemaruje se u izravnom unosu. Prebacite se na fokusirani glas ili prilagođeno da biste ga koristili." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Uključena je opcija pritisni za govor. Držite tipku za govor da biste govorili." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Pritisni za govor radi samo dok je {productName} u fokusu jer vaše radno okruženje nije postavilo prečace za cijeli sustav." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Pritisni za razgovor radi samo dok je {productName} u fokusu dok se ne omogući {permissionName}." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Pritisni za govor radi samo dok je {productName} u fokusu, sve dok ne postavite prečace za cijeli sustav." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Pritisni za govor radi samo dok je kartica preglednika u fokusu." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Pritisni za govor koristit će tipku koju postavite u aplikaciji {productName}. Najprije je postavite jer će inače mikrofon raditi na glasovnu aktivnost." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Pritisni za govor neće uključiti vaš mikrofon dok vam je zvuk isključen. Uključite zvuk kako biste mogli govoriti." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Pritisni za govor radi izvan aplikacije {productName} tek kada mu dodijelite tipku u konfiguraciji Hyprlanda." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Pritisni za govor radi izvan aplikacije {productName} tek kada mu dodijelite tipku u konfiguraciji Hyprlanda. Dodajte redak za svoju verziju Hyprlanda i zamijenite KEY željenom tipkom." @@ -27533,12 +27533,12 @@ msgstr "Primatelji će biti preusmjereni na {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Preporučeno" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Preporučeno. Pročišćava mikrofon za jasan govor." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Ponovno povezivanje uspješno. Ponovno odaberite zaslon ako želite nastaviti prethodni prijenos." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Ponovno povezivanje s radnim okruženjem…" @@ -27836,7 +27836,7 @@ msgstr "Ponovno pokreni za primjenu" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Odgoda otpuštanja" @@ -27853,7 +27853,7 @@ msgstr "Relevantno" msgid "Reload" msgstr "Ponovno učitaj" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Ponovno učitajte {PRODUCT_NAME} kako biste u potpunosti primijenili promjenu mehanizma. Prebacivanje između provjere pravopisa unutar aplikacije i sustava zahtijeva ponovno učitavanje renderera jer Electron ne može zamijeniti pružatelje usluga u hodu." @@ -27872,7 +27872,7 @@ msgstr "Ponovno učitajte {productName} da biste primijenili web-ažuriranje {ve msgid "Reload app" msgstr "Ponovno učitaj aplikaciju" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Ponovo učitaj sada" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Ukloni" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Ukloni \"{word}\" iz rječnika" @@ -28086,8 +28086,8 @@ msgstr "Ukloni iz favorita GIF-ova pohranjenih putem URL-a" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Ukloni ikonu" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Redaka po stranici" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM paket" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Sigurnost" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Isto vrijeme kao i vi" @@ -29770,7 +29770,7 @@ msgstr "Snimanje zaslona" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Potrebno je dopuštenje za snimanje zaslona" @@ -29858,7 +29858,7 @@ msgstr "Privatnost dijeljenja zaslona" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Kvaliteta dijeljenja zaslona" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Pretražite kôd jezika…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Pretražite jezike…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Odaberi GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Odaberite jezik sučelja" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Odaberite račun s kojim se želite prijaviti na novom uređaju." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Odaberite način obrade glasa" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Šalje sirovi zvuk mikrofona bez ikakve obrade." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Šalje vaš zvuk netaknut. Najbolje ako koristite vanjski audio softver." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Postavljena je pozicija na popisu članova za ulogu" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Postavljeno pomoću predmemorije {preset}. Odabir vrijednosti ovdje prebacuje na Prilagođeno." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Postavljena je glasovna regija na automatsku" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Postavi" @@ -31307,7 +31307,7 @@ msgstr "Podijeli s prijateljem" msgid "Share your screen" msgstr "Podijeli zaslon" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Dijelite zaslon u visokoj razlučivosti (1080p), Quad HD (1440p) ili izvornoj razlučivosti, do 60 FPS-a." @@ -31399,7 +31399,7 @@ msgstr "Kratki kodovi" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Prečac" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Značke prečaca" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Prikaži gumb za favorite" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Prikaži favorite u cijeloj aplikaciji" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Prijavi se putem preglednika" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Prijavi se sa svojom starom aplikacijom {productName}" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Želite li se odjaviti?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Prijavljivanje otkazano" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Podaci za prijavu" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Tijek prijave" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Prijava kao {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Prijavljuješ se na drugom uređaju?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Zvukovi" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Brzina" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Provjera pravopisa" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Mehanizam za provjeru pravopisa" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Označi animaciju zvjezdicom" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Označeni kanali" @@ -33140,7 +33140,7 @@ msgstr "Započeti glasovni poziv?" msgid "Start call" msgstr "Započni poziv" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Pokreni test kamere i konfiguriraj efekte" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Pokreni umanjeno" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Pokretanje" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Statični Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Indeksiranje je još u tijeku – provjerite ponovno za trenutak" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Nepomični Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Čekamo dopuštenje za snimanje zaslona" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Zaustavi test mikrofona" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Neko prestaje pratiti pokazivač, ali ga i dalje možete povlačiti i s njim stupati u interakciju." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Pretplata već postoji" @@ -33957,7 +33957,7 @@ msgstr "Prebaci na ugodan izgled" msgid "Switch to dense layout" msgstr "Prebaci na zgusnuti izgled" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Prebaci na izravan unos" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "Sustavne izravne poruke ne podržavaju glasovne pozive." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Format vremena sustava: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Traka sustava" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Instalacija kojom upravlja sustav" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Prečaci za cijeli sustav" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Prečace za cijeli sustav nije moguće postaviti." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Dodirnite za dodavanje bilješke" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz arhiva" @@ -34360,7 +34360,7 @@ msgstr "Značka na programskoj traci" msgid "Teleporting you to another voice region..." msgstr "Prebacujemo vas u drugu glasovnu regiju..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Predložak" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "Aplikacija {PRODUCT_NAME} na vašem drugom uređaju prikazuje je pod \"Prijava na drugom uređaju\". Unesite kod samo s uređaja kojim upravljate." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "Aplikacija {PRODUCT_NAME} nije bila prijavljena. Možete zatvoriti ovaj tab." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Zajednica koju tražite možda je izbrisana ili joj možda nemate pristup." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Ažuriranje za stolno računalo nije preuzeto. Pokušajte ponovno pomoću gumba za ažuriranje kada vaša veza bude stabilna." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Preuzeta datoteka sprema se na vaše računalo. Instalirajte je pomoću uobičajenog upravitelja paketa." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Ova kategorija već sadrži maksimalan broj od {maxChannelsPerCategory} kanala." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Ova je kategorija označena kao sadržaj za odrasle i može sadržavati materijal koji možda nije prikladan za neke korisnike." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Ovaj kanal ima upozorenje o sadržaju. Ažuriranja se mogu slati samo u kanale s upozorenjem o sadržaju ili starosnim ograničenjem." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Ovaj je kanal označen kao sadržaj za odrasle i može sadržavati materijal koji možda nije prikladan za neke korisnike." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Ova je zajednica puna" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Ova je zajednica označena kao sadržaj za odrasle i može sadržavati materijal koji možda nije prikladan za neke korisnike." @@ -35324,14 +35324,14 @@ msgstr "Ova zajednica više nije dostupna" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Ova je veza potvrđena." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Ova veza nije potvrđena." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Ovaj razgovor više nije dostupan." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Ova verzija za stolno računalo ne može instalirati ažuriranja unutar {productName}. Umjesto toga preuzmite najnoviji instalacijski program za stolno računalo." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Ovo radno okruženje ne nudi prečace za cijeli sustav. Pritisni za govor radi samo dok je {productName} u fokusu." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Ovo radno okruženje ne nudi prečace za cijeli sustav. Prečaci i dalje rade dok je {productName} u fokusu." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Ova razvojna verzija ne može se sama ažurirati. Preuzmite instalacijski program za stolna računala kako biste testirali tijek ažuriranja." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Ovu sliku nije moguće pročitati. Možda je oštećena." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Ovom instalacijom upravlja vaš sustav. Ažurirajte {productName} putem centra za softver ili upravitelja paketa." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Ova instanca već koristi korisnička imena za prijavu. To se više ne može promijeniti." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Ova instanca trenutačno dopušta dijeljenje zaslona do 720p pri 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Ova poveznica nije važeća. Ponovno otvorite poveznicu iz svoje e-pošte." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Ova kategorija za odrasle nije dostupna vašem računu." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Ova kategorija za odrasle nije dostupna vašem računu. <0>Saznajte više" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Ovaj kanal za odrasle nije dostupan vašem računu." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Ovaj kanal za odrasle nije dostupan vašem računu. <0>Saznajte više" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Ova zajednica za odrasle nije dostupna vašem računu." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Ova zajednica za odrasle nije dostupna vašem računu. <0>Saznajte više" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Ovi mediji za odrasle nisu dostupni vašem računu." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Ovi mediji za odrasle nisu dostupni vašem računu. <0>Saznajte više" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Ovaj plan nije dostupan. Obratite se podršci." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Ovaj plan nije dostupan. Obratite se administratorima ove instance." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Ova kupnja ne ispunjava uvjete za povrat novca." @@ -35837,7 +35853,7 @@ msgstr "Ova nit je zaključana. Samo moderatori mogu slati poruke." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Ovaj je korisnik ograničio svoj profil. Neki su detalji vidljivi samo prijateljima." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Ovaj korisnik nema uloge u ovoj zajednici." @@ -36050,14 +36066,14 @@ msgstr "Vrijeme" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Format vremena" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Odabir formata vremena" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Platforma naslovne trake" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Da biste promijenili tipke, idite na Postavke > Aplikacije > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Da biste promijenili tipke, idite na Postavke sustava > Tipkovnica > Prečaci > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Da biste promijenili tipke, otvorite postavke tipkovničkih prečaca u svojem radnom okruženju." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Alatna traka" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Prečaci u opisima alata" @@ -36864,7 +36880,7 @@ msgstr "Dvadeset četiri sata" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Dva klika" @@ -37263,7 +37279,7 @@ msgstr "Univerzalna zamjena. Najniža kvaliteta, ali radi svugdje." #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Nepoznato" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Otključajte prilagođene emojije u izravnim porukama uz {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Otključajte HD dijeljenje zaslona uz {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Do 720p pri 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Ažurirajte {productName} da biste koristili prečace za cijeli sustav na Waylandu." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Ažuriraj moj status" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Ažuriraj sada" @@ -38008,8 +38024,8 @@ msgstr "Prenesite datoteke i medije u ovaj kanal." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Učitaj ikonu" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Upotrijebi {name} na {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Koristi {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Koristi {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Koristi drugu metodu" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Koristi automatsko pomicanje" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Koristi karticu" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Koristi zadano" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Koristi izravan pristup ulaznim uređajima" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Upotrebljavaj naljepnice iz drugih zajednica." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Koristi regionalne postavke sustava za format vremena" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Koristite okvir prozora operativnog sustava" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Koristite provjeru pravopisa ugrađenu u vaš operativni sustav." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Koristi glasovnu aktivnost" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Upotrijebite provjeru pravopisa vašeg operativnog sustava kad je dostupna. Inače, upotrijebite ugrađene rječnike {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Prvo potvrdite svoju e-poštu" @@ -39244,7 +39260,7 @@ msgstr "Prikaži detalje" msgid "View devices that are signed in to your account" msgstr "Prikaz uređaja prijavljenih na vaš račun" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Prikaži cijeli profil" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Glasovni kanal" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Potvrda glasovnog kanala" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Glasovni kanal je pun" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Ponašanje pri pridruživanju glasovnom kanalu" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Sudionici glasovnog poziva" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Obrada glasa" @@ -39661,7 +39677,7 @@ msgstr "Uključivanje zvuka" msgid "Voice unmute" msgstr "Uključivanje mikrofona" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Glas koristi vaš sistemski izlazni uređaj u ovom pregledniku. Promijenite ga u sistemskim postavkama." @@ -39675,7 +39691,7 @@ msgstr "Poništeno" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Vrijeme čekanja između poruka. Članovi s dopuštenjem \"{bypassSlowmo msgid "Waiting for connection..." msgstr "Čekanje veze..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Čekanje pristupnog ključa…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Čekamo da..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Čekanje na radno okruženje…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Nismo mogli učitati ovu temu. Možda je oštećena ili nevažeća." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Promijenili smo veličinu i komprimirali ovu naljepnicu na 320x320 pikse msgid "We sent a code to {email}." msgstr "Poslali smo kôd na adresu {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Automatski ćemo popuniti {prefillEmail} kada se otvori prijava u pregledniku." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Pregledi web-stranica" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Dobro došli natrag" @@ -40321,7 +40337,7 @@ msgstr "Koje zajednice" msgid "Which conversations" msgstr "Koje razgovore" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Dok je uključena značajka pritisni za govor, vaš prečac upravlja mikrofonom, pa je gumb za isključivanje mikrofona onemogućen." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Upravo ste pritisnuli tipku Tab. Način rada tipkovnice sada je uključen, tako da se možete kretati kroz {productName} bez miša." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Zadržavate svoje pogodnosti do sljedećeg datuma obnove. Ponovno aktivirajte pretplatu prije toga kako biste zadržali povijest pretplate." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Odmah gubite sve pogodnosti {PREMIUM_PRODUCT_NAME} i vaša se povijest pretplate poništava. Ovo se ne može poništiti." @@ -41137,8 +41153,8 @@ msgstr "Potrebno vam je dopuštenje \"{permissionLabel}\" da biste ovdje koristi msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Potrebno vam je dopuštenje \"{permissionLabel}\" da biste ovdje koristili naljepnice iz drugih zajednica." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Morate preuzeti svoj račun prije nego što možete stvoriti zajednicu." @@ -41155,8 +41171,8 @@ msgstr "Morate preuzeti svoj račun da biste slali izravne poruke." msgid "You need to claim your account to send messages in this community." msgstr "Morate preuzeti svoj račun da biste slali poruke u ovoj zajednici." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Morate potvrditi svoju adresu e-pošte prije nego što možete stvoriti zajednicu." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 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}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Prikazivat ćete se izvan mreže" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Naplatit ćemo vam odmah. Preostalo poklon vrijeme dodaje se nakon plaćenog razdoblja, tako da se ništa neće izgubiti." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Već ste Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Prebrzo šaljete prijave. Pokušajte ponovno kasnije." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Prijavljeni ste" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Vaš je račun prenov da biste slali poruke u ovoj zajednici." msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Vaš zahtjev za račun čeka odobrenje. Možete se prijaviti nakon što ga administrator odobri." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Vaš račun zahtijeva višestruku provjeru autentičnosti, ali na ovom uređaju nisu postavljene podržane metode. Prijavite se na uređaju s aplikacijom za provjeru autentičnosti ili sigurnosnim ključem ili se obratite podršci." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Vaš račun zahtijeva višestruku provjeru autentičnosti, ali na ovom uređaju nisu postavljene podržane metode. Prijavite se na uređaju s aplikacijom za provjeru autentičnosti ili sigurnosnim ključem ili se obratite administratorima ove instance." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Vaši računi i postavke nisu promijenjeni niti izbrisani." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Vaša radnja nije mogla biti dovršena jer ju je naš sigurnosni sustav označio. Ako mislite da je ovo pogreška, obratite se podršci." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Vaša radnja nije mogla biti dovršena jer ju je naš sigurnosni sustav označio. Ako mislite da je ovo pogreška, obratite se administratorima ove instance." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Vaš postojeći komplet prestaje raditi čim se izradi novi." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Vaše radno okruženje nije postavilo prečace za cijeli sustav." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Vaše radno okruženje zadržava ove tipke za {productName}, pa ih druge aplikacije ne mogu koristiti." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Vaše radno okruženje zadržava ove tipke za {productName}, pa ih druge aplikacije ne mogu koristiti. Da biste istu tipku koristili u drugim aplikacijama, u nastavku uključite izravan pristup ulaznim uređajima." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Vaše radno okruženje pokreće ove prečace čak i kad {productName} nije u fokusu." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Vrijeme poklona je isteklo. Pretplatite se kako biste zadržali {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Vaše poklon vrijeme je sačuvano" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Vaš je poček istekao." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Vaša je instalacija oštećena i morate ponovno instalirati aplikaciju kako bi sve funkcije radile." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Vaša posljednja kupnja je izvan roka za povrat novca. Obratite se podršci za probleme s naplatom." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Vaša poruka nije mogla biti isporučena jer ju je naš sigurnosni sustav označio. Ako mislite da je ovo pogreška, obratite se podršci." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Vaša poruka nije mogla biti isporučena jer ju je naš sigurnosni sustav označio. Ako mislite da je ovo pogreška, obratite se administratorima ove instance." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Vaša poruka nije mogla biti isporučena. To je obično zato što ne dijelite zajednicu s primateljem ili primatelj prihvaća izravne poruke samo od prijatelja. Možda ćete također morati prilagoditi vlastite postavke privatnosti izravnih poruka u {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Vaša poruka nije mogla biti isporučena. Morate preuzeti svoj račun da biste slali izravne poruke." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Vaša poruka nije mogla biti isporučena. Morate preuzeti svoj račun da biste slali poruke." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Vaša prijava nije prošla. Pokušajte ponovno." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Tvoja spremljena kvaliteta od {savedResolution} pri {savedFrameRate} FPS zahtijeva {premiumProductName}, stoga dijeljenje koristi {resolution} pri {frameRate} FPS." diff --git a/fluxer_app/src/features/i18n/locales/hu/messages.po b/fluxer_app/src/features/i18n/locales/hu/messages.po index a42f5dffc..dbb4f1488 100644 --- a/fluxer_app/src/features/i18n/locales/hu/messages.po +++ b/fluxer_app/src/features/i18n/locales/hu/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "A(z) {domain} a Fluxernél újabb verziót futtat, mint ez az alkalmazás. Frissítse a Fluxert, majd próbálkozzon újra." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "Időeltérés hozzád képest: +{duration}" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "Időeltérés hozzád képest: −{duration}" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} képkocka/mp" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# órával ezelőtt} other {# órával ezelőtt}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# óra} other {# óra}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# óra} other {# óra}} {minutes, plural, one {# perc} other {# perc}}" @@ -1602,7 +1602,7 @@ msgstr "A(z) {label} fájl túl nagy. Válassz egy {maxSizeLabel} méretnél kis msgid "{label} images cannot be animated. Use a static image." msgstr "A(z) {label} képek nem lehetnek animáltak. Használj statikus képet." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Zászló: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# perccel ezelőtt} other {# perccel ezelőtt}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# perc} other {# perc}}" @@ -1803,15 +1803,15 @@ msgstr "A(z) {PRODUCT_NAME} új hangkimeneti eszközt talált <0>{deviceName}{PRODUCT_NAME} community guidelines." msgstr "Közösség létrehozásával vállalod a(z) <0>{PRODUCT_NAME} közösségi irányelvek betartását és betartatását." @@ -6658,7 +6658,7 @@ msgstr "Hívások" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Kamera előnézete" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Kamera minősége" @@ -6809,8 +6809,8 @@ msgstr "Ide nem tölthetsz fel fájlokat" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Ütemezett váltás visszavonása" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Előfizetés lemondása" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Előfizetés lemondása?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Kategória" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "A kategória tartalmára vonatkozó figyelmeztetés" @@ -7131,15 +7131,15 @@ msgstr "Csoportbeli becenév módosítása" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Ikon módosítása" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Módosítás a rendszerbeállításokban" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Csatornajelvények" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "A csatorna tartalmára vonatkozó figyelmeztetés" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Csevegési billentyűparancsok" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Újraellenőrzés" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Hozzáférés ellenőrzése…" #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "A képernyőfelvétel engedélyének ellenőrzése..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "A fizetés nem elérhető" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Válaszd ki, hogyan szeretnéd kifizetni ezt az előfizetést." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Fizetési mód kiválasztása" @@ -8174,7 +8174,7 @@ msgstr "Válaszd ki az alapértelmezett beállításaidat" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Válaszd ki a példányodat" @@ -8216,8 +8216,8 @@ msgstr "Ajándék beváltása" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Fejezd be a fiókod regisztrációját" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Közösségi jelvények" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Közösségi tartalomra vonatkozó figyelmeztetés" @@ -9089,8 +9089,8 @@ msgstr "Közösségi DM" msgid "Community filter" msgstr "Közösségi szűrő" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Közösség ikonja" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Közösség frissítve" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Közösségi hang" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Fizetés befejezése" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Végezd el a felnőtt tartalomhoz szükséges ellenőrzést, hogy megtekinthesd a felnőtt médiatartalmakat." @@ -9409,7 +9409,7 @@ msgstr "Megerősítés" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Megerősítés hangcsatornákhoz való csatlakozás előtt" @@ -9457,7 +9457,7 @@ msgstr "Erősítsd meg a nyilatkozatot a bejelentés elküldéséhez." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Hangcsatornához való csatlakozás megerősítése" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Megerősítés" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Megerősítés vagy dupla kattintás a közösségi hangcsatornákhoz való csatlakozáshoz." @@ -9476,7 +9476,7 @@ msgstr "Megerősítés vagy dupla kattintás a közösségi hangcsatornákhoz va msgid "Conflicts with {conflictLabel}" msgstr "Ütközik a(z) {conflictLabel} billentyűkombinációval" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Csatlakoztass egy kamerát, és próbáld újra." @@ -9489,7 +9489,7 @@ msgstr "Csatlakoztass egy kamerát vagy virtuális rögzítőeszközt, majd pró msgid "Connect a display, then try again." msgstr "Csatlakoztass egy kijelzőt, majd próbáld újra." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Csatlakoztass egy mikrofont, és próbáld újra." @@ -9633,7 +9633,7 @@ msgstr "Kapcsolat: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Kapcsolat" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Tartalom blokkolva" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Folytatás a böngészőben" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Tovább a fizetéshez" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Folytatás jelszókulccsal" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Meghívó URL-jének másolása" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Sorok másolása" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Sorok másolása ehhez: hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Sorok másolása ehhez: hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Nem sikerült módosítani az árat" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Nem sikerült frissítéseket keresni" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Nem sikerült törölni az üzeneteket" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Nem sikerült letölteni az asztali frissítést" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Nem sikerült elindítani a fizetést" @@ -10932,7 +10932,7 @@ msgstr "Létrehozás és megosztás" msgid "Create a community" msgstr "Közösség létrehozása" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Hozz létre egy közösséget, ahol az ismerőseiddel cseveghetsz." @@ -11365,7 +11365,7 @@ msgstr "Egyéni" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "A moderátorok kikapcsolták a hangot" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB csomag" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Asztali alkalmazás" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Az asztali alkalmazás naprakész" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Elérhető a(z) {version} asztali frissítés. Válassz Linux-csomagot." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Asztali frissítés érhető el" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Asztali frissítés érhető el. Válassz Linux-csomagot." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Elérhető a(z) {version} asztali verzió. Töltsd le a telepítőt, majd futtasd a(z) {productName} frissítéséhez." @@ -12613,7 +12613,7 @@ msgstr "Részletek: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Észlelés gépelés közben" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Fejlesztői eszközök nem érhetők el" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Fejlesztői build" @@ -13455,8 +13455,8 @@ msgstr "Letöltés" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "{productName} letöltése" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification fájlt, és helyezd el a <1>.well-known mappádba, hogy érvényesíteni tudjuk a domaint." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "App letöltése" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Alkalmazás letöltése gomb a sávban" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Letöltés gomb" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Asztali alkalmazás letöltése" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Kép letöltése" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Telepítő letöltése" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Média letöltése" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Csomag letöltése" @@ -13655,11 +13655,11 @@ msgstr "Elem eldobása" msgid "Drop to upload background" msgstr "Húzd ide a hátteret a feltöltéshez" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "A(z) {regionName} régióban érvényes, felnőtt tartalomra vonatkozó törvények miatt a felnőtt tartalom le van tiltva, amíg el nem végzed a hozzáféréshez szükséges ellenőrzést." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "A(z) {regionName} régióban érvényes, felnőtt tartalomra vonatkozó törvények miatt innen nem érhető el felnőtt tartalom. A hozzáféréshez szükséges ellenőrzés csak az Egyesült Királyságban érhető el." @@ -13673,7 +13673,7 @@ msgstr "A(z) {regionName} régióban érvényes, felnőtt tartalomra vonatkozó msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "A(z) {regionName} régióban érvényes, felnőtt tartalomra vonatkozó törvények miatt ez a tartalom innen nem érhető el. A hozzáféréshez szükséges ellenőrzés csak az Egyesült Királyságban érhető el." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "A(z) {regionName} régióban érvényes, felnőtt tartalomra vonatkozó törvények miatt ez a média nem érhető el a jelenlegi régiódból." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Minden kód egyszer használható az automatikus hitelesítő alkalmazásod helyett." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Egy billentyűhöz csak egy rendszerszintű billentyűparancs tartozhat." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Engedélyezés" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "{permissionName} jogosultság engedélyezése" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Billentyűparancs engedélyezése" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Helyesírás-ellenőrzés engedélyezése" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Türelmi időszak befejezése most" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Türelmi időszak befejezése" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Befejezed most a türelmi időszakot?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "A folytatáshoz add meg a biztonsági kulcsod PIN-kódját." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Írd be ezt a kódot a böngészőbe" @@ -14845,7 +14845,7 @@ msgstr "Írd be ezt a kódot a böngészőbe" msgid "Enter this code in your browser to complete sign-in." msgstr "Írd be ezt a kódot a böngésződbe a bejelentkezés befejezéséhez." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Írd be ezt a kódot a régi {PRODUCT_NAME} alkalmazásodba a bejelentkezés befejezéséhez." @@ -14916,7 +14916,7 @@ msgstr "Teljes rendszerhang" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Belépési hang" @@ -15026,7 +15026,7 @@ msgstr "Este" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Kiegyenlíti a mikrofonod hangerejét, hogy ne legyél túl halk." @@ -15249,7 +15249,7 @@ msgstr "Lejárati idő: {earliest} és {latest} között" msgid "Expires in {remaining}s" msgstr "Lejár {remaining} mp múlva" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Lejár: {remainingSeconds} mp múlva" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Csatorna hozzáadása a kedvencekhez" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Kedvenc csatornák" @@ -16243,7 +16243,7 @@ msgstr "{threeHours} órára" msgid "For {twentyFourHours} hours" msgstr "{twentyFourHours} órára" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Csak brit szemeknek..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Nekem" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "A „Nyomva tartva némítás” funkcióhoz egyetlen billentyűt használj Ctrl, Alt vagy Shift nélkül. Billentyűkombináció esetén először a fő billentyűt engedd fel, különben a mikrofon némítva maradhat." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Az adásgombhoz egyetlen billentyűt használj Ctrl, Alt vagy Shift nélkül. Billentyűkombináció esetén először a fő billentyűt engedd fel, különben a mikrofon bekapcsolva maradhat." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Ehhez a billentyűparancshoz egyetlen billentyűt használj Ctrl, Alt vagy Shift nélkül. Billentyűkombináció esetén először a fő billentyűt engedd fel, különben a billentyűparancs aktív maradhat." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "A „Beszédérzékelés elsőbbséggel” funkcióhoz egyetlen billentyűt használj Ctrl, Alt vagy Shift nélkül. Billentyűkombináció esetén először a fő billentyűt engedd fel, különben az elsőbbség bekapcsolva maradhat." @@ -16460,14 +16460,14 @@ msgstr "Keret" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Képkockasebesség" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "A 30 FPS feletti képkockasebességhez {premiumProductName} szükséges" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Értesítést kapsz, ha üzeneteket fogadsz. Lehet, hogy engedélyezned kell az értesítéseket a böngészőbeállításaidban. A csatornánkénti/közösségenkénti vezérléshez kattints jobb gombbal egy közösség ikonjára, és nyisd meg az értesítési beállításokat." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Töltsd le a(z) {productName} asztali alkalmazást a rendszerszintű adásgomb és néhány további extra használatához." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Töltsd le az asztali alkalmazást" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "A folytatáshoz térj vissza a(z) {productName} alkalmazásba." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Vissza a(z) {PRODUCT_NAME} alkalmazásba. A bejelentkezés magától befejeződik." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Vissza a(z) {PRODUCT_NAME} alkalmazásba. Bezárhatod ezt a lapot." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Súgó" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Súgó gomb" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Súgóközpont" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Súgóközpont gomb a sávban" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Segíts a(z) {PRODUCT_NAME} fordításában a saját nyelvedre itt: <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Csevegés elrejtése" msgid "Hide community owner crown" msgstr "Közösségtulajdonosi korona elrejtése" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Letöltés gomb elrejtése" @@ -17860,7 +17860,7 @@ msgstr "Kedvencek elrejtése" msgid "Hide guidelines" msgstr "Útmutató elrejtése" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Súgóközpont gomb elrejtése" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Csatlakozási üzenetek elrejtése" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Billentyűzetsúgók elrejtése" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Hivatkozás" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "A Hyprlandben nincs billentyűparancs-párbeszédablak. Add hozzá a Hyprland-verziódnak megfelelő sorokat a Hyprland konfigurációjához, és cseréld le a KEY szót a kívánt billentyűre." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "A Hyprlandben nincs billentyűparancs-párbeszédablak. A billentyűket a Hyprland konfigurációjában rendelheted hozzá." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (Hyprland 0.55 előtt)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 és újabb)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Jóhiszeműen kijelentem, hogy az ebben a bejelentésben szereplő információk és állítások pontosak és teljesek." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Értem" @@ -18598,11 +18598,11 @@ msgstr "Importálás… {processedCount, number} / {totalCount, number} feldolgo msgid "In" msgstr "Ebben" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "„Operációs rendszer” módban a fent felsorolt szótárak tájékoztató jellegűek. A(z) {PRODUCT_NAME} átadja ezeket a nyelvi címkéket az operációs rendszer helyesírás-ellenőrzőjének, ha támogatott. Azokat a címkéket, amelyeket nem ismer fel, figyelmen kívül hagyja." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "Böngészőben az adásgomb csak akkor működik, ha a(z) {PRODUCT_NAME} lap fókuszban van. Telepítsd az asztali alkalmazást a rendszerszintű adásgomb használatához." @@ -18650,7 +18650,7 @@ msgstr "Hangcsevegésben" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Alkalmazáson belüli szótárak" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Bevitel" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Bemenet és kimenet" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Emoji beszúrása" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Telepítsd a(z) {productName} alkalmazást a teljes forrásválasztó és a gördülékenyebb képernyőmegosztási vezérlők használatához." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Telepítsd az új alkalmazást" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Telepítve" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Telepített verzió: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Felület" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Felület nyelve" @@ -19467,13 +19467,13 @@ msgstr "Csatlakozás" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Csatlakozás a(z) {communityName} közösséghez" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Csatlakozz a(z) {communityName} közösséghez, hogy beszélgethess a csapattal és naprakész maradj." @@ -19561,7 +19561,7 @@ msgstr "Csatlakozás videóhíváshoz" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Csatlakozás a hangcsevegéshez" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Tartsd meg az ingyenes és a prémium szinteket. Testre szabhatod a szinteket, prémiumot adhatsz el a Stripe-on keresztül, vagy később ajándékkódokat osztogathatsz az admin panelből." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Türelmi időszak megtartása" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Futtatás folytatása" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Előfizetés megtartása" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Őrizd meg ezt az oldalt biztonságos helyen. Ha elfelejtenéd a jelszavadat, ezzel léphetsz be újra a fiókodba. Bárki, aki birtokolja ezt a visszaállítási kulcsot, visszaállíthatja a jelszavadat, ezért soha ne oszd meg senkivel." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "A gomb elengedése után is tartsa aktívnak a jelet egy rövid ideig." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Billentyűzet" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Nem sikerült elindítani a billentyűzet-hozzáférést. A billentyűparancsok csak akkor működnek, ha a(z) {productName} fókuszban van." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Billentyűzetes mód" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Billentyűparancsok jelzése a buboréksúgókban" @@ -19923,7 +19923,7 @@ msgstr "Nyelvi beállítások" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Nyelvek" @@ -19971,7 +19971,7 @@ msgstr "Késleltetési grafikon" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Ismét engedélyezte, hogy a tag hallja a többieket ebben a közösségben" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Lehetővé teszi, hogy a(z) {productName} közvetlenül olvassa a billentyűzetedet. Kapcsold ki, ha inkább a grafikus környezeteden keresztül állítanád be a billentyűparancsokat." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Lehetővé teszi, hogy a(z) {productName} közvetlenül olvassa a billentyűzetedet. A rendszered ezt már engedélyezi." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Linux alapértelmezett" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Linux-csomag" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Helyi fájlok" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Helyi idő" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Megjelenés és érzet" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Úgy tűnik, ezt használod: {0}. Ha erre a(z) {PRODUCT_NAME} hangfeldolgozása is rákerül, az hangerő-ingadozást vagy torzítást okozhat. A közvetlen bemenet változtatás nélkül továbbítja a hangodat." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Csoporttulajdonossá tétel" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Győződj meg róla, hogy ez a kód megegyezik a(z) {PRODUCT_NAME} alkalmazásban lévővel." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Előfizetés kezelése" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Asztali alkalmazás manuális frissítése" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Fő hangerő" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Felnőtt tartalmú kategória" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Felnőtt tartalmú csatorna" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Felnőtt tartalmú közösség" @@ -21194,7 +21194,7 @@ msgstr "Felnőtt tartalomhoz való hozzáférés ellenőrzése elküldve" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "A felnőtt tartalomhoz való hozzáférés ellenőrzése jelenleg csak az Egyesült Királyságban érhető el." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Tag szerepkörei frissítve" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Tag ekkortól" @@ -22013,7 +22013,7 @@ msgstr "Mikrofon" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Mikrofonteszt" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Neko macska, amely követi az egérmutatót" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Új felhasználók jelenleg nem tudnak csatlakozni. Fiókot továbbra is létrehozhatsz, vagy bejelentkezhetsz, majd később újra megnyithatod ezt a linket." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Új verzió" @@ -23465,7 +23465,7 @@ msgstr "Nincsenek mentett üzenetek" msgid "No bot banner" msgstr "A botnak nincs borítóképe" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Nem található kamera" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Nincs leírás." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Nem érhető el asztali frissítés." @@ -23684,7 +23684,7 @@ msgstr "Nincs találat" msgid "No mentions yet" msgstr "Még nincsenek említések" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Nem található mikrofon" @@ -23731,7 +23731,7 @@ msgstr "Nincs a keresésnek megfelelő függőben lévő ismerősjelölés" msgid "No permissions found" msgstr "Nem található jogosultság" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Még nincsenek személyes szavak." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Nem engedélyezett" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Nincs hozzárendelve" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Kattintásra" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "A másik eszközödön jelentkezz be a(z) {signInAddress} címen, és add meg ezt a kódot, amikor a rendszer kéri." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Nyissa meg a(z) {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Nyissa meg a {PRODUCT_NAME} alkalmazást" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Fiókváltó megnyitása" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Speciális médiabeállítások megnyitása" @@ -24788,7 +24788,7 @@ msgstr "Borítókép beállításainak megnyitása" msgid "Open bookmarks" msgstr "Mentett üzenetek megnyitása" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Böngésző megnyitása" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Dátumválasztó megnyitása" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Asztali letöltések megnyitása" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Beállítások megnyitása" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Szoftverközpont megnyitása" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Rendszerbeállítások megnyitása" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Nyisd meg a Rendszerbeállítások > Adatvédelem és biztonság > Képernyőrögzítés menüpontot, majd engedélyezd a(z) {productName} hozzáférését." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Sablon JSON-jának megnyitása" @@ -25089,7 +25089,7 @@ msgstr "Sablon JSON-jának megnyitása" msgid "Open the context menu" msgstr "A helyi menü megnyitása" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Nyisd meg az alábbi linket a böngésződben, majd másold ki a teljes JSON-választ, és illeszd be a mezőbe." @@ -25167,11 +25167,11 @@ msgstr "Hang és videó beállítások megnyitása" msgid "Open with {accountName} on {instanceName}" msgstr "Megnyitás ezzel: {accountName} itt: {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Nyisd meg a böngésződet, jelentkezz be, majd add meg az alábbi kódot a fiókod összekapcsolásához." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Nyisd meg a régi {PRODUCT_NAME} alkalmazásodat, válaszd az „Új eszköz csatolása” lehetőséget, majd add meg az alábbi kódot." @@ -25199,7 +25199,7 @@ msgstr "Megnyitja a Tagok oldalt. Nyomj szóközt vagy entert a megnyitáshoz." #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Operációs rendszer" @@ -25629,7 +25629,7 @@ msgstr "Elmúlt 7 nap" msgid "Paste" msgstr "Beillesztés" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Illeszd be a(z) {theOtherPlatform} egyik sablonjának URL-jét, hogy a szerkezetét új közösségbe importáld." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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." @@ -25933,7 +25933,7 @@ msgstr "A(z) {0} alkalmazás jogosultságai" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Személyes szótár" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Válassz legalább egy címkét ehhez a bejegyzéshez." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Válassz egy vagy több szótárat. A kiválasztott szótárak bármelyikében szereplő szavakat elfogadjuk, ami többnyelvű beszélgetéseknél hasznos." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Az árak még töltődnek." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Vásárlások nem elérhetők" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Adásgomb billentyűje" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Adásgomb" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Adásgomb (korlátozott)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Az adásgombhoz még nincs rendszerszintű billentyű rendelve. Beállításához nyisd meg a Beállítások > Alkalmazások > {productName} menüpontot." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Az adásgombhoz még nincs rendszerszintű billentyű rendelve. Beállításához nyisd meg a Rendszerbeállítások > Billentyűzet > Gyorsbillentyűk > {productName} menüpontot." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Az adásgombhoz még nincs rendszerszintű billentyű rendelve. Beállításához nyisd meg a grafikus környezeted billentyűparancs-beállításait." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Közvetlen bemenet használatakor az adásgomb nem működik. A használatához válts Beszédkiemelés vagy Egyéni módra." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Az adásgomb be van kapcsolva. A beszédhez tartsd lenyomva az adásgomb billentyűjét." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Az adásgomb csak akkor működik, ha a(z) {productName} fókuszban van, mert a grafikus környezeted nem állította be a rendszerszintű billentyűparancsokat." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "A lebegő üzenetküldés csak akkor működik, ha a(z) {productName} van fókuszban, amíg a(z) {permissionName} engedélyezve nincs." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Amíg nem állítod be a rendszerszintű billentyűparancsokat, az adásgomb csak akkor működik, ha a(z) {productName} fókuszban van." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Az adásgomb csak akkor működik, ha a böngészőlap fókuszban van." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Az adásgomb a(z) {productName} alkalmazásban beállított billentyűt fogja használni. Előbb állíts be egyet, különben a mikrofon hangaktivitás alapján működik." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Az adásgomb nem oldja fel a mikrofon némítását, amíg a bejövő hang ki van kapcsolva. A beszédhez kapcsold vissza a hangot." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Az adásgomb a(z) {productName} alkalmazáson kívül csak akkor működik, ha hozzárendeled a Hyprland konfigurációjában." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Az adásgomb a(z) {productName} alkalmazáson kívül csak akkor működik, ha hozzárendeled a Hyprland konfigurációjában. Add hozzá a Hyprland-verziódnak megfelelő sort, és cseréld le a KEY szót a kívánt billentyűre." @@ -27533,12 +27533,12 @@ msgstr "A címzettek a következő helyre kerülnek: {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Ajánlott" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Ajánlott. Megtisztítja a mikrofon hangját az érthető beszédhez." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Az újracsatlakozás sikeres. Ha folytatni szeretnéd az előző streamet, válassz újra egy képernyőt." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Újracsatlakozás a grafikus környezethez…" @@ -27836,7 +27836,7 @@ msgstr "Újraindítás az alkalmazáshoz" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Késleltetés felengedéskor" @@ -27853,7 +27853,7 @@ msgstr "Releváns" msgid "Reload" msgstr "Újratöltés" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Töltsd újra a(z) {PRODUCT_NAME} alkalmazást a motorváltás teljes érvényesítéséhez. Az alkalmazáson belüli és a rendszer helyesírás-ellenőrzője közötti váltás megköveteli a megjelenítő újratöltését, mert az Electron futás közben nem tud szolgáltatót váltani." @@ -27872,7 +27872,7 @@ msgstr "Töltsd újra a(z) {productName} alkalmazást a(z) {version} webes friss msgid "Reload app" msgstr "Alkalmazás újratöltése" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Újratöltés most" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Eltávolítás" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "„{word}” eltávolítása a szótárból" @@ -28086,8 +28086,8 @@ msgstr "Eltávolítás az URL-en alapuló GIF-kedvencek közül" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Ikon eltávolítása" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Sorok száma oldalanként" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM csomag" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Biztonság" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Ugyanannyi az idő, mint nálad" @@ -29770,7 +29770,7 @@ msgstr "Képernyőfelvétel" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Képernyőfelvételi engedély szükséges" @@ -29858,7 +29858,7 @@ msgstr "Képernyőmegosztás adatvédelme" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Képernyőmegosztás minősége" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Nyelvkód keresése…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Nyelvek keresése…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "GIF kiválasztása {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Felület nyelvének kiválasztása" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Válaszd ki a fiókot, amellyel be szeretnél jelentkezni az új eszközödön." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Hangfeldolgozási mód kiválasztása" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Nyers mikrofonhang küldése feldolgozás nélkül." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Érintetlenül küldi a hangot. Akkor a legjobb, ha külső audioszoftvert használsz." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Beállította a szerepkör taglistabeli pozícióját" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "A(z) {preset} előbeállítás állította be. Az itt kiválasztott értékre váltás egyénire kapcsol." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "A hangcsatorna régiójának automatikusra állítása" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Beállítás" @@ -31307,7 +31307,7 @@ msgstr "Megosztás egy ismerőssel" msgid "Share your screen" msgstr "Képernyő megosztása" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Képernyőmegosztás nagy felbontásban (1080p), QHD (1440p) vagy natív forrásfelbontásban, akár 60 FPS-sel." @@ -31399,7 +31399,7 @@ msgstr "Rövidkódok" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Billentyűparancs" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Billentyűparancs-jelvények" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Kedvenc gomb megjelenítése" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "A kedvencek megjelenítése az alkalmazásban" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Böngészővel jelentkezzen be" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Jelentkezz be a régi {productName} alkalmazásoddal" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Kijelentkezés?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Bejelentkezés megszakítva" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Bejelentkezési adatok" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Bejelentkezési folyamat" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Bejelentkezés ekként: {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Bejelentkezel egy másik eszközön?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Hangok" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Sebesség" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Helyesírás-ellenőrzés" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Helyesírás-ellenőrző motor" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Animáció kedvencnek jelölése" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Csillagozott csatornák" @@ -33140,7 +33140,7 @@ msgstr "Hanghívás indítása?" msgid "Start call" msgstr "Hívás indítása" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Kamera tesztelése és effektek beállítása" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Indítás kis méretben" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Indítás" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Statikus Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Még indexelés alatt – nézz vissza egy pillanat múlva" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Mozdulatlan Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Még várunk a képernyőfelvétel engedélyezésére" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Mikrofonteszt leállítása" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Állítsd le Neko kurzorkövetését úgy, hogy továbbra is húzható és interaktív maradjon." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Az előfizetés már létezik" @@ -33957,7 +33957,7 @@ msgstr "Átváltás kényelmes elrendezésre" msgid "Switch to dense layout" msgstr "Váltás sűrű elrendezésre" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Váltás közvetlen bemenetre" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "A rendszerrel folytatott közvetlen beszélgetésben nem indítható hanghívás." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Rendszer időformátuma: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Értesítési terület" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Rendszer által kezelt telepítés" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Rendszerszintű billentyűparancsok" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Nem sikerült beállítani a rendszerszintű billentyűparancsokat." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Koppints jegyzet hozzáadásához" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz archívum" @@ -34360,7 +34360,7 @@ msgstr "Tálcajelvény" msgid "Teleporting you to another voice region..." msgstr "Áthelyezés egy másik hangrégióba…" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Sablon" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "A(z) {PRODUCT_NAME} alkalmazás a másik eszközödön a „Bejelentkezés másik eszközön” alatt jelenik meg. Csak olyan kódot adj meg, amelyik egy általad felügyelt eszközről származik." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "A(z) {PRODUCT_NAME} alkalmazás nem jelentkezett be. Bezárhatod ezt a lapot." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Lehet, hogy a keresett közösséget törölték, vagy nincs hozzáférésed." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Nem sikerült letölteni az asztali frissítést. Próbáld újra a frissítés gombbal, ha stabil a kapcsolatod." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "A letöltött fájl a számítógépedre mentve. Telepítsd a szokásos csomagkezelőddel." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Ez a kategória már tartalmazza a maximális {maxChannelsPerCategory} csatornát." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Ez a kategória felnőtt tartalommal van megjelölve, és olyan anyagokat tartalmazhat, amelyek egyes felhasználók számára nem megfelelőek." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Ez a csatorna tartalmaz egy tartalomra vonatkozó figyelmeztetést. Frissítések csak tartalomra vonatkozó figyelmeztetéssel vagy korhatáros besorolással rendelkező csatornákra küldhetők." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Ez a csatorna felnőtt tartalommal van megjelölve, és olyan anyagokat tartalmazhat, amelyek egyes felhasználók számára nem megfelelőek." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Ez a közösség megtelt" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Ez a közösség felnőtt tartalomként van megjelölve, és olyan anyagokat tartalmazhat, amelyek egyes felhasználók számára nem megfelelőek." @@ -35324,14 +35324,14 @@ msgstr "Ez a közösség már nem elérhető" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Ez a kapcsolat ellenőrizve lett." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Ez a kapcsolat még nincs ellenőrizve." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Ez a beszélgetés már nem elérhető." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Ebben az asztali kiadásban a(z) {productName} alkalmazáson belül nem telepíthetők frissítések. Töltsd le a legújabb asztali telepítőt." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Ez a grafikus környezet nem támogatja a rendszerszintű billentyűparancsokat. Az adásgomb csak akkor működik, ha a(z) {productName} fókuszban van." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Ez a grafikus környezet nem támogatja a rendszerszintű billentyűparancsokat. A billentyűparancsok továbbra is működnek, amíg a(z) {productName} fókuszban van." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Ez a fejlesztői kiadás nem tudja frissíteni magát. Tölts le egy asztali telepítőt a frissítési folyamat kipróbálásához." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "A kép nem olvasható be. Lehet, hogy sérült." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Ezt a telepítést a rendszered kezeli. Frissítsd a(z) {productName} alkalmazást a szoftverközpontból vagy a csomagkezelőből." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Ez az instance már felhasználóneveket használ a bejelentkezéshez. Ezen már nem lehet változtatni." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Ez a példány jelenleg legfeljebb 720p felbontású, 30 FPS-es képernyőmegosztást engedélyez." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Ez a link nem érvényes. Nyissa meg újra a linket az e-mailből." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Ez a felnőtt tartalmú kategória nem érhető el a fiókod számára." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Ez a felnőtt tartalmú kategória nem érhető el a fiókod számára. <0>További információ" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Ez a felnőtt tartalmú csatorna nem érhető el a fiókod számára." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Ez a felnőtt tartalmú csatorna nem érhető el a fiókod számára. <0>Tudj meg többet" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Ez a felnőtt tartalmú közösség nem érhető el a fiókod számára." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Ez a felnőtt tartalmú közösség nem érhető el a fiókod számára. <0>További információ" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Ez a felnőtt médiatartalom nem érhető el a fiókod számára." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Ez a felnőtt médiatartalom nem érhető el a fiókod számára. <0>További információ" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Ez a csomag nem elérhető. Vedd fel a kapcsolatot az ügyfélszolgálattal." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Ez a csomag nem elérhető. Vedd fel a kapcsolatot ennek a példánynak az adminisztrátoraival." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Ez a vásárlás nem jogosult visszatérítésre." @@ -35837,7 +35853,7 @@ msgstr "Ez a szál lezárva. Csak moderátorok küldhetnek üzeneteket." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Ez a felhasználó korlátozta a profilját. Néhány adat rejtve van azok elől, akik nem az ismerősei." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Ennek a felhasználónak nincsenek szerepkörei ebben a közösségben." @@ -36050,14 +36066,14 @@ msgstr "Idő" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Időformátum" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Időformátum kiválasztása" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Címsor platform" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "A billentyűk módosításához nyisd meg a Beállítások > Alkalmazások > {productName} menüpontot." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "A billentyűk módosításához nyisd meg a Rendszerbeállítások > Billentyűzet > Gyorsbillentyűk > {productName} menüpontot." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "A billentyűk módosításához nyisd meg a grafikus környezeted billentyűparancs-beállításait." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Eszköztár" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Billentyűparancsok a buboréksúgókban" @@ -36864,7 +36880,7 @@ msgstr "Huszonnégy órás" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Két kattintás" @@ -37263,7 +37279,7 @@ msgstr "Univerzális tartalék. Legalacsonyabb minőség, de mindenhol működik #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Ismeretlen" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Egyéni emojik feloldása közvetlen beszélgetésekben a(z) {premiumProductName} csomaggal" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "HD-képernyőmegosztás feloldása a(z) {premiumProductName} csomaggal" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Akár 720p felbontás 30 FPS sebességgel" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Frissítsd a(z) {productName} alkalmazást, hogy Waylanden is használhasd a rendszerszintű billentyűparancsokat." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Állapotom frissítése" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Frissítés most" @@ -38008,8 +38024,8 @@ msgstr "Fájlok és média feltöltése ebben a csatornában." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Ikon feltöltése" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Használja a(z) {name} szolgáltatást a(z) {domain} címen" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "{pixPaymentMethod} használata" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "{upiPaymentMethod} használata" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Másik fizetési mód használata" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Automatikus görgetés használata" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Kártya használata" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Alapértelmezett használata" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Közvetlen bemeneti eszközhozzáférés használata" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Matricák használata más közösségekből." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Rendszer területi beállításainak használata az időformátumhoz" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Az operációs rendszer ablakkeretének használata" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Használd az operációs rendszeredbe beépített helyesírás-ellenőrzőt." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Beszédérzékelés használata" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Használd az operációs rendszered helyesírás-ellenőrzőjét, ha elérhető. Ellenkező esetben használd a(z) {productName} beépített szótárait." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Előbb erősítsd meg az e-mail-címedet" @@ -39244,7 +39260,7 @@ msgstr "Részletek megtekintése" msgid "View devices that are signed in to your account" msgstr "A fiókodba bejelentkezett eszközök megtekintése" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Teljes profil megtekintése" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Hangcsatorna" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Hangcsatorna megerősítése" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "A hangcsatorna megtelt" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Csatlakozási viselkedés hangcsatornán" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Hanghívás résztvevői" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Hangfeldolgozás" @@ -39661,7 +39677,7 @@ msgstr "Bejövő hang visszakapcsolása" msgid "Voice unmute" msgstr "Mikrofon némításának feloldása" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "A hang a böngészőben az alapértelmezett rendszerkimeneti eszközödet használja. Módosítsd a rendszerbeállításaidban." @@ -39675,7 +39691,7 @@ msgstr "Érvénytelenítve" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Várakozás az üzenetek között. A(z) „{bypassSlowmodePermissionLabe msgid "Waiting for connection..." msgstr "Kapcsolódásra vár..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Várakozás a jelszókulcsra…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Rád vár, hogy..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Várakozás a grafikus környezetre…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Nem tudtuk beolvasni ezt a témát. Lehet, hogy sérült vagy érvénytelen." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Átméreteztük és tömörítettük ezt a matricát 320x320 képpontra, msgid "We sent a code to {email}." msgstr "Kódot küldtünk a következő címre: {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Előre kitöltjük a(z) {prefillEmail} címet, amint megnyílik a böngészős bejelentkezés." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Webhelyelőnézetek" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Üdv újra" @@ -40321,7 +40337,7 @@ msgstr "Mely közösségek" msgid "Which conversations" msgstr "Mely beszélgetések" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Amíg az adásgomb be van kapcsolva, a billentyűparancs vezérli a mikrofonodat, ezért a némítás gomb nem használható." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Megnyomtad a Tab billentyűt. Bekapcsolt a billentyűzetes mód, így egér nélkül is navigálhatsz a(z) {productName} alkalmazásban." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Az előnyöket a következő megújítási dátumig megtartod. Ha addig újraaktiválod az előfizetést, megőrzöd az előfizetői előzményeidet." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Azonnal elveszíted a(z) {PREMIUM_PRODUCT_NAME} összes előnyét, és az előfizetői előzményeid lenullázódnak. Ez nem vonható vissza." @@ -41137,8 +41153,8 @@ msgstr "Más közösségek emojijainak itteni használatához a(z) „{permissio msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Más közösségek matricáinak itteni használatához a(z) „{permissionLabel}” jogosultságra van szükséged." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Közösség létrehozása előtt be kell fejezned a fiókod regisztrációját." @@ -41155,8 +41171,8 @@ msgstr "Közvetlen üzenetek küldéséhez be kell fejezned a fiókod regisztrá msgid "You need to claim your account to send messages in this community." msgstr "Ahhoz, hogy ebben a közösségben üzeneteket küldhess, be kell fejezned a fiókod regisztrációját." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Közösség létrehozása előtt meg kell erősítened az e-mail-címedet." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 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." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Offline állapotban fogsz megjelenni" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Most terhelünk. A fennmaradó ajándékidő a fizetett időszak után kerül hozzáadásra, így nem vész el." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Már Visionary vagy" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Túl gyorsan küldöd a bejelentéseket. Próbáld újra később." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Bejelentkeztél" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "A fiókod túl új ahhoz, hogy üzeneteket küldj ebben a közösségben msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "A fiókkérelmed jóváhagyásra vár. Bejelentkezhetsz, miután egy admin jóváhagyta." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "A fiókodhoz többlépcsős azonosítás szükséges, de ezen az eszközön nincs beállítva támogatott módszer. Jelentkezz be egy olyan eszközön, amelyen elérhető a hitelesítő alkalmazásod vagy a biztonsági kulcsod, vagy lépj kapcsolatba az ügyfélszolgálattal." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "A fiókodhoz többlépcsős azonosítás szükséges, de ezen az eszközön nincs beállítva támogatott módszer. Jelentkezz be egy olyan eszközön, amelyen elérhető a hitelesítő alkalmazásod vagy a biztonsági kulcsod, vagy lépj kapcsolatba ennek a példánynak az adminisztrátoraival." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Fiókjaid és beállításaid nem változtak vagy törlődtek." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "A műveletet nem sikerült végrehajtani, mert a biztonsági rendszereink megjelölték. Ha úgy gondolod, ez tévedés, vedd fel a kapcsolatot az ügyfélszolgálattal." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "A műveletet nem sikerült végrehajtani, mert a biztonsági rendszereink megjelölték. Ha úgy gondolod, ez tévedés, vedd fel a kapcsolatot ennek a példánynak az adminisztrátoraival." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Az aktuális készleted azonnal használhatatlanná válik, amint létrehozol egy újat." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "A grafikus környezeted nem állította be a rendszerszintű billentyűparancsokat." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "A grafikus környezeted lefoglalja ezeket a billentyűket a(z) {productName} számára, így más alkalmazások nem tudják használni őket." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "A grafikus környezeted lefoglalja ezeket a billentyűket a(z) {productName} számára, így más alkalmazások nem tudják használni őket. Ha ugyanazt a billentyűt más alkalmazásokban is használnád, kapcsold be lent a közvetlen bemeneti eszközhozzáférést." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "A grafikus környezeted akkor is futtatja ezeket a billentyűparancsokat, ha a(z) {productName} nincs fókuszban." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Ajándékidőszakod lejárt. Iratkozz fel, hogy megtarthasd a(z) {premiumProductName} előfizetést." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Megtartod az ajándékidődet" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "A türelmi időszak lejárt." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "A telepítés sérült, az alkalmazás minden funkciójának működéséhez újra kell telepítened." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Az utolsó vásárlásod már kívül esik a visszatérítési időszakon. Számlázási problémák esetén vedd fel a kapcsolatot az ügyfélszolgálattal." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Az üzenetedet nem sikerült kézbesíteni, mert a biztonsági rendszereink megjelölték. Ha úgy gondolod, ez tévedés, kérjük, vedd fel a kapcsolatot az ügyfélszolgálattal." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Az üzenetedet nem sikerült kézbesíteni, mert a biztonsági rendszereink megjelölték. Ha úgy gondolod, ez tévedés, kérjük, vedd fel a kapcsolatot ennek a példánynak az adminisztrátoraival." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Az üzenetedet nem sikerült kézbesíteni. Ez általában azért van, mert nem vagytok egy közösségben a címzettel, vagy a címzett csak az ismerőseitől fogad közvetlen üzeneteket. Lehet, hogy a saját, közvetlen üzenetekre vonatkozó adatvédelmi beállításaidat is módosítanod kell itt: {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Az üzenetedet nem sikerült kézbesíteni. Közvetlen üzenetek küldéséhez fejezd be a fiókod regisztrációját." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Az üzenetedet nem sikerült kézbesíteni. Üzenetek küldéséhez fejezd be a fiókod regisztrációját." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "A bejelentésedet nem sikerült elküldeni. Próbáld újra." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "A mentett {savedResolution} {savedFrameRate} FPS minőséghez {premiumProductName} szükséges, ezért a megosztások {resolution} minőségben, {frameRate} FPS sebességgel történnek." diff --git a/fluxer_app/src/features/i18n/locales/id/messages.po b/fluxer_app/src/features/i18n/locales/id/messages.po index 109bd3ba9..94de2dd51 100644 --- a/fluxer_app/src/features/i18n/locales/id/messages.po +++ b/fluxer_app/src/features/i18n/locales/id/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} menjalankan versi Fluxer yang lebih baru daripada aplikasi ini. Perbarui Fluxer, lalu coba lagi." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} lebih cepat darimu" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} lebih lambat darimu" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# jam yang lalu} other {# jam yang lalu}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# jam} other {# jam}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# jam} other {# jam}} {minutes, plural, one {# menit} other {# menit}}" @@ -1602,7 +1602,7 @@ msgstr "Ukuran file {label} terlalu besar. Pilih file yang lebih kecil dari {max msgid "{label} images cannot be animated. Use a static image." msgstr "Gambar {label} tidak dapat dianimasikan. Gunakan gambar statis." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Bendera {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# menit yang lalu} other {# menit yang lalu}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, other {# menit}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} menemukan perangkat output audio baru bernama <0>{deviceN msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} perlu dimulai ulang sebelum pengaturan pengguliran bawaan Chromium mengubah cara kerja pengguliran." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} perlu dimulai ulang agar akselerasi perangkat keras dapat diterapkan." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} perlu dimulai ulang agar perubahan bilah judul berlaku." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} perlu dimulai ulang untuk menonaktifkan akselerasi perangkat keras Chromium. Gunakan ini hanya jika kamu sedang mengatasi gangguan grafis atau penggunaan GPU yang tinggi." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Pemburu Bug {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} dapat meminta desktop Anda menjalankan pintasannya saat {productName} tidak dalam fokus. Desktop Anda akan meminta konfirmasi dan membiarkan Anda memilih tombolnya." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} tidak dapat lagi membaca keyboard Anda, jadi pintasan dideteksi melalui X11 sebagai gantinya." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} tidak dapat membaca keyboard Anda lagi, jadi pintasan desktop Anda digunakan sebagai gantinya." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} tidak dapat lagi membaca keyboard Anda. Pintasan hanya berfungsi saat {productName} dalam fokus." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} dapat mendaftarkan pintasannya ke Hyprland agar tetap berjalan saat {productName} tidak dalam fokus. Setelah itu, tetapkan tombolnya di konfigurasi Hyprland Anda." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} tidak dapat menggunakan pengode perangkat keras untuk ini, jadi akan menggunakan CPU kamu." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} akan ditutup, menginstal pembaruan, dan terbuka kembali." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} tidak dapat terhubung ke layanan pembaruan. Periksa koneksimu dan coba lagi." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} telah pindah ke {host}. Buka di browsermu untuk menginstal aplikasi baru." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Anggota {productName} sejak" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} memerlukan akses ke mikrofonmu. Izinkan akses mikrofon di pengaturan privasi sistem operasimu dan mulai ulang aplikasi." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} memerlukan akses kamera untuk menampilkan daftar perangkatmu." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} memerlukan akses mikrofon untuk menampilkan daftar perangkatmu." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "Kit pemulihan {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} telah mendaftarkan pintasannya ke Hyprland. Tetapkan tombolnya di konfigurasi Hyprland Anda untuk menggunakannya saat {productName} tidak dalam fokus." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 bulan (1 tahun)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12 jam" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 jam" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24 jam" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "nama host, mis. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Pembaruan desktop untuk Linux tersedia. Pilih format paket untuk sistem ini dan {productName} akan menyimpannya secara lokal." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "satu menit" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Versi desktop baru sudah tersedia. Unduh penginstalnya, lalu jalankan untuk memperbarui {productName}." @@ -2817,7 +2817,7 @@ msgstr "Tentang {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Tentang saya" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Berbagi aktivitas" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Ambang aktivitas" @@ -3155,7 +3155,7 @@ msgstr "Ukuran sebenarnya" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Tambah" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Tambahkan nama pengguna dan kata sandi ke akun Anda terlebih dahulu." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Tambahkan kata…" @@ -3244,7 +3244,7 @@ msgstr "Tambahkan kunci API Data YouTube untuk memperkaya tautan YouTube." #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Tambah akun" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Alamat" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Sesuaikan sendiri setiap pengaturan: peredam bising, pembatalan gema, dan penguatan." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Lanjutan" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Pengaturan video lanjutan" @@ -3906,22 +3906,22 @@ msgstr "Izinkan" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Izinkan {everyoneMention} dan {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Izinkan {PRODUCT_NAME} mengakses kamera Anda di Pengaturan Sistem → Privasi & Keamanan → Kamera." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Izinkan {PRODUCT_NAME} mengakses mikrofon Anda di Pengaturan Sistem → Privasi & Keamanan → Mikrofon." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Izinkan {PRODUCT_NAME} mengakses mikrofonmu. Periksa bilah alamat atau pengaturan browsermu." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Izinkan {productName} di bawah Perekaman Layar di Pengaturan Sistem. Jika sudah diizinkan, luncurkan ulang {productName2} agar macOS menerapkannya." @@ -3961,7 +3961,7 @@ msgstr "Izinkan pesan langsung dari bot" msgid "Allow bots to send you direct messages?" msgstr "Izinkan bot mengirimimu pesan langsung?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Izinkan kamera" @@ -4029,7 +4029,7 @@ msgstr "Izinkan anggota tanpa izin {readMessageHistoryPermissionLabel} untuk mel msgid "Allow mentions for this role" msgstr "Izinkan sebutan untuk peran ini" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Izinkan mikrofon" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Selalu garis bawahi tautan" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Selalu gunakan kamus Hunspell {productName}, diunduh sesuai permintaan." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Lencana ikon aplikasi" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Format waktu bahasa aplikasi: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Persetujuan diperlukan" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Setujui aplikasi ini dari aplikasi {productName} yang sudah kamu gunakan. Tidak perlu kata sandi." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Diotorisasi pada {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Otomatis" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Deteksi bahasa otomatis" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Ambang aktivitas otomatis" @@ -5534,7 +5534,7 @@ msgstr "AV1 (perlu diaktifkan)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Tersedia" @@ -5608,11 +5608,11 @@ msgstr "Sedang tidak di tempat" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Kompresi terbaik. Gunakan hanya jika WebRTC menyediakan encoder dan laporan GPU menunjukkan bahwa itu didukung oleh hardware." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Paling baik dengan aplikasi desktop" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Browser: beranda" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Format waktu browser: {format}" @@ -6545,8 +6545,8 @@ msgstr "Beli hadiah {premiumProductName} dari tab {premiumProductName} untuk dib msgid "Buy gift" msgstr "Beli hadiah" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Dengan membuat komunitas, kamu setuju untuk mengikuti dan menjunjung tinggi <0>panduan komunitas {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Panggilan" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Pratinjau kamera" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Kualitas kamera" @@ -6809,8 +6809,8 @@ msgstr "Tidak bisa mengunggah file di sini" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Batalkan perubahan terjadwal" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Batalkan langganan" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Batalkan langganan?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Kategori" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Peringatan konten kategori" @@ -7131,15 +7131,15 @@ msgstr "Ubah nama panggilan grup" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Ubah ikon" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Ubah di pengaturan sistem" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Lencana saluran" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Peringatan konten saluran" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Pintasan obrolan" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Periksa lagi" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Memeriksa akses..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Memeriksa izin perekaman layar..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Checkout tidak tersedia" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Pilih cara kamu ingin membayar langganan ini." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Pilih metode pembayaran" @@ -8174,7 +8174,7 @@ msgstr "Pilih default Anda" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Pilih instance Anda" @@ -8216,8 +8216,8 @@ msgstr "Klaim hadiah" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Klaim akunmu" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Lencana komunitas" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Peringatan konten komunitas" @@ -9089,8 +9089,8 @@ msgstr "DM komunitas" msgid "Community filter" msgstr "Filter komunitas" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Ikon komunitas" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Komunitas diperbarui" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Suara komunitas" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Selesaikan pembayaran" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Selesaikan pemeriksaan konten dewasa untuk membuka media dewasa." @@ -9409,7 +9409,7 @@ msgstr "Konfirmasi" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Konfirmasi sebelum bergabung ke saluran suara" @@ -9457,7 +9457,7 @@ msgstr "Konfirmasi pernyataan untuk mengirim laporan." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Konfirmasi gabung suara" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Konfirmasi" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Konfirmasi atau klik dua kali untuk bergabung dengan saluran suara komunitas" @@ -9476,7 +9476,7 @@ msgstr "Konfirmasi atau klik dua kali untuk bergabung dengan saluran suara komun msgid "Conflicts with {conflictLabel}" msgstr "Berbenturan dengan {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Hubungkan kamera dan coba lagi." @@ -9489,7 +9489,7 @@ msgstr "Hubungkan kamera atau perangkat perekam virtual, lalu coba lagi." msgid "Connect a display, then try again." msgstr "Sambungkan layar, lalu coba lagi." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Sambungkan mikrofon dan coba lagi." @@ -9633,7 +9633,7 @@ msgstr "Koneksi: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Kontak" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Konten diblokir" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Lanjutkan di browser Anda" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Lanjutkan ke pembayaran" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Lanjutkan dengan passkey" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Salin URL undangan" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Salin baris" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Salin baris untuk hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Salin baris untuk hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Tidak dapat mengubah hargamu" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Tidak dapat memeriksa pembaruan" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Tidak dapat menghapus pesanmu" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Tidak dapat mengunduh pembaruan desktop" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Tidak dapat memulai pembayaran" @@ -10932,7 +10932,7 @@ msgstr "Buat & bagikan" msgid "Create a community" msgstr "Buat komunitas" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Buat komunitas tempat kamu dan teman-temanmu bisa mengobrol." @@ -11365,7 +11365,7 @@ msgstr "Kustom" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Suara masuk dibisukan oleh moderator" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "Paket DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Aplikasi desktop" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Aplikasi desktop sudah versi terbaru" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Pembaruan desktop {version} tersedia. Pilih paket Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Pembaruan desktop tersedia" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Pembaruan desktop tersedia. Pilih paket Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Versi desktop {version} sudah tersedia. Unduh penginstalnya, lalu jalankan untuk memperbarui {productName}." @@ -12613,7 +12613,7 @@ msgstr "Detail: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Deteksi saat mengetik" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Alat pengembang tidak tersedia" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Versi pengembangan" @@ -13455,8 +13455,8 @@ msgstr "Unduh" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Unduh {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification dan letakkan di folder <1>.well-known agar kami dapat memvalidasi domainnya." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Unduh aplikasi" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Unduh aplikasi" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Tombol unduh" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Unduh aplikasi desktop" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Unduh gambar" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Unduh penginstal" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Unduh media" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Unduh paket" @@ -13655,11 +13655,11 @@ msgstr "Lepas item" msgid "Drop to upload background" msgstr "Lepas untuk mengunggah latar belakang" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Karena undang-undang konten dewasa di {regionName}, konten dewasa diblokir hingga kamu menyelesaikan pemeriksaan konten dewasa." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Karena undang-undang konten dewasa di {regionName}, konten dewasa tidak tersedia dari sini. Pemeriksaan konten dewasa hanya tersedia di Inggris Raya." @@ -13673,7 +13673,7 @@ msgstr "Karena undang-undang konten dewasa di {regionName}, konten ini diblokir msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Karena undang-undang konten dewasa di {regionName}, konten ini tidak tersedia dari sini. Pemeriksaan konten dewasa hanya tersedia di Inggris Raya." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Karena undang-undang konten dewasa di {regionName}, media ini tidak tersedia di wilayahmu saat ini." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Setiap kode berfungsi sekali sebagai pengganti aplikasi autentikator Anda." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Setiap tombol hanya dapat menjalankan satu pintasan di seluruh sistem." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Aktifkan" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Aktifkan izin {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Aktifkan pintasan" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Aktifkan pemeriksa ejaan" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Akhiri masa tenggang sekarang" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Akhiri masa tenggang" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Akhiri masa tenggang sekarang?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Masukkan PIN kunci keamananmu untuk melanjutkan." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Masukkan kode ini di browser Anda" @@ -14845,7 +14845,7 @@ msgstr "Masukkan kode ini di browser Anda" msgid "Enter this code in your browser to complete sign-in." msgstr "Masukkan kode ini di browsermu untuk menyelesaikan proses masuk." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Masukkan kode ini di aplikasi {PRODUCT_NAME} lamamu untuk menyelesaikan proses masuk." @@ -14916,7 +14916,7 @@ msgstr "Seluruh audio sistem" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Suara masuk" @@ -15026,7 +15026,7 @@ msgstr "Waktu malam" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Meratakan volume mikrofonmu agar suaramu tidak terlalu pelan." @@ -15249,7 +15249,7 @@ msgstr "Kedaluwarsa antara {earliest} dan {latest}" msgid "Expires in {remaining}s" msgstr "Kedaluwarsa dalam {remaining} detik" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Kadaluwarsa dalam {remainingSeconds}d" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Tambahkan saluran ke favorit" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Saluran favorit" @@ -16243,7 +16243,7 @@ msgstr "Selama {threeHours} jam" msgid "For {twentyFourHours} hours" msgstr "Selama {twentyFourHours} jam" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Hanya untuk orang Inggris..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Untuk saya" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Untuk tekan untuk bisukan, gunakan satu tombol tanpa Ctrl, Alt, atau Shift. Jika memakai kombinasi, lepaskan tombol utama terlebih dahulu, atau mikrofon bisa tetap dibisukan." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Untuk push-to-talk, gunakan satu tombol tanpa Ctrl, Alt, atau Shift. Jika memakai kombinasi, lepaskan tombol utama terlebih dahulu, atau mikrofon bisa tetap menyala." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Untuk pintasan ini, gunakan satu tombol tanpa Ctrl, Alt, atau Shift. Jika memakai kombinasi, lepaskan tombol utama terlebih dahulu, atau pintasan bisa tetap aktif." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Untuk prioritas aktivitas suara, gunakan satu tombol tanpa Ctrl, Alt, atau Shift. Jika memakai kombinasi, lepaskan tombol utama terlebih dahulu, atau prioritas bisa tetap aktif." @@ -16460,14 +16460,14 @@ msgstr "Bingkai" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Laju bingkai" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Frame rate di atas 30 FPS memerlukan {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Dapatkan notifikasi saat kamu menerima pesan. Kamu mungkin perlu mengizinkan notifikasi di pengaturan browsermu. Untuk kontrol per saluran/per komunitas, klik kanan ikon komunitas dan buka pengaturan notifikasi." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Dapatkan aplikasi desktop {productName} untuk push-to-talk di seluruh sistem dan beberapa fitur menarik lainnya." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Dapatkan aplikasi desktop" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Kembali ke {productName} untuk melanjutkan." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Kembali ke aplikasi {PRODUCT_NAME}. Masuk akan selesai dengan sendirinya." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Kembali ke aplikasi {PRODUCT_NAME}. Anda bisa menutup tab ini." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Bantuan" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Tombol bantuan" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Pusat bantuan" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Pusat bantuan di bilah sisi" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Bantu terjemahkan {PRODUCT_NAME} ke bahasamu di <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Sembunyikan obrolan" msgid "Hide community owner crown" msgstr "Sembunyikan mahkota pemilik komunitas" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Sembunyikan tombol unduh" @@ -17860,7 +17860,7 @@ msgstr "Sembunyikan favorit" msgid "Hide guidelines" msgstr "Sembunyikan panduan" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Sembunyikan tombol pusat bantuan" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Sembunyikan pesan bergabung" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Sembunyikan petunjuk keyboard" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Tautan" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland tidak memiliki dialog pintasan. Tambahkan baris untuk versi Hyprland Anda ke konfigurasi Hyprland dan ganti KEY dengan tombol yang Anda inginkan." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland tidak memiliki dialog pintasan. Tetapkan tombolnya di konfigurasi Hyprland Anda." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (sebelum Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 dan seterusnya)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Saya mengonfirmasi dengan itikad baik bahwa informasi dan tuduhan dalam pemberitahuan ini akurat dan lengkap." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Saya mengerti" @@ -18598,11 +18598,11 @@ msgstr "Mengimpor… {processedCount, number} / {totalCount, number} diproses, { msgid "In" msgstr "Di" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "Dalam mode \"Sistem operasi\", kamus yang tercantum di atas bersifat saran. {PRODUCT_NAME} akan meneruskan tag bahasa ini ke pemeriksa ejaan OS kamu jika didukung. Tag yang tidak dikenali akan diabaikan." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "Di browser, push-to-talk hanya berfungsi saat tab {PRODUCT_NAME} sedang aktif. Instal aplikasi desktop untuk push-to-talk di seluruh sistem." @@ -18650,7 +18650,7 @@ msgstr "Dalam obrolan suara" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Kamus dalam aplikasi" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Input" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Input dan output" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Sisipkan emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Instal {productName} untuk pemilih sumber lengkap dan kontrol berbagi layar yang lebih lancar." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Instal aplikasi baru" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Terinstal" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Versi terinstal: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Antarmuka" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Bahasa antarmuka" @@ -19467,13 +19467,13 @@ msgstr "Gabung" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Gabung ke {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Gabung ke {communityName} untuk mengobrol dengan tim dan mengikuti kabar terbaru." @@ -19561,7 +19561,7 @@ msgstr "Gabung panggilan video" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Gabung ke obrolan suara" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Pertahankan tingkatan gratis dan premium. Anda dapat menyesuaikan tingkatan, menjual premium melalui Stripe, atau membagikan kode hadiah nanti dari panel admin." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Pertahankan masa tenggang" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Tetap berjalan" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Tetap berlangganan" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Simpan halaman ini di tempat yang aman. Jika Anda lupa kata sandi, Anda dapat menggunakannya untuk kembali ke akun Anda. Siapa pun yang memiliki kunci pemulihan ini dapat mengatur ulang kata sandi Anda, jadi jangan pernah membagikannya." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Terus mengirimkan sinyal sebentar setelah tombol dilepas." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Papan ketik" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Akses keyboard tidak dapat dimulai. Pintasan hanya berfungsi saat {productName} dalam fokus." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Mode keyboard" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Petunjuk pintasan keyboard di tooltip" @@ -19923,7 +19923,7 @@ msgstr "Pengaturan bahasa" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Bahasa" @@ -19971,7 +19971,7 @@ msgstr "Grafik latensi" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Membuat anggota kembali dapat mendengar orang lain di komunitas ini" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Memungkinkan {productName} membaca keyboard Anda secara langsung. Matikan ini untuk mengatur pintasan melalui desktop Anda." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Memungkinkan {productName} membaca keyboard Anda secara langsung. Sistem Anda sudah mengizinkannya." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Default Linux" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Paket Linux" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "File lokal" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Waktu setempat" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Tampilan dan nuansa" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Sepertinya kamu menggunakan {0}. Menumpuk pemrosesan {PRODUCT_NAME} di atasnya dapat menyebabkan pumping atau distorsi. Input langsung meneruskan audiomu tanpa perubahan." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Jadikan pemilik grup" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Pastikan kode ini cocok dengan yang ada di aplikasi {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Kelola langgananmu" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Pembaruan desktop manual" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Volume utama" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Kategori dewasa" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Saluran dewasa" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Komunitas dewasa" @@ -21194,7 +21194,7 @@ msgstr "Pemeriksaan konten dewasa terkirim" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Pemeriksaan konten dewasa saat ini hanya tersedia di Inggris Raya." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Peran anggota diperbarui" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Anggota sejak" @@ -22013,7 +22013,7 @@ msgstr "Mik" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Tes mikrofon" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Kucing Neko yang mengejar kursormu" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Pengguna baru tidak dapat bergabung sekarang. Kamu masih bisa membuat akun atau masuk, lalu coba tautan ini lagi nanti." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Versi baru" @@ -23465,7 +23465,7 @@ msgstr "Tidak ada bookmark" msgid "No bot banner" msgstr "Tidak ada banner bot" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Tidak ada kamera yang ditemukan" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Tidak ada deskripsi." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Tidak ada pembaruan desktop yang tersedia." @@ -23684,7 +23684,7 @@ msgstr "Tidak ada postingan yang cocok" msgid "No mentions yet" msgstr "Belum ada sebutan" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Tidak ada mikrofon yang ditemukan" @@ -23731,7 +23731,7 @@ msgstr "Tidak ada permintaan tertunda yang cocok dengan pencarian itu" msgid "No permissions found" msgstr "Tidak ada izin yang ditemukan" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Belum ada kata pribadi." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Tidak diizinkan" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Belum ditetapkan" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Saat diklik" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "Di perangkat Anda yang lain, masuk di {signInAddress} dan masukkan kode ini saat diminta." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Buka {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Buka {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Buka pengalih akun" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Buka pengaturan media lanjutan" @@ -24788,7 +24788,7 @@ msgstr "Buka opsi banner" msgid "Open bookmarks" msgstr "Buka bookmark" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Buka browser" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Buka pemilih tanggal" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Buka unduhan desktop" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Buka pengaturan" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Buka pusat perangkat lunak" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Buka Pengaturan Sistem" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Buka Pengaturan Sistem → Privasi & Keamanan → Perekaman Layar, lalu izinkan {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Buka JSON template" @@ -25089,7 +25089,7 @@ msgstr "Buka JSON template" msgid "Open the context menu" msgstr "Buka menu konteks" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Buka tautan di bawah di browsermu, lalu salin seluruh respons JSON dan tempelkan ke kolom." @@ -25167,11 +25167,11 @@ msgstr "Buka pengaturan suara & video" msgid "Open with {accountName} on {instanceName}" msgstr "Buka dengan {accountName} di {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Buka browsermu, masuk, lalu masukkan kode di bawah untuk menautkan akunmu." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Buka aplikasi {PRODUCT_NAME} lamamu dan pilih Tautkan perangkat baru, lalu masukkan kode di bawah ini." @@ -25199,7 +25199,7 @@ msgstr "Membuka halaman Anggota. Tekan Spasi atau Enter untuk membuka." #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Sistem operasi" @@ -25629,7 +25629,7 @@ msgstr "7 hari terakhir" msgid "Paste" msgstr "Tempel" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Tempel URL template {theOtherPlatform} untuk mengimpor strukturnya ke komunitas baru." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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." @@ -25933,7 +25933,7 @@ msgstr "Izin untuk {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Kamus pribadi" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Pilih setidaknya satu tag untuk postingan ini." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Pilih satu atau beberapa kamus. Kata-kata dari kamus mana pun yang dipilih akan diterima, yang berguna untuk obrolan multibahasa." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Harga masih dimuat." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Pembelian tidak tersedia" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Tombol push to talk" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Push-to-talk" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Push-to-talk (terbatas)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Push-to-talk belum memiliki tombol di seluruh sistem. Untuk mengaturnya, buka Pengaturan > Aplikasi > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Push-to-talk belum memiliki tombol di seluruh sistem. Untuk mengaturnya, buka Pengaturan Sistem > Papan Ketik > Pintasan > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Push-to-talk belum memiliki tombol di seluruh sistem. Untuk mengaturnya, buka pengaturan pintasan keyboard desktop Anda." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Push-to-talk diabaikan dalam input langsung. Beralih ke suara terfokus atau kustom untuk menggunakannya." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Push-to-talk aktif. Tahan tombol push-to-talk Anda untuk berbicara." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Push-to-talk hanya berfungsi saat {productName} dalam fokus karena desktop Anda tidak menyiapkan pintasan di seluruh sistem." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Push-to-talk hanya berfungsi saat {productName} difokuskan hingga {permissionName} diaktifkan." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Push-to-talk hanya berfungsi saat {productName} dalam fokus hingga Anda menyiapkan pintasan di seluruh sistem." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Push-to-talk hanya berfungsi saat tab browser sedang aktif." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Push-to-talk akan menggunakan tombol yang Anda atur di {productName}. Atur tombolnya terlebih dahulu, atau mikrofon Anda akan menggunakan aktivitas suara." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Push-to-talk tidak akan mengaktifkan mikrofonmu saat suara masuk dibisukan. Aktifkan lagi suara masukmu agar bisa bicara." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Push-to-talk hanya berfungsi di luar {productName} setelah Anda menetapkan tombolnya di konfigurasi Hyprland." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Push-to-talk hanya berfungsi di luar {productName} setelah Anda menetapkan tombolnya di konfigurasi Hyprland. Tambahkan baris untuk versi Hyprland Anda dan ganti KEY dengan tombol yang Anda inginkan." @@ -27533,12 +27533,12 @@ msgstr "Penerima akan diarahkan ke {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Direkomendasikan" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Direkomendasikan. Membersihkan mikrofonmu agar suara lebih jernih." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Sambung ulang berhasil. Pilih layar lagi jika kamu ingin melanjutkan streaming sebelumnya." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Menghubungkan kembali ke desktop Anda…" @@ -27836,7 +27836,7 @@ msgstr "Mulai ulang untuk menerapkan" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Jeda lepas tombol" @@ -27853,7 +27853,7 @@ msgstr "Relevan" msgid "Reload" msgstr "Muat ulang" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Muat ulang {PRODUCT_NAME} untuk menerapkan perubahan mesin sepenuhnya. Beralih antara pemeriksa ejaan dalam aplikasi dan sistem memerlukan pemuatan ulang perender karena Electron tidak dapat menukar penyedia saat sedang berjalan." @@ -27872,7 +27872,7 @@ msgstr "Muat ulang {productName} untuk menggunakan pembaruan web {version}" msgid "Reload app" msgstr "Muat ulang aplikasi" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Muat ulang sekarang" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Hapus" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Hapus \"{word}\" dari kamus" @@ -28086,8 +28086,8 @@ msgstr "Hapus dari GIF favorit khusus URL" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Hapus ikon" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Baris per halaman" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "Paket RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Keamanan" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Sama dengan zona waktumu" @@ -29770,7 +29770,7 @@ msgstr "Perekaman Layar" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Izin perekaman layar diperlukan" @@ -29858,7 +29858,7 @@ msgstr "Privasi berbagi layar" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Kualitas berbagi layar" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Cari kode bahasa…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Cari bahasa…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Pilih GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Pilih bahasa antarmuka" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Pilih akun yang ingin kamu gunakan untuk masuk di perangkat barumu." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Pilih mode pemrosesan suara" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Mengirim audio mikrofon mentah tanpa pemrosesan." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Mengirim audiomu tanpa perubahan. Paling cocok jika kamu menggunakan perangkat lunak audio eksternal." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Mengatur posisi daftar anggota untuk peran tersebut" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Disetel oleh preset {preset}. Memilih nilai di sini akan beralih ke Kustom." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Mengatur wilayah suara ke otomatis" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Siapkan" @@ -31307,7 +31307,7 @@ msgstr "Bagikan ke teman" msgid "Share your screen" msgstr "Bagikan layarmu" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Bagikan layarmu dalam definisi tinggi (1080p), quad HD (1440p), atau resolusi asli sumber, hingga 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Kode singkat" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Pintasan" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Lencana pintasan" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Tampilkan tombol favorit" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Tampilkan favorit di seluruh aplikasi" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Masuk dengan peramban Anda" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Masuk dengan aplikasi {productName} lamamu" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Keluar?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Penyelesaian masuk dibatalkan" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Detail masuk" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Alur masuk" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Masuk sebagai {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Masuk di perangkat lain?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Terjadi kesalahan saat memulai pembayaran. Silakan coba lagi sebentar lagi." @@ -32812,7 +32812,7 @@ msgstr "Suara" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Kecepatan" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Pemeriksa ejaan" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Mesin pemeriksa ejaan" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Animasi bintang" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Saluran berbintang" @@ -33140,7 +33140,7 @@ msgstr "Mulai panggilan suara?" msgid "Start call" msgstr "Mulai panggilan" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Mulai tes kamera dan atur efek" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Mulai diminimalkan" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Mulai Otomatis" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Neko statis" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Masih mengindeks, coba lagi sebentar lagi" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Neko diam" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Masih menunggu akses perekaman layar" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Hentikan tes mikrofon" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Hentikan Neko mengejar kursormu sambil tetap membuatnya dapat diseret dan interaktif." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Langganan sudah ada" @@ -33957,7 +33957,7 @@ msgstr "Beralih ke tata letak nyaman" msgid "Switch to dense layout" msgstr "Beralih ke tata letak rapat" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Beralih ke input langsung" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "DM sistem tidak dapat melakukan panggilan suara." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Format waktu sistem: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Baki sistem" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Instalasi yang dikelola sistem" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Pintasan di seluruh sistem" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Pintasan seluruh sistem tidak dapat diatur." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Ketuk untuk menambahkan catatan" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "Arsip tar.gz" @@ -34360,7 +34360,7 @@ msgstr "Lencana bilah tugas" msgid "Teleporting you to another voice region..." msgstr "Memindahkanmu ke wilayah suara lain..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Template" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "Aplikasi {PRODUCT_NAME} di perangkat Anda yang lain menampilkannya di bawah Masuk di perangkat lain. Hanya masukkan kode dari perangkat yang Anda kendalikan." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "Aplikasi {PRODUCT_NAME} tidak masuk. Anda dapat menutup tab ini." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Komunitas yang kamu cari mungkin sudah dihapus atau kamu tidak punya akses ke sana." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Pembaruan desktop tidak dapat diunduh. Coba lagi dari tombol pembaruan saat koneksimu stabil." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "File yang diunduh disimpan di komputermu. Instal dengan manajer paket yang biasa kamu pakai." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Kategori ini sudah berisi jumlah maksimum {maxChannelsPerCategory} saluran." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Kategori ini ditandai untuk konten dewasa dan mungkin berisi materi yang tidak pantas untuk sebagian pengguna." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Saluran ini memiliki peringatan konten. Pembaruan hanya dapat dikirim ke saluran dengan peringatan konten atau batasan usia." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Saluran ini ditandai untuk konten dewasa dan mungkin berisi materi yang tidak pantas untuk sebagian pengguna." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Komunitas ini sudah penuh" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Komunitas ini ditandai untuk konten dewasa dan mungkin berisi materi yang tidak pantas untuk sebagian pengguna." @@ -35324,14 +35324,14 @@ msgstr "Komunitas ini tidak lagi tersedia" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Koneksi ini sudah diverifikasi." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Koneksi ini belum diverifikasi." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Percakapan ini sudah tidak tersedia." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Versi desktop ini tidak dapat menginstal pembaruan di dalam {productName}. Unduh penginstal desktop terbaru sebagai gantinya." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Desktop ini tidak menyediakan pintasan di seluruh sistem. Push-to-talk hanya berfungsi saat {productName} dalam fokus." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Desktop ini tidak menyediakan pintasan di seluruh sistem. Pintasan tetap berfungsi saat {productName} dalam fokus." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Versi pengembangan ini tidak dapat memperbarui dirinya sendiri. Unduh penginstal desktop untuk menguji alur pembaruan." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Gambar ini tidak dapat dibaca. Mungkin rusak." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Instalasi ini dikelola oleh sistemmu. Perbarui {productName} lewat pusat perangkat lunak atau manajer paket sistemmu." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Instance ini sudah menggunakan nama pengguna untuk masuk. Ini tidak dapat diubah lagi." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Instance ini saat ini mengizinkan berbagi layar hingga 720p pada 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Tautan ini tidak valid. Buka kembali tautan dari email Anda." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Kategori dewasa ini tidak tersedia untuk akunmu." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Kategori dewasa ini tidak tersedia untuk akunmu. <0>Pelajari selengkapnya" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Saluran dewasa ini tidak tersedia untuk akunmu." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Saluran dewasa ini tidak tersedia untuk akunmu. <0>Pelajari selengkapnya" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Komunitas dewasa ini tidak tersedia untuk akunmu." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Komunitas dewasa ini tidak tersedia untuk akunmu. <0>Pelajari selengkapnya" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Media dewasa ini tidak tersedia untuk akunmu." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Media dewasa ini tidak tersedia untuk akunmu. <0>Pelajari selengkapnya" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Paket ini tidak tersedia. Hubungi dukungan." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Paket ini tidak tersedia. Hubungi administrator instance ini." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Pembelian ini tidak memenuhi syarat untuk pengembalian dana." @@ -35837,7 +35853,7 @@ msgstr "Utas ini dikunci. Hanya moderator yang dapat mengirim pesan." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Pengguna ini telah membatasi profilnya. Beberapa detail disembunyikan dari orang yang bukan temannya." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Pengguna ini tidak memiliki peran di komunitas ini." @@ -36050,14 +36066,14 @@ msgstr "Waktu" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Format waktu" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Pilihan format waktu" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Platform bilah judul" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Untuk mengubah tombolnya, buka Pengaturan > Aplikasi > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Untuk mengubah tombolnya, buka Pengaturan Sistem > Papan Ketik > Pintasan > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Untuk mengubah tombolnya, buka pengaturan pintasan keyboard desktop Anda." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Bilah alat" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Pintasan tooltip" @@ -36864,7 +36880,7 @@ msgstr "Dua puluh empat jam" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Dua kali klik" @@ -37263,7 +37279,7 @@ msgstr "Cadangan universal. Kualitas terendah, tapi berfungsi di mana saja." #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Tidak diketahui" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Buka emoji kustom di DM dengan {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Buka berbagi layar HD dengan {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Hingga 720p pada 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Perbarui {productName} untuk menggunakan pintasan seluruh sistem di Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Perbarui status saya" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Perbarui sekarang" @@ -38008,8 +38024,8 @@ msgstr "Unggah file dan media di saluran ini." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Unggah ikon" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Gunakan {name} di {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Gunakan {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Gunakan {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Gunakan metode alternatif" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Gunakan gulir otomatis" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Gunakan kartu" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Gunakan default" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Gunakan akses perangkat input langsung" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Gunakan stiker dari komunitas lain." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Gunakan lokal sistem untuk format waktu" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Gunakan bingkai jendela sistem operasi" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Gunakan pemeriksa ejaan yang ada di sistem operasimu." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Gunakan aktivitas suara" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Gunakan pemeriksa ejaan sistem operasimu jika tersedia. Jika tidak, gunakan kamus dalam aplikasi {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Verifikasi emailmu terlebih dahulu" @@ -39244,7 +39260,7 @@ msgstr "Lihat detail" msgid "View devices that are signed in to your account" msgstr "Lihat perangkat yang masuk ke akunmu" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Lihat profil lengkap" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Saluran suara" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Konfirmasi saluran suara" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Saluran suara penuh" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Perilaku bergabung ke saluran suara" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Peserta obrolan suara" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Pemrosesan suara" @@ -39661,7 +39677,7 @@ msgstr "Aktifkan suara masuk" msgid "Voice unmute" msgstr "Aktifkan mikrofon" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Suara menggunakan perangkat output sistem Anda di browser ini. Ubah di pengaturan sistem Anda." @@ -39675,7 +39691,7 @@ msgstr "Dibatalkan" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Jeda antar pesan. Anggota dengan \"{bypassSlowmodePermissionLabel}\" dap msgid "Waiting for connection..." msgstr "Menunggu koneksi..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Menunggu passkey…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Menunggu kamu untuk..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Menunggu desktop Anda…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Kami tidak dapat membaca tema ini. Mungkin rusak atau tidak valid." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Kami mengubah ukuran dan mengompres stiker ini menjadi 320x320 piksel, t msgid "We sent a code to {email}." msgstr "Kami telah mengirim kode ke {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Kami akan mengisi otomatis {prefillEmail} setelah login browser terbuka." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Pratinjau situs web" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Selamat datang kembali" @@ -40321,7 +40337,7 @@ msgstr "Komunitas mana" msgid "Which conversations" msgstr "Percakapan mana" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Saat push-to-talk aktif, pintasanmu yang mengontrol mikrofon, jadi tombol bisukan dinonaktifkan." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Kamu baru saja menekan Tab. Mode keyboard kini aktif sehingga kamu bisa menavigasi {productName} tanpa mouse." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Kamu tetap mendapat semua keuntungan hingga tanggal perpanjangan berikutnya. Aktifkan lagi langgananmu sebelum tanggal itu untuk mempertahankan riwayat langgananmu." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Kamu langsung kehilangan semua keuntungan {PREMIUM_PRODUCT_NAME} dan riwayat langgananmu diatur ulang. Ini tidak dapat dibatalkan." @@ -41137,8 +41153,8 @@ msgstr "Kamu memerlukan izin \"{permissionLabel}\" untuk menggunakan emoji dari msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Kamu memerlukan izin \"{permissionLabel}\" untuk menggunakan stiker dari komunitas lain di sini." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Kamu perlu mengklaim akunmu sebelum bisa membuat komunitas." @@ -41155,8 +41171,8 @@ msgstr "Kamu perlu mengklaim akunmu untuk mengirim pesan langsung." msgid "You need to claim your account to send messages in this community." msgstr "Kamu perlu mengklaim akunmu untuk mengirim pesan di komunitas ini." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Kamu perlu memverifikasi alamat emailmu sebelum bisa membuat komunitas." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Kamu perlu memverifikasi emailmu sebelum bisa membeli {premiumProductFullName}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Kamu akan terlihat offline" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Anda akan dikenakan biaya sekarang. Sisa waktu hadiah Anda ditambahkan setelah periode berbayar Anda, jadi tidak ada yang terbuang." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Kamu sudah menjadi Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Kamu mengirim laporan terlalu cepat. Coba lagi nanti." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Anda telah masuk" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Akunmu terlalu baru untuk mengirim pesan di komunitas ini." msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Permintaan akunmu menunggu persetujuan. Kamu dapat masuk setelah admin menyetujuinya." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Akunmu memerlukan autentikasi multifaktor, tetapi tidak ada metode yang didukung di perangkat ini. Masuk di perangkat yang punya aplikasi autentikator atau kunci keamananmu, atau hubungi dukungan." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Akunmu memerlukan autentikasi multifaktor, tetapi tidak ada metode yang didukung di perangkat ini. Masuk di perangkat yang punya aplikasi autentikator atau kunci keamananmu, atau hubungi administrator instance ini." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Akun dan setelan Anda tidak diubah atau dihapus." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Tindakanmu tidak dapat diselesaikan karena ditandai oleh sistem keamanan kami. Jika menurutmu ini keliru, silakan hubungi dukungan." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Tindakanmu tidak dapat diselesaikan karena ditandai oleh sistem keamanan kami. Jika menurutmu ini keliru, silakan hubungi administrator instance ini." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Kit Anda saat ini berhenti berfungsi segera setelah kit baru dibuat." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Desktop Anda tidak mengatur pintasan di seluruh sistem." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Desktop Anda mengkhususkan tombol-tombol ini untuk {productName}, sehingga aplikasi lain tidak dapat menggunakannya." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Desktop Anda mengkhususkan tombol-tombol ini untuk {productName}, sehingga aplikasi lain tidak dapat menggunakannya. Untuk menggunakan tombol yang sama di aplikasi lain, aktifkan akses perangkat input langsung di bawah." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Desktop Anda menjalankan pintasan ini bahkan saat {productName} tidak dalam fokus." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Waktu gratis Anda telah berakhir. Berlangganan untuk melanjutkan {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Waktu gratis Anda akan disimpan" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Masa tenggangmu telah berakhir." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Instalasimu rusak, dan kamu perlu menginstal ulang aplikasi agar semua fungsinya berjalan." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Pembelian terakhirmu berada di luar jangka waktu pengembalian dana. Hubungi dukungan untuk masalah penagihan." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Pesanmu tidak dapat dikirim karena ditandai oleh sistem keamanan kami. Jika menurutmu ini keliru, silakan hubungi dukungan." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Pesanmu tidak dapat dikirim karena ditandai oleh sistem keamanan kami. Jika menurutmu ini keliru, silakan hubungi administrator instance ini." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Pesanmu tidak dapat dikirim. Biasanya ini karena kamu tidak berada di komunitas yang sama dengan penerima atau penerima hanya menerima pesan langsung dari teman. Kamu mungkin juga perlu menyesuaikan pengaturan privasi pesan langsungmu di {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Pesanmu tidak dapat dikirim. Kamu perlu mengklaim akunmu untuk mengirim pesan langsung." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Pesanmu tidak dapat dikirim. Kamu perlu mengklaim akunmu untuk mengirim pesan." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Laporanmu tidak terkirim. Coba lagi." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Kualitas {savedResolution} yang tersimpan pada {savedFrameRate} FPS memerlukan {premiumProductName}, jadi berbagi menggunakan {resolution} pada {frameRate} FPS." diff --git a/fluxer_app/src/features/i18n/locales/it/messages.po b/fluxer_app/src/features/i18n/locales/it/messages.po index 9c6ddfc9c..40a78a248 100644 --- a/fluxer_app/src/features/i18n/locales/it/messages.po +++ b/fluxer_app/src/features/i18n/locales/it/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} esegue una versione più recente di Fluxer rispetto a questa app. Aggiorna Fluxer, quindi riprova." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} avanti rispetto a te" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} indietro rispetto a te" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# ora fa} other {# ore fa}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# ora} other {# ore}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# ora} other {# ore}} {minutes, plural, one {# minuto} other {# minuti}}" @@ -1602,7 +1602,7 @@ msgstr "Il file {label} è troppo grande. Scegli un file più piccolo di {maxSiz msgid "{label} images cannot be animated. Use a static image." msgstr "Le immagini {label} non possono essere animate. Usa un'immagine statica." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Bandiera: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# minuto fa} other {# minuti fa}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minuto} many {# minuti} other {# minuti}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} ha rilevato un nuovo dispositivo di uscita audio chiamato msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "È necessario riavviare {PRODUCT_NAME} per applicare le impostazioni di scorrimento native di Chromium." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} deve riavviarsi affinché l'accelerazione hardware abbia effetto." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} deve riavviarsi affinché la modifica della barra del titolo abbia effetto." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} deve riavviarsi per disabilitare l'accelerazione hardware di Chromium. Usalo solo se stai risolvendo problemi grafici o un elevato utilizzo della GPU." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Cacciatore di bug di {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} può chiedere al tuo desktop di eseguire le sue scorciatoie anche quando {productName} non è in primo piano. Il tuo desktop ti chiederà di confermare e ti permetterà di scegliere i tasti." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} non può più leggere la tua tastiera, quindi ascolta le scorciatoie tramite X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} non può più leggere la tua tastiera, quindi vengono usate le scorciatoie del tuo desktop." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} non può più leggere la tua tastiera. Le scorciatoie funzionano solo quando {productName} è in primo piano." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} può registrare le sue scorciatoie in Hyprland in modo che funzionino anche quando {productName} non è in primo piano. Poi associ i tasti nella tua configurazione di Hyprland." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} non può utilizzare un codificatore hardware, quindi utilizzerà la tua CPU." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} si chiude, installa l'aggiornamento e si riapre." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} non è riuscito a connettersi al servizio di aggiornamento. Verifica la tua connessione e riprova." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} si è spostato su {host}. Aprilo nel browser per installare la nuova app." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Membro di {productName} dal" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} ha bisogno di accedere al microfono. Consenti l'accesso al microfono nelle impostazioni sulla privacy del sistema operativo e riavvia l'app." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} ha bisogno dell'accesso alla fotocamera per elencare i tuoi dispositivi." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} ha bisogno dell'accesso al microfono per elencare i tuoi dispositivi." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "Kit di recupero {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} ha registrato le sue scorciatoie in Hyprland. Associale nella tua configurazione di Hyprland per usarle quando {productName} non è in primo piano." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 mesi (1 anno)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "Formato a 12 ore" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 ore" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "Formato a 24 ore" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "un nome host, ad es. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "È disponibile un aggiornamento dell’app desktop per Linux. Scegli il formato del pacchetto per questo sistema e {productName} lo salverà localmente." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "un minuto" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "È disponibile una nuova versione per desktop. Scarica il programma di installazione e avvialo per aggiornare {productName}." @@ -2817,7 +2817,7 @@ msgstr "Informazioni su {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Su di me" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Condivisione attività" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Soglia attività" @@ -3155,7 +3155,7 @@ msgstr "Dimensione originale" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Aggiungi" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Aggiungi prima un nome utente e una password al tuo account." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Aggiungi una parola…" @@ -3244,7 +3244,7 @@ msgstr "Aggiungi una chiave API di YouTube Data per arricchire i link di YouTube #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Aggiungi account" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Indirizzo" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Regola tu stesso ogni impostazione: soppressione del rumore, cancellazione dell'eco e guadagno." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Avanzate" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Impostazioni video avanzate" @@ -3906,22 +3906,22 @@ msgstr "Consenti" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Consenti {everyoneMention} e {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Consenti a {PRODUCT_NAME} di accedere alla tua fotocamera in Impostazioni di Sistema → Privacy e sicurezza → Fotocamera." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Consenti a {PRODUCT_NAME} di accedere al tuo microfono in Impostazioni di Sistema → Privacy e Sicurezza → Microfono." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Consenti a {PRODUCT_NAME} di accedere al microfono. Controlla la barra degli indirizzi o le impostazioni del browser." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Consenti a {productName} in Registrazione schermo nelle Impostazioni di sistema. Se è già consentito, riavvia {productName2} affinché macOS lo applichi." @@ -3961,7 +3961,7 @@ msgstr "Consenti messaggi diretti dai bot" msgid "Allow bots to send you direct messages?" msgstr "Consentire ai bot di inviarti messaggi diretti?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Consenti accesso alla fotocamera" @@ -4029,7 +4029,7 @@ msgstr "Consenti ai membri senza il permesso {readMessageHistoryPermissionLabel} msgid "Allow mentions for this role" msgstr "Consenti menzioni per questo ruolo" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Consenti accesso al microfono" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Sottolinea sempre i link" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Usa sempre i dizionari Hunspell di {productName}, scaricati su richiesta." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Badge icona app" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Formato orario della lingua dell’app: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Approvazione richiesta" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Approva questa app dall'app {productName} che usi già. Non serve la password." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Autorizzato il {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Automatico" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Rileva lingua automaticamente" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Soglia attività automatica" @@ -5534,7 +5534,7 @@ msgstr "AV1 (richiede attivazione)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Disponibile" @@ -5608,11 +5608,11 @@ msgstr "Assente in questo momento" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Migliore compressione. Usala solo quando WebRTC espone un codificatore e il report GPU indica che è supportato da hardware." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Funziona meglio con l'app desktop" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Browser: pagina iniziale" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Formato orario del browser: {format}" @@ -6545,8 +6545,8 @@ msgstr "Acquista un regalo {premiumProductName} dalla scheda {premiumProductName msgid "Buy gift" msgstr "Acquista regalo" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Creando una community, accetti di seguire e far rispettare le <0>linee guida della community di {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Chiamate" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Anteprima fotocamera" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Qualità fotocamera" @@ -6809,8 +6809,8 @@ msgstr "Impossibile caricare file qui" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Annulla cambio programmato" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Disdici abbonamento" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Disdire l’abbonamento?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Categoria" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Avviso sui contenuti della categoria" @@ -7131,15 +7131,15 @@ msgstr "Cambia soprannome del gruppo" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Cambia icona" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Modifica nelle impostazioni di sistema" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Badge del canale" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Avviso sui contenuti del canale" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Scorciatoie chat" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Ricontrolla" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Controllo accesso..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Controllo dell'autorizzazione per la registrazione dello schermo..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Pagamento non disponibile" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Scegli come vuoi pagare l'abbonamento." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Scegli un metodo di pagamento" @@ -8174,7 +8174,7 @@ msgstr "Scegli le tue impostazioni predefinite" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Scegli la tua istanza" @@ -8216,8 +8216,8 @@ msgstr "Riscatta regalo" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Completa la registrazione del tuo account" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Badge della community" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Avviso sui contenuti della community" @@ -9089,8 +9089,8 @@ msgstr "DM della community" msgid "Community filter" msgstr "Filtro community" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Icona della community" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Community aggiornata" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Chat vocale della community" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Completa il pagamento" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Completa il controllo dei contenuti per adulti per sbloccare i contenuti multimediali per adulti." @@ -9409,7 +9409,7 @@ msgstr "Conferma" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Chiedi conferma prima di unirti ai canali vocali" @@ -9457,7 +9457,7 @@ msgstr "Conferma la dichiarazione per inviare la segnalazione." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Conferma partecipazione vocale" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Conferma" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Conferma o doppio clic per partecipare alle chat vocali" @@ -9476,7 +9476,7 @@ msgstr "Conferma o doppio clic per partecipare alle chat vocali" msgid "Conflicts with {conflictLabel}" msgstr "In conflitto con {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Connetti una fotocamera e riprova." @@ -9489,7 +9489,7 @@ msgstr "Collega una fotocamera o un dispositivo di acquisizione virtuale, quindi msgid "Connect a display, then try again." msgstr "Collega un display, poi riprova." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Connetti un microfono e riprova." @@ -9633,7 +9633,7 @@ msgstr "Connessione: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Contatto" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Contenuto bloccato" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Continua nel browser" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Continua al checkout" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Continua con passkey" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Copia link d'invito" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Copia righe" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Copia righe per hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Copia righe per hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Impossibile cambiare il tuo prezzo" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Impossibile verificare la disponibilità di aggiornamenti" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Impossibile eliminare i tuoi messaggi" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Impossibile scaricare l'aggiornamento desktop" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Impossibile avviare il pagamento" @@ -10932,7 +10932,7 @@ msgstr "Crea e condividi" msgid "Create a community" msgstr "Crea una community" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Crea una community per chattare con i tuoi amici." @@ -11365,7 +11365,7 @@ msgstr "Personalizzato" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Audio disattivato dai moderatori" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "Pacchetto DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "App desktop" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "L'app desktop è aggiornata" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Aggiornamento desktop {version} disponibile. Scegli un pacchetto Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Aggiornamento desktop disponibile" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Aggiornamento desktop disponibile. Scegli un pacchetto Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "È disponibile la versione desktop {version}. Scarica il programma di installazione e avvialo per aggiornare {productName}." @@ -12613,7 +12613,7 @@ msgstr "Dettagli: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Rileva durante la digitazione" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Strumenti per sviluppatori non disponibili" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Build di sviluppo" @@ -13455,8 +13455,8 @@ msgstr "Scarica" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Scarica {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification e posizionalo nella tua cartella <1>.well-known per consentirci di convalidare il dominio." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Scarica l'app" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Scarica l'app" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Pulsante di download" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Scarica l'app desktop" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Scarica immagine" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Scarica programma di installazione" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Scarica media" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Scarica pacchetto" @@ -13655,11 +13655,11 @@ msgstr "Rilascia elemento" msgid "Drop to upload background" msgstr "Rilascia per caricare lo sfondo" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "A causa delle leggi sui contenuti per adulti in {regionName}, i contenuti per adulti sono bloccati finché non completi il controllo dei contenuti per adulti." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "A causa delle leggi sui contenuti per adulti in {regionName}, i contenuti per adulti non sono disponibili da qui. I controlli sui contenuti per adulti sono disponibili solo nel Regno Unito." @@ -13673,7 +13673,7 @@ msgstr "A causa delle leggi sui contenuti per adulti in {regionName}, questo con msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "A causa delle leggi sui contenuti per adulti in {regionName}, questo contenuto non è disponibile qui. I controlli sui contenuti per adulti sono disponibili solo nel Regno Unito." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "A causa delle leggi sui contenuti per adulti in {regionName}, questo contenuto multimediale non è disponibile nella tua regione attuale." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Ogni codice funziona una volta sola al posto della tua app di autenticazione." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Ogni tasto può eseguire solo una scorciatoia a livello di sistema." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Abilita" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Abilita l'autorizzazione {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Abilita scorciatoia" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Abilita controllo ortografico" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Termina periodo di tolleranza" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Termina periodo di tolleranza" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Terminare subito il periodo di tolleranza?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Inserisci il PIN della tua chiave di sicurezza per continuare." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Inserisci questo codice nel tuo browser" @@ -14845,7 +14845,7 @@ msgstr "Inserisci questo codice nel tuo browser" msgid "Enter this code in your browser to complete sign-in." msgstr "Inserisci questo codice nel browser per completare l'accesso." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Inserisci questo codice nella tua vecchia app {PRODUCT_NAME} per completare l'accesso." @@ -14916,7 +14916,7 @@ msgstr "Audio dell’intero sistema" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Suono d'ingresso" @@ -15026,7 +15026,7 @@ msgstr "Sera" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Uniforma il volume del microfono per evitare che la tua voce sia troppo bassa." @@ -15249,7 +15249,7 @@ msgstr "Scade tra {earliest} e {latest}" msgid "Expires in {remaining}s" msgstr "Scade tra {remaining}s" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Scade tra {remainingSeconds}s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Aggiungi canale ai preferiti" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Canali preferiti" @@ -16243,7 +16243,7 @@ msgstr "Per {threeHours} ore" msgid "For {twentyFourHours} hours" msgstr "Per {twentyFourHours} ore" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Solo per i britannici..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Per me" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Per \"Premi per disattivare il microfono\", usa un singolo tasto senza Ctrl, Alt o Maiusc. Con una combinazione, rilascia prima il tasto principale o il microfono potrebbe rimanere disattivato." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Per il push-to-talk, usa un singolo tasto senza Ctrl, Alt o Maiusc. Con una combinazione, rilascia prima il tasto principale o il microfono potrebbe rimanere attivo." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Per questa scorciatoia, usa un singolo tasto senza Ctrl, Alt o Maiusc. Con una combinazione, rilascia prima il tasto principale o la scorciatoia potrebbe rimanere attiva." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Per \"Priorità attività vocale\", usa un singolo tasto senza Ctrl, Alt o Maiusc. Con una combinazione, rilascia prima il tasto principale o la priorità potrebbe rimanere attiva." @@ -16460,14 +16460,14 @@ msgstr "Cornice" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Frequenza fotogrammi" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "I frame rate superiori a 30 FPS richiedono {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Ricevi una notifica quando ricevi messaggi. Potrebbe essere necessario abilitare le notifiche nelle impostazioni del browser. Per i controlli per canale/community, fai clic destro sull'icona di una community e apri le impostazioni di notifica." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Scarica l'app desktop di {productName} per usare il \"push-to-talk\" a livello di sistema e altre funzionalità." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Scarica l'app desktop" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Torna a {productName} per continuare." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Torna all'app {PRODUCT_NAME}. Il processo di accesso si completerà da solo." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Torna all'app {PRODUCT_NAME}. Puoi chiudere questa scheda." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Aiuto" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Pulsante Aiuto" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Centro assistenza" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Centro assistenza" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Aiuta a tradurre {PRODUCT_NAME} nella tua lingua su <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Nascondi chat" msgid "Hide community owner crown" msgstr "Nascondi la corona del proprietario della community" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Nascondi il pulsante di download" @@ -17860,7 +17860,7 @@ msgstr "Nascondi preferiti" msgid "Hide guidelines" msgstr "Nascondi linee guida" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Nascondi il pulsante del Centro assistenza" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Nascondi i messaggi di ingresso" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Nascondi i suggerimenti per la tastiera" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Collegamento ipertestuale" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland non ha una finestra di dialogo per le scorciatoie. Aggiungi le righe per la tua versione di Hyprland alla configurazione di Hyprland e sostituisci KEY con il tasto che desideri." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland non ha una finestra di dialogo per le scorciatoie. Associa i tasti nella tua configurazione di Hyprland." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (prima di Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 e versioni successive)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Confermo in buona fede che le informazioni e le affermazioni contenute in questa segnalazione sono accurate e complete." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Ho capito" @@ -18598,11 +18598,11 @@ msgstr "Importazione… {processedCount, number} / {totalCount, number} elaborat msgid "In" msgstr "In" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "In modalità \"Sistema operativo\", i dizionari elencati sopra sono indicativi. {PRODUCT_NAME} passerà questi tag lingua al correttore ortografico del tuo sistema operativo, se supportato. I tag non riconosciuti verranno ignorati." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "In un browser, il push-to-talk funziona solo quando la scheda di {PRODUCT_NAME} è attiva. Installa l’app desktop per usare il push-to-talk a livello di sistema." @@ -18650,7 +18650,7 @@ msgstr "In chat vocale" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Dizionari in-app" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Input" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Input e output" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Inserisci emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Installa {productName} per il selettore completo delle sorgenti e controlli di condivisione schermo più fluidi." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Installa la nuova app" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Installata" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Versione installata: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Interfaccia" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Lingua dell'interfaccia" @@ -19467,13 +19467,13 @@ msgstr "Unisciti" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Unisciti a {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Unisciti a {communityName} per chattare con il team e rimanere sempre aggiornato." @@ -19561,7 +19561,7 @@ msgstr "Partecipa alla videochiamata" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Partecipa alla chat vocale" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Mantieni i livelli gratuiti e premium. Potrai personalizzare i livelli, vendere il premium tramite Stripe o distribuire codici regalo in seguito dal pannello di amministrazione." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Mantieni periodo di tolleranza" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Continua l’esecuzione" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Mantieni abbonamento" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Conserva questa pagina in un posto sicuro. Se dimentichi la password, puoi usarla per rientrare nel tuo account. Chiunque possieda questa chiave di recupero può reimpostare la tua password, quindi non condividerla mai." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Continua a trasmettere per breve tempo dopo aver rilasciato il pulsante." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Tastiera" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Impossibile avviare l'accesso alla tastiera. Le scorciatoie funzionano solo quando {productName} è in primo piano." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Modalità tastiera" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Suggerimenti per le scorciatoie da tastiera nei tooltip" @@ -19923,7 +19923,7 @@ msgstr "Impostazioni lingua" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Lingue" @@ -19971,7 +19971,7 @@ msgstr "Grafico latenza" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Consentito al membro di sentire di nuovo gli altri in questa community" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Permette a {productName} di leggere direttamente la tastiera. Disattiva questa opzione per configurare le scorciatoie tramite il tuo desktop." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Permette a {productName} di leggere direttamente la tastiera. Il tuo sistema lo consente già." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Linux (predefinito)" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Pacchetto Linux" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "File locali" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Ora locale" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Aspetto" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Sembra che tu stia usando {0}. L'elaborazione di {PRODUCT_NAME} in aggiunta può causare pumping o distorsione. L'input diretto lascia il tuo audio inalterato." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Nomina proprietario del gruppo" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Assicurati che questo codice corrisponda a quello nell'app {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Gestisci il tuo abbonamento" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Aggiornamento manuale dell'app desktop" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Volume principale" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Categoria per adulti" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Canale per adulti" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Community per adulti" @@ -21194,7 +21194,7 @@ msgstr "Controllo contenuti per adulti inviato" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "I controlli dei contenuti per adulti sono attualmente disponibili solo nel Regno Unito." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Ruoli del membro aggiornati" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Membro dal" @@ -22013,7 +22013,7 @@ msgstr "Microfono" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Prova microfono" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Gatto Neko che insegue il cursore" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "I nuovi utenti non possono entrare nella community in questo momento. Puoi comunque creare un account o accedere, poi riprovare questo link più tardi." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Nuova versione" @@ -23465,7 +23465,7 @@ msgstr "Nessun messaggio salvato" msgid "No bot banner" msgstr "Nessun banner bot" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Nessuna fotocamera trovata" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Nessuna descrizione." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Nessun aggiornamento desktop disponibile." @@ -23684,7 +23684,7 @@ msgstr "Nessun post corrispondente" msgid "No mentions yet" msgstr "Nessuna menzione ancora" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Nessun microfono trovato" @@ -23731,7 +23731,7 @@ msgstr "Nessuna richiesta in sospeso corrisponde alla ricerca" msgid "No permissions found" msgstr "Nessun permesso trovato" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Ancora nessuna parola personale." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Non consentito" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Non assegnato" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Al clic" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "Sul tuo altro dispositivo, accedi a {signInAddress} e inserisci questo codice quando richiesto." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Apri {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Apri {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Apri il selettore account" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Apri impostazioni multimediali avanzate" @@ -24788,7 +24788,7 @@ msgstr "Apri opzioni banner" msgid "Open bookmarks" msgstr "Apri i messaggi salvati" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Apri il browser" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Apri selettore data" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Apri download desktop" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Apri impostazioni" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Apri il centro software" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Apri Impostazioni di Sistema" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Apri Impostazioni di Sistema → Privacy e Sicurezza → Registrazione schermo, quindi consenti {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Apri il JSON del modello" @@ -25089,7 +25089,7 @@ msgstr "Apri il JSON del modello" msgid "Open the context menu" msgstr "Apri il menu contestuale" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Apri il link qui sotto nel tuo browser, poi copia l'intera risposta JSON e incollala nella casella." @@ -25167,11 +25167,11 @@ msgstr "Apri le impostazioni audio e video" msgid "Open with {accountName} on {instanceName}" msgstr "Apri con {accountName} su {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Apri il browser, accedi, quindi inserisci il codice qui sotto per collegare il tuo account." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Apri la tua vecchia app {PRODUCT_NAME} e scegli Collega un nuovo dispositivo, quindi inserisci il codice qui sotto." @@ -25199,7 +25199,7 @@ msgstr "Apre la pagina Membri. Premi Spazio o Invio per aprire." #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Sistema operativo" @@ -25629,7 +25629,7 @@ msgstr "Ultimi 7 giorni" msgid "Paste" msgstr "Incolla" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Incolla l’URL di un modello di {theOtherPlatform} per importarne la struttura in una nuova community." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Permessi per {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Dizionario personale" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Scegli almeno un tag per questo post." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Scegli uno o più dizionari. Le parole di qualsiasi dizionario selezionato vengono accettate, il che è utile per le chat multilingue." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Caricamento prezzi in corso." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Acquisti non disponibili" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Tasto \"Premi per parlare\"" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Push-to-talk" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Premi per parlare (limitato)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Il push-to-talk non ha ancora un tasto a livello di sistema. Per impostarne uno, vai su Impostazioni > Applicazioni > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Il push-to-talk non ha ancora un tasto a livello di sistema. Per impostarne uno, vai su Impostazioni di sistema > Tastiera > Scorciatoie > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Il push-to-talk non ha ancora un tasto a livello di sistema. Per impostarne uno, apri le impostazioni delle scorciatoie da tastiera del tuo desktop." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Il push-to-talk viene ignorato in modalità \"Input diretto\". Passa a \"Voce isolata\" o \"Personalizzato\" per usarlo." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Push-to-talk attivo. Tieni premuto il tasto del push-to-talk per parlare." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Il push-to-talk funziona solo quando {productName} è in primo piano perché il tuo desktop non ha configurato le scorciatoie a livello di sistema." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Il pulsante di attivazione vocale funziona solo finché {productName} è attivo finché {permissionName} non è abilitato." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Il push-to-talk funziona solo quando {productName} è in primo piano finché non configuri le scorciatoie a livello di sistema." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Il \"Premi per parlare\" funziona solo quando la scheda del browser è attiva." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Il push-to-talk userà il tasto impostato in {productName}. Impostane prima uno, altrimenti il microfono userà l'attività vocale." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Il push-to-talk non riattiva il microfono quando hai disattivato l’audio. Riattiva l’audio per parlare." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Il push-to-talk funziona al di fuori di {productName} solo dopo averlo associato nella configurazione di Hyprland." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Il push-to-talk funziona al di fuori di {productName} solo dopo averlo associato nella configurazione di Hyprland. Aggiungi la riga per la tua versione di Hyprland e sostituisci KEY con il tasto desiderato." @@ -27533,12 +27533,12 @@ msgstr "I destinatari verranno reindirizzati a {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Consigliato" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Consigliato. Migliora l'audio del microfono per una voce più chiara." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Riconnessione riuscita. Scegli di nuovo uno schermo se vuoi riprendere il tuo stream precedente." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Riconnessione al desktop in corso…" @@ -27836,7 +27836,7 @@ msgstr "Riavvia per applicare" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Ritardo di rilascio" @@ -27853,7 +27853,7 @@ msgstr "Rilevanti" msgid "Reload" msgstr "Ricarica" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Ricarica {PRODUCT_NAME} per applicare completamente il cambio di motore. Il passaggio tra il controllo ortografico in-app e quello di sistema richiede il ricaricamento del renderer, perché Electron non può cambiare provider durante l’esecuzione." @@ -27872,7 +27872,7 @@ msgstr "Ricarica {productName} per utilizzare l'aggiornamento web {version}" msgid "Reload app" msgstr "Ricarica l'app" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Ricarica ora" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Rimuovi" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Rimuovi \"{word}\" dal dizionario" @@ -28086,8 +28086,8 @@ msgstr "Rimuovi dalle GIF preferite salvate solo tramite URL" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Rimuovi icona" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Righe per pagina" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "Pacchetto RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Sicurezza" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "La tua stessa ora" @@ -29770,7 +29770,7 @@ msgstr "Registrazione schermo" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Autorizzazione registrazione schermo richiesta" @@ -29858,7 +29858,7 @@ msgstr "Privacy condivisione schermo" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Qualità della condivisione schermo" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Cerca codice lingua…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Cerca lingue…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Seleziona GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Seleziona la lingua dell'interfaccia" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Seleziona l'account con cui vuoi accedere sul tuo nuovo dispositivo." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Seleziona la modalità di elaborazione vocale" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Invia l'audio grezzo del microfono senza elaborazione." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Invia l'audio senza modifiche. Ideale se usi software audio esterni." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Impostata una posizione nell'elenco membri per il ruolo" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Impostato dalla preselezione {preset}. La scelta di un valore qui passa a Personalizzato." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Impostata la regione vocale su automatica" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Configura" @@ -31307,7 +31307,7 @@ msgstr "Condividi con un amico" msgid "Share your screen" msgstr "Condividi il tuo schermo" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Condividi il tuo schermo in alta definizione (1080p), Quad HD (1440p) o risoluzione nativa, fino a 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Codici brevi" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Scorciatoia" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Badge scorciatoie" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Mostra pulsante preferiti" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Mostra i preferiti in tutta l'app" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Accedi con il tuo browser" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Accedi con la tua vecchia app {productName}" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Vuoi disconnetterti?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Accesso annullato" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Dettagli accesso" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Flusso di accesso" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Accesso come {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Accedi da un altro dispositivo?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Suoni" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Velocità" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Controllo ortografico" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Motore di controllo ortografico" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Animazione stella" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Canali preferiti" @@ -33140,7 +33140,7 @@ msgstr "Avviare una chiamata vocale?" msgid "Start call" msgstr "Avvia chiamata" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Avvia il test della fotocamera e configura gli effetti" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Avvia ridotto a icona" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Avvio" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Neko statico" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Indicizzazione in corso. Riprova tra un momento" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Neko immobile" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "In attesa dell'accesso alla registrazione dello schermo" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Interrompi test del microfono" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Impedisci a Neko di inseguire il cursore, mantenendolo trascinabile e interattivo." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Abbonamento già esistente" @@ -33957,7 +33957,7 @@ msgstr "Passa al layout ampio" msgid "Switch to dense layout" msgstr "Passa al layout compatto" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Passa all'input diretto" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "I DM di sistema non possono ospitare chiamate vocali." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Formato orario del sistema: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Area di notifica" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Installazione gestita dal sistema" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Scorciatoie a livello di sistema" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Impossibile configurare le scorciatoie a livello di sistema." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Tocca per aggiungere una nota" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "Archivio tar.gz" @@ -34360,7 +34360,7 @@ msgstr "Badge barra delle applicazioni" msgid "Teleporting you to another voice region..." msgstr "Teletrasporto in corso in un'altra regione vocale..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Modello" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "L'app {PRODUCT_NAME} sul tuo altro dispositivo la mostra sotto \"Accesso da un altro dispositivo\". Inserisci solo un codice da un dispositivo che controlli." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "L'app {PRODUCT_NAME} non è stata autenticata. Puoi chiudere questa scheda." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "La community che cerchi potrebbe essere stata eliminata o potresti non avere accesso." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Non è stato possibile scaricare l'aggiornamento desktop. Riprova dal pulsante di aggiornamento quando la tua connessione sarà stabile." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Il file scaricato viene salvato sul tuo computer. Installalo con il tuo normale gestore di pacchetti." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Questa categoria contiene già il numero massimo di {maxChannelsPerCategory} canali." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Questa categoria è contrassegnata per contenuti per adulti e potrebbe contenere materiale non adatto ad alcuni utenti." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Questo canale ha un avviso sui contenuti. Gli aggiornamenti possono essere inviati solo a canali con un avviso sui contenuti o una restrizione d'età." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Questo canale è contrassegnato per contenuti per adulti e potrebbe contenere materiale non adatto ad alcuni utenti." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Questa community è al completo" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Questa community è contrassegnata per contenuti per adulti e potrebbe contenere materiale non adatto ad alcuni utenti." @@ -35324,14 +35324,14 @@ msgstr "Questa community non è più disponibile" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Connessione verificata." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Questa connessione non è stata verificata." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Questa conversazione non è più disponibile." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Questa versione per desktop non può installare gli aggiornamenti all'interno di {productName}. Scarica invece l'ultima versione dell'installer per desktop." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Questo desktop non offre scorciatoie a livello di sistema. Il push-to-talk funziona solo quando {productName} è in primo piano." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Questo desktop non offre scorciatoie a livello di sistema. Le scorciatoie funzionano comunque quando {productName} è in primo piano." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Questa build di sviluppo non può aggiornarsi automaticamente. Scarica un programma di installazione desktop per testare il flusso di aggiornamento." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Impossibile leggere questa immagine. Potrebbe essere danneggiata." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Questa installazione è gestita dal tuo sistema. Aggiorna {productName} tramite il tuo store di applicazioni o gestore pacchetti." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Questa istanza utilizza già i nomi utente per l'accesso. Non è più possibile modificarlo." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Questa istanza attualmente consente la condivisione dello schermo fino a 720p a 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Questo link non è valido. Riprova ad aprire il link dalla tua email." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Questa categoria per adulti non è disponibile per il tuo account." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Questa categoria per adulti non è disponibile per il tuo account. <0>Scopri di più" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Questo canale per adulti non è disponibile per il tuo account." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Questo canale per adulti non è disponibile per il tuo account. <0>Scopri di più" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Questa community per adulti non è disponibile per il tuo account." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Questa community per adulti non è disponibile per il tuo account. <0>Scopri di più" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Questi contenuti per adulti non sono disponibili per il tuo account." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Questi contenuti per adulti non sono disponibili per il tuo account. <0>Scopri di più" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Questo piano non è disponibile. Contatta l'assistenza." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Questo piano non è disponibile. Contatta gli amministratori di questa istanza." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Questo acquisto non è idoneo per un rimborso." @@ -35837,7 +35853,7 @@ msgstr "Questo thread è bloccato. Solo i moderatori possono inviare messaggi." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Questo utente ha limitato il proprio profilo. Alcuni dettagli sono nascosti alle persone che non sono suoi amici." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Questo utente non ha ruoli in questa community." @@ -36050,14 +36066,14 @@ msgstr "Ora" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Formato ora" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Selezione formato ora" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Piattaforma della barra del titolo" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Per cambiare i tasti, vai su Impostazioni > Applicazioni > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Per cambiare i tasti, vai su Impostazioni di sistema > Tastiera > Scorciatoie > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Per cambiare i tasti, apri le impostazioni delle scorciatoie da tastiera del tuo desktop." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Barra degli strumenti" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Scorciatoie per i suggerimenti" @@ -36864,7 +36880,7 @@ msgstr "Ventiquattro ore" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Due clic" @@ -37263,7 +37279,7 @@ msgstr "Fallback universale. Qualità più bassa, ma funziona ovunque." #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Sconosciuto" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Sblocca le emoji personalizzate nei DM con {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Sblocca la condivisione schermo HD con {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Fino a 720p a 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Aggiorna {productName} per usare le scorciatoie a livello di sistema su Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Aggiorna il mio stato" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Aggiorna ora" @@ -38008,8 +38024,8 @@ msgstr "Carica file e contenuti multimediali in questo canale." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Carica icona" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Usa {name} su {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Usa {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Usa {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Usa un metodo alternativo" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Usa lo scorrimento automatico" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Usa la carta" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Usa predefinito" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Usa l'accesso diretto ai dispositivi di input" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Usa sticker di altre community." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Usa le impostazioni internazionali del sistema per il formato dell'ora" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Usa la cornice della finestra del sistema operativo" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Usa il correttore ortografico integrato nel tuo sistema operativo." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Usa l'attività vocale" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Usa il correttore ortografico del tuo sistema operativo, se disponibile. Altrimenti, usa i dizionari integrati di {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Verifica prima la tua email" @@ -39244,7 +39260,7 @@ msgstr "Visualizza dettagli" msgid "View devices that are signed in to your account" msgstr "Visualizza i dispositivi che hanno effettuato l'accesso al tuo account" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Visualizza profilo completo" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Canale vocale" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Conferma canale vocale" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Canale vocale pieno" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Comportamento di accesso ai canali vocali" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Partecipanti alla chat vocale" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Elaborazione voce" @@ -39661,7 +39677,7 @@ msgstr "Audio riattivato" msgid "Voice unmute" msgstr "Microfono riattivato" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "La voce utilizza il dispositivo di output del tuo sistema in questo browser. Modificalo nelle impostazioni di sistema." @@ -39675,7 +39691,7 @@ msgstr "Annullato" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Tempo di attesa tra i messaggi. I membri con il permesso \"{bypassSlowmo msgid "Waiting for connection..." msgstr "In attesa di connessione..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "In attesa della passkey…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "In attesa che tu..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "In attesa del tuo desktop…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Non è stato possibile leggere questo tema. Potrebbe essere danneggiato o non valido." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Abbiamo ridimensionato e compresso questo sticker a 320x320 pixel, ma la msgid "We sent a code to {email}." msgstr "Abbiamo inviato un codice a {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Precompileremo {prefillEmail} quando si aprirà l'accesso tramite browser." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Anteprime siti web" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Bentornato" @@ -40321,7 +40337,7 @@ msgstr "Quali community" msgid "Which conversations" msgstr "Quali conversazioni" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Quando il push-to-talk è attivo, la scorciatoia controlla il microfono, quindi il pulsante per disattivarlo è disabilitato." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Hai appena premuto Tab. La modalità tastiera è ora attiva, così puoi navigare in {productName} senza mouse." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Manterrai i tuoi vantaggi fino alla prossima data di rinnovo. Riattiva l’abbonamento prima di allora per mantenere la tua cronologia di abbonato." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Perderai immediatamente tutti i vantaggi di {PREMIUM_PRODUCT_NAME} e la cronologia dell'abbonamento verrà reimpostata. Questa azione non può essere annullata." @@ -41137,8 +41153,8 @@ msgstr "Per usare le emoji di altre community qui, ti serve l'autorizzazione \"{ msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Per usare gli sticker di altre community qui, ti serve il permesso \"{permissionLabel}\"." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Devi completare la registrazione del tuo account prima di poter creare una community." @@ -41155,8 +41171,8 @@ msgstr "Devi completare la registrazione del tuo account per inviare messaggi di msgid "You need to claim your account to send messages in this community." msgstr "Devi completare la registrazione del tuo account per inviare messaggi in questa community." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Devi verificare il tuo indirizzo email prima di poter creare una community." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Devi verificare la tua email prima di poter acquistare {premiumProductFullName}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Risulterai offline" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Ti verrà addebitato ora. Il tuo tempo regalo rimanente verrà aggiunto dopo il tuo periodo a pagamento, così non ne perderai nulla." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Sei già Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Invii segnalazioni troppo velocemente. Riprova più tardi." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Sei connesso" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Il tuo account è troppo nuovo per inviare messaggi in questa community. msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "La tua richiesta di account è in attesa di approvazione. Potrai accedere dopo l’approvazione di un amministratore." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Il tuo account richiede l'autenticazione a più fattori, ma nessun metodo supportato è configurato su questo dispositivo. Accedi da un dispositivo con la tua app di autenticazione o la chiave di sicurezza, oppure contatta il supporto." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Il tuo account richiede l'autenticazione a più fattori, ma nessun metodo supportato è configurato su questo dispositivo. Accedi da un dispositivo con la tua app di autenticazione o la chiave di sicurezza, oppure contatta gli amministratori di questa istanza." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "I tuoi account e le tue impostazioni non sono stati modificati o eliminati." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "La tua azione non può essere completata perché è stata segnalata dai nostri sistemi di sicurezza. Se pensi che sia un errore, contatta l'assistenza." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "La tua azione non può essere completata perché è stata segnalata dai nostri sistemi di sicurezza. Se pensi che sia un errore, contatta gli amministratori di questa istanza." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Il tuo kit attuale smette di funzionare non appena ne viene creato uno nuovo." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Il tuo desktop non ha configurato le scorciatoie a livello di sistema." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Il tuo desktop riserva questi tasti a {productName}, quindi le altre app non possono usarli." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Il tuo desktop riserva questi tasti a {productName}, quindi le altre app non possono usarli. Per usare lo stesso tasto in altre app, attiva l'accesso diretto ai dispositivi di input qui sotto." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Il tuo desktop esegue queste scorciatoie anche quando {productName} non è in primo piano." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Il tuo tempo in regalo è terminato. Abbonati per mantenere {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Il tuo tempo regalo è conservato" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Il tuo periodo di tolleranza è terminato." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "La tua installazione è danneggiata. Reinstalla l'app per accedere a tutte le funzionalità." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Il tuo ultimo acquisto non rientra nel periodo di rimborso. Contatta l'assistenza per problemi di fatturazione." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Non è stato possibile consegnare il tuo messaggio perché è stato segnalato dai nostri sistemi di sicurezza. Se ritieni che si tratti di un errore, contatta il supporto." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Non è stato possibile consegnare il tuo messaggio perché è stato segnalato dai nostri sistemi di sicurezza. Se ritieni che si tratti di un errore, contatta gli amministratori di questa istanza." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Impossibile consegnare il messaggio. Questo di solito accade perché non condividi una community con il destinatario o perché il destinatario accetta messaggi diretti solo dagli amici. Potrebbe anche essere necessario modificare le tue impostazioni sulla privacy dei messaggi diretti in {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Impossibile consegnare il messaggio. Devi completare la registrazione del tuo account per inviare messaggi diretti." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Impossibile consegnare il messaggio. Devi completare la registrazione del tuo account per inviare messaggi." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "La tua segnalazione non è stata inviata. Riprova." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "La tua impostazione salvata {savedResolution} a {savedFrameRate} FPS richiede {premiumProductName}, quindi le condivisioni usano {resolution} a {frameRate} FPS." diff --git a/fluxer_app/src/features/i18n/locales/ja/messages.po b/fluxer_app/src/features/i18n/locales/ja/messages.po index 1fcd52d4b..cae7da4ae 100644 --- a/fluxer_app/src/features/i18n/locales/ja/messages.po +++ b/fluxer_app/src/features/i18n/locales/ja/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} はこのアプリより新しいバージョンの Fluxer を実行しています。Fluxer をアップデートしてから、もう一度お試しください。" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "あなたより{duration}進んでいます" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "あなたより{duration}遅れています" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {#時間前} other {#時間前}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {#時間} other {#時間}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {#時間} other {#時間}}{minutes, plural, one {#分} other {#分}}" @@ -1602,7 +1602,7 @@ msgstr "「{label}」のファイルサイズが大きすぎます。{maxSizeLab msgid "{label} images cannot be animated. Use a static image." msgstr "「{label}」の画像はアニメーションにできません。静止画像を使用してください。" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "{languageName}の旗" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {#分前} other {#分前}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, other {#分}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME}が<0>{deviceName}という新しいオーディオ出 msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "Chromiumのネイティブスクロール設定をスクロールの動作に反映するには、{PRODUCT_NAME}を再起動する必要があります。" -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "ハードウェアアクセラレーションを有効にするには、{PRODUCT_NAME}を再起動する必要があります。" -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "タイトルバーの変更を反映するには、{PRODUCT_NAME}を再起動する必要があります。" -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "Chromiumのハードウェアアクセラレーションを無効にするには、{PRODUCT_NAME}を再起動する必要があります。この設定は、グラフィックの不具合やGPU使用率の高さをトラブルシューティングする場合にのみ使用してください。" @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "{productName}バグハンター" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName}は、{productName}がフォーカスされていない間もショートカットを実行するようデスクトップに依頼できます。デスクトップで確認が求められ、キーを選択できます。" #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName}がキーボードを読み取れなくなったため、代わりにX11経由でショートカットを受け付けます。" #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName}がキーボードを読み取れなくなったため、代わりにデスクトップのショートカットが使用されます。" #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName}がキーボードを読み取れなくなりました。ショートカットは{productName}がフォーカスされている間のみ機能します。" #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName}がフォーカスされていない間もショートカットが動作するよう、{productName}はショートカットをHyprlandに登録できます。登録後、Hyprlandの設定でキーをバインドしてください。" @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName}ではハードウェアエンコーダーを使用できないため、CPUが使用されます。" #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName}を終了し、アップデートをインストールしてから再度開きます。" #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName}はアップデートサービスに接続できませんでした。接続を確認して、もう一度お試しください。" @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName}は{host}に移動しました。ブラウザで開いて新しいアプリをインストールしてください。" #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "{productName}のメンバー登録日" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName}にはマイクへのアクセスが必要です。OSのプライバシー設定でマイクへのアクセスを許可し、アプリを再起動してください。" #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName}がデバイスを一覧表示するには、カメラへのアクセスが必要です。" #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName}がデバイスを一覧表示するには、マイクへのアクセスが必要です。" @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "{productName} のリカバリーキット" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName}はショートカットをHyprlandに登録しました。{productName}がフォーカスされていない間も使うには、Hyprlandの設定でバインドしてください。" @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12か月(1年)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12時間制" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24時間" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24時間制" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "ホスト名(例: {exampleDomain})" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Linuxデスクトップ版のアップデートが利用可能です。このシステムで使用するパッケージ形式を選択すると、{productName}がファイルをローカルに保存します。" @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "1分" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "新しいデスクトップ版が利用可能です。インストーラーをダウンロードして実行し、{productName}を更新してください。" @@ -2817,7 +2817,7 @@ msgstr "{appName}について" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "自己紹介" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "アクティビティの共有" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "アクティビティしきい値" @@ -3155,7 +3155,7 @@ msgstr "実際のサイズ" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "追加" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "アカウントにユーザー名とパスワードを追加してください。" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "単語を追加…" @@ -3244,7 +3244,7 @@ msgstr "YouTube Data APIキーを追加すると、YouTubeリンクの表示を #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "アカウントを追加" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "アドレス" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "ノイズ抑制、エコーキャンセル、ゲインを自分で調整します。" @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "詳細設定" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "高度なビデオ設定" @@ -3906,22 +3906,22 @@ msgstr "許可" msgid "Allow {everyoneMention} and {hereMention}" msgstr "{everyoneMention}と{hereMention}を許可する" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "{PRODUCT_NAME} がカメラにアクセスできるように、システム設定 → プライバシーとセキュリティ → カメラ で設定してください。" -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "{PRODUCT_NAME}がマイクにアクセスできるように、システム設定 → プライバシーとセキュリティ → マイクで許可してください。" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "{PRODUCT_NAME}がマイクにアクセスすることを許可してください。ブラウザのアドレスバーまたは設定を確認してください。" #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "{productName} を「システム設定」の「画面収録」で許可してください。すでに許可されている場合は、macOS が適用できるように {productName2} を再起動してください。" @@ -3961,7 +3961,7 @@ msgstr "ボットからのダイレクトメッセージを許可" msgid "Allow bots to send you direct messages?" msgstr "ボットからのダイレクトメッセージを許可しますか?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "カメラを許可" @@ -4029,7 +4029,7 @@ msgstr "「{readMessageHistoryPermissionLabel}」権限がないメンバーが msgid "Allow mentions for this role" msgstr "このロールへのメンションを許可" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "マイクを許可" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "リンクに常に下線を表示" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "{productName}のHunspell辞書を常に使用し、必要に応じてダウンロードする。" @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "アプリアイコンバッジ" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "アプリ言語の時刻形式: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "承認が必要" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "すでにお使いの{productName}アプリからこのアプリを承認してください。パスワードは不要です。" @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "{authorizedOn}に承認済み" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "自動" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "言語を自動検出" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "アクティビティしきい値を自動設定" @@ -5534,7 +5534,7 @@ msgstr "AV1(オプトインが必要)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "利用可能" @@ -5608,11 +5608,11 @@ msgstr "現在離席中" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "最高の圧縮率。WebRTCがエンコーダーを公開し、GPUレポートでハードウェアサポートが示されている場合にのみ使用してください。" #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "デスクトップアプリがおすすめ" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "ブラウザ: ホーム" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "ブラウザの時刻形式: {format}" @@ -6545,8 +6545,8 @@ msgstr "{premiumProductName}タブから{premiumProductName}ギフトを購入 msgid "Buy gift" msgstr "ギフトを購入" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "コミュニティを作成すると、<0>{PRODUCT_NAME}のコミュニティガイドラインに従い、これを守ることに同意したことになります。" @@ -6658,7 +6658,7 @@ msgstr "通話" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "カメラプレビュー" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "カメラの品質" @@ -6809,8 +6809,8 @@ msgstr "ここにファイルをアップロードできません" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "予約済みの切り替えをキャンセル" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "サブスクリプションをキャンセル" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "サブスクリプションをキャンセルしますか?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "カテゴリ" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "カテゴリのコンテンツ警告" @@ -7131,15 +7131,15 @@ msgstr "グループニックネームを変更" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "アイコンを変更" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "システム設定で変更" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "チャンネルバッジ" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "チャンネルのコンテンツ警告" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "チャットショートカット" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "再確認" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "アクセス権を確認中…" #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "画面録画の許可を確認しています…" @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "購入手続きを利用できません" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "このサブスクリプションのお支払い方法を選択してください。" @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "支払い方法を選択" @@ -8174,7 +8174,7 @@ msgstr "デフォルトを選択" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "インスタンスを選択してください" @@ -8216,8 +8216,8 @@ msgstr "ギフトを受け取る" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "アカウントを登録" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "コミュニティバッジ" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "コミュニティコンテンツの警告" @@ -9089,8 +9089,8 @@ msgstr "コミュニティDM" msgid "Community filter" msgstr "コミュニティフィルター" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "コミュニティアイコン" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "コミュニティを更新しました" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "コミュニティボイス" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "支払いを完了" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "成人向けコンテンツの確認を完了して、成人向けメディアのロックを解除してください。" @@ -9409,7 +9409,7 @@ msgstr "確認" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "ボイスチャンネル参加時に確認する" @@ -9457,7 +9457,7 @@ msgstr "報告を送信するには、この表明を確認してください。 #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "ボイス参加の確認" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "確認" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "コミュニティボイスへの参加時の確認またはダブルクリック" @@ -9476,7 +9476,7 @@ msgstr "コミュニティボイスへの参加時の確認またはダブルク msgid "Conflicts with {conflictLabel}" msgstr "{conflictLabel}と競合しています" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "カメラを接続して、もう一度お試しください。" @@ -9489,7 +9489,7 @@ msgstr "カメラまたは仮想キャプチャデバイスを接続してから msgid "Connect a display, then try again." msgstr "ディスプレイを接続してから、もう一度お試しください。" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "マイクを接続して、もう一度お試しください。" @@ -9633,7 +9633,7 @@ msgstr "接続: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "連絡先" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "コンテンツがブロックされました" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "ブラウザで続ける" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "チェックアウトに進む" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "パスキーで続行" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "招待URLをコピー" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "行をコピー" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "行をコピー(hyprland.conf用)" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "行をコピー(hyprland.lua用)" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "価格を変更できませんでした" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "アップデートを確認できませんでした" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "メッセージを削除できませんでした" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "デスクトップ版のアップデートをダウンロードできませんでした" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "チェックアウトを開始できませんでした" @@ -10932,7 +10932,7 @@ msgstr "作成・シェア" msgid "Create a community" msgstr "コミュニティを作成" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "友達とチャットするためのコミュニティを作成しましょう。" @@ -11365,7 +11365,7 @@ msgstr "カスタム" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "モデレーターによりスピーカーミュートされています" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEBパッケージ" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "デスクトップアプリ" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "デスクトップアプリは最新です" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "デスクトップ版アップデート {version} が利用可能です。Linuxパッケージを選択してください。" #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "デスクトップ版のアップデートがあります" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "デスクトップ版のアップデートがあります。Linuxパッケージを選択してください。" #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "デスクトップ版バージョン{version}が利用可能です。インストーラーをダウンロードして実行し、{productName}を更新してください。" @@ -12613,7 +12613,7 @@ msgstr "詳細: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "入力中に検出" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "開発者ツールは利用できません" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "開発ビルド" @@ -13455,8 +13455,8 @@ msgstr "ダウンロード" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "{productName}をダウンロード" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification をダウンロードして <1>.well-known フォルダーに配置してください。ドメインの検証に使用します。" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "アプリをダウンロード" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "アプリをダウンロード" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "ダウンロードボタン" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "デスクトップ版アプリをダウンロード" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "画像をダウンロード" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "インストーラーをダウンロード" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "メディアをダウンロード" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "パッケージをダウンロード" @@ -13655,11 +13655,11 @@ msgstr "アイテムをドロップ" msgid "Drop to upload background" msgstr "ドロップして背景をアップロード" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "{regionName}の成人向けコンテンツ規制法により、成人向けコンテンツの確認が完了するまでコンテンツはブロックされます。" -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "{regionName}の成人向けコンテンツ規制法により、この地域からは成人向けコンテンツをご利用いただけません。成人向けコンテンツの確認は、英国でのみ可能です。" @@ -13673,7 +13673,7 @@ msgstr "{regionName}の成人向けコンテンツ規制法により、成人向 msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "{regionName}の成人向けコンテンツ規制法により、このコンテンツは現在ご利用いただけません。成人向けコンテンツの確認は、英国でのみご利用いただけます。" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "{regionName}の成人向けコンテンツ規制法により、このメディアは現在の地域ではご利用いただけません。" @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "各コードは、認証アプリの代わりとして一度だけ使用できます。" #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "各キーで実行できるシステム全体のショートカットは1つだけです。" @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "有効にする" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "{permissionName}の権限を有効にする" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "ショートカットを有効にする" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "スペルチェックを有効にする" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "猶予期間を終了" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "猶予期間を終了" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "猶予期間を今すぐ終了しますか?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "セキュリティキーのPINを入力して続行してください。" #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "ブラウザでこのコードを入力してください" @@ -14845,7 +14845,7 @@ msgstr "ブラウザでこのコードを入力してください" msgid "Enter this code in your browser to complete sign-in." msgstr "サインインを完了するには、ブラウザでこのコードを入力してください。" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "このコードを古い{PRODUCT_NAME}アプリに入力して、サインインを完了してください。" @@ -14916,7 +14916,7 @@ msgstr "システム全体の音声" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "入室サウンド" @@ -15026,7 +15026,7 @@ msgstr "夜" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "マイクの音量を均一にして、小さくなりすぎないようにします。" @@ -15249,7 +15249,7 @@ msgstr "有効期限: {earliest}〜{latest}" msgid "Expires in {remaining}s" msgstr "{remaining}秒で期限切れ" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "{remainingSeconds}秒で期限切れ" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "チャンネルをお気に入りに追加" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "お気に入りチャンネル" @@ -16243,7 +16243,7 @@ msgstr "{threeHours}時間" msgid "For {twentyFourHours} hours" msgstr "{twentyFourHours}時間" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "英国の方だけのお楽しみ…" @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "自分用" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "プッシュトゥミュートには、Ctrl、Alt、Shiftを含まない単一のキーを使用してください。組み合わせキーの場合は、先にメインキーを離さないとマイクがミュートのままになることがあります。" #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "プッシュトゥトークには、Ctrl、Alt、Shiftを含まない単一のキーを使用してください。組み合わせキーの場合は、先にメインキーを離さないとマイクがオンのままになることがあります。" #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "このショートカットには、Ctrl、Alt、Shiftを含まない単一のキーを使用してください。組み合わせキーの場合は、先にメインキーを離さないとショートカットが有効なままになることがあります。" #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "音声検出の優先には、Ctrl、Alt、Shiftを含まない単一のキーを使用してください。組み合わせキーの場合は、先にメインキーを離さないと優先がオンのままになることがあります。" @@ -16460,14 +16460,14 @@ msgstr "ウィンドウ枠" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "フレームレート" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "30 FPSを超えるフレームレートには{premiumProductName}が必要です" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "メッセージ受信時に通知を受け取れます。ブラウザの設定で通知を許可する必要がある場合があります。チャンネルごと/コミュニティごとの設定は、コミュニティアイコンを右クリックして通知設定を開いてください。" #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "システム全体のプッシュトゥトークやその他の便利な機能を使うには、{productName}デスクトップアプリをダウンロードしましょう。" #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "デスクトップアプリを入手" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "{productName}に戻って続行してください。" #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "{PRODUCT_NAME}アプリに戻る。自動的にサインインが完了します。" #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "{PRODUCT_NAME}アプリに戻る。このタブは閉じても大丈夫です。" @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "ヘルプ" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "ヘルプボタン" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "ヘルプセンター" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "ヘルプセンターボタン" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "<0>{I18N_WEBLATE_DOMAIN}で{PRODUCT_NAME}をあなたの言語に翻訳するお手伝いをしてください。" @@ -17841,7 +17841,7 @@ msgstr "チャットを非表示" msgid "Hide community owner crown" msgstr "コミュニティオーナーの王冠を非表示" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "ダウンロードボタンを非表示" @@ -17860,7 +17860,7 @@ msgstr "お気に入りを非表示" msgid "Hide guidelines" msgstr "ガイドラインを非表示" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "ヘルプセンターボタンを非表示" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "参加メッセージを非表示" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "キーボードのヒントを非表示" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "ハイパーリンク" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprlandにはショートカットのダイアログがありません。お使いのHyprlandのバージョンに合った行をHyprlandの設定に追加し、KEYを使いたいキーに置き換えてください。" #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprlandにはショートカットのダイアログがありません。Hyprlandの設定でキーをバインドしてください。" #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf(Hyprland 0.55より前)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua(Hyprland 0.55以降)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "私は、本通知に記載された情報および申し立てが正確かつ完全であることを、誠意をもって確認します。" #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "内容を理解しました" @@ -18598,11 +18598,11 @@ msgstr "インポート中… {processedCount, number}/{totalCount, number}件 msgid "In" msgstr "チャンネル内" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "「OS」モードでは、上記の辞書は参考として扱われます。{PRODUCT_NAME}は、サポートされている場合、これらの言語タグをOSのスペルチェッカーに渡します。認識されないタグは無視されます。" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "ブラウザでは、プッシュトゥトークは{PRODUCT_NAME}タブがフォーカスされている間のみ機能します。システム全体でプッシュトゥトークを使用するには、デスクトップアプリをインストールしてください。" @@ -18650,7 +18650,7 @@ msgstr "ボイスチャットに参加中" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "アプリ内辞書" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "入力" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "入力と出力" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "絵文字を挿入" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "より詳細なソースピッカーとスムーズな画面共有コントロールには、{productName}をインストールしてください。" @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "新しいアプリをインストール" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "インストール済み" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "インストール済みのバージョン: {currentVersion}。" @@ -19031,7 +19031,7 @@ msgstr "インターフェース" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "インターフェース言語" @@ -19467,13 +19467,13 @@ msgstr "参加" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "{communityName}に参加" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "{communityName}に参加して、チームとチャットしながら最新情報をチェックしましょう。" @@ -19561,7 +19561,7 @@ msgstr "ビデオ通話に参加" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "ボイスに参加" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "無料版とプレミアム版を残します。ティアをカスタマイズしたり、Stripe で" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "猶予期間を保持" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "常駐" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "サブスクリプションを継続" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "このページは安全な場所に保管してください。パスワードを忘れた場合、アカウントに再度アクセスするために使用できます。このリカバリーキーを持つ人は誰でもパスワードをリセットできるため、絶対に共有しないでください。" #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "ボタンを離した後も、しばらく送信し続けます。" @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "キーボード" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "キーボードへのアクセスを開始できませんでした。ショートカットは{productName}がフォーカスされている間のみ機能します。" @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "キーボードモード" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "ツールチップに表示されるキーボードショートカットのヒント" @@ -19923,7 +19923,7 @@ msgstr "言語設定" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "言語" @@ -19971,7 +19971,7 @@ msgstr "遅延グラフ" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "このコミュニティで再び他のメンバーの声が聞こえるようにしました" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "{productName}がキーボードを直接読み取れるようにします。デスクトップ経由でショートカットを設定する場合は、オフにしてください。" #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "{productName}がキーボードを直接読み取れるようにします。システムでは既に許可されています。" @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Linux デフォルト" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Linuxパッケージ" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "ローカルファイル" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "現地時間" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "見た目と操作感" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "{0}をお使いのようです。その上に{PRODUCT_NAME}の処理を重ねると、ポンピングや歪みが発生する可能性があります。ダイレクト入力では、オーディオはそのまま通過します。" @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "グループのオーナーにする" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "{PRODUCT_NAME} アプリ内のコードが一致していることを確認してください。" @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "サブスクリプションを管理" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "デスクトップアプリを手動でアップデート" @@ -21145,15 +21145,15 @@ msgstr "マサチューセッツ州" msgid "Master volume" msgstr "マスター音量" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "成人向けカテゴリ" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "成人向けチャンネル" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "成人向けコミュニティ" @@ -21194,7 +21194,7 @@ msgstr "成人向けコンテンツの確認を送信しました" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "成人向けコンテンツの確認は、現在英国でのみご利用いただけます。" @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "メンバーのロールを更新しました" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "参加日" @@ -22013,7 +22013,7 @@ msgstr "マイク" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "マイクテスト" @@ -22127,7 +22127,7 @@ msgstr "ミネソタ州" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "ネコ" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "カーソルを追いかける猫" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "現在、新しいユーザーは参加できません。アカウントを作成するかサインインしてから、後でもう一度このリンクをお試しください。" #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "新しいバージョン" @@ -23465,7 +23465,7 @@ msgstr "ブックマークなし" msgid "No bot banner" msgstr "ボットバナーなし" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "カメラが見つかりません" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "説明はありません。" #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "デスクトップ版のアップデートはありません。" @@ -23684,7 +23684,7 @@ msgstr "投稿が見つかりませんでした" msgid "No mentions yet" msgstr "メンションはまだありません" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "マイクが見つかりません" @@ -23731,7 +23731,7 @@ msgstr "検索条件に一致するリクエストはありません" msgid "No permissions found" msgstr "権限が見つかりませんでした" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "まだ個人辞書に登録された単語はありません。" @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "許可されていません" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "未割り当て" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "クリック時" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "他のデバイスで {signInAddress} にサインインし、求められたらこのコードを入力してください。" @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "{premiumProductFullName}を開く" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "{PRODUCT_NAME}を開く" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "アカウントスイッチャーを開く" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "高度なメディア設定を開く" @@ -24788,7 +24788,7 @@ msgstr "バナーオプションを開く" msgid "Open bookmarks" msgstr "ブックマークを開く" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "ブラウザを開く" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "日付ピッカーを開く" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "デスクトップ版のダウンロードページを開く" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "設定を開く" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "ソフトウェアセンターを開く" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "システム設定を開く" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "システム設定 → プライバシーとセキュリティ → 画面収録を開き、{productName} を許可してください。" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "テンプレートJSONを開く" @@ -25089,7 +25089,7 @@ msgstr "テンプレートJSONを開く" msgid "Open the context menu" msgstr "コンテキストメニューを開く" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "以下のリンクをブラウザで開き、JSONレスポンス全体をコピーしてボックスに貼り付けてください。" @@ -25167,11 +25167,11 @@ msgstr "音声とビデオの設定を開く" msgid "Open with {accountName} on {instanceName}" msgstr "{accountName} で {instanceName} を開く" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "ブラウザを開いてサインインし、以下のコードを入力してアカウントをリンクしてください。" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "古い{PRODUCT_NAME}アプリを開き、「新しいデバイスをリンク」を選択して、以下のコードを入力してください。" @@ -25199,7 +25199,7 @@ msgstr "メンバーページを開きます。スペースキーまたはEnter #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "OS" @@ -25629,7 +25629,7 @@ msgstr "過去7日間" msgid "Paste" msgstr "貼り付け" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "構造を新しいコミュニティにインポートするには、{theOtherPlatform}のテンプレートURLを貼り付けてください。" @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}の次の画面で入力できます。" @@ -25933,7 +25933,7 @@ msgstr "{0}の権限" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "ユーザー辞書" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "この投稿には少なくとも1つのタグを選択してください。" #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "辞書を1つ以上選択してください。選択した辞書に含まれる単語はすべて受け入れられるため、多言語チャットで役立ちます。" @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "料金を読み込み中です。" @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "購入できません" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "プッシュトゥトークキー" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "プッシュトゥトーク" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "プッシュトゥトーク(制限あり)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "プッシュトゥトークにシステム全体のキーがまだ割り当てられていません。設定するには、「設定」>「アプリ」>「{productName}」を開いてください。" #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "プッシュトゥトークにシステム全体のキーがまだ割り当てられていません。設定するには、「システム設定」>「キーボード」>「ショートカット」>「{productName}」を開いてください。" #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "プッシュトゥトークにシステム全体のキーがまだ割り当てられていません。設定するには、デスクトップのキーボードショートカット設定を開いてください。" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "ダイレクト入力ではプッシュトゥトークは無視されます。使用するには「音声にフォーカス」または「カスタム」に切り替えてください。" @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "プッシュトゥトークがオンです。話すにはプッシュトゥトークのキーを押し続けてください。" #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "デスクトップでシステム全体のショートカットが設定されなかったため、プッシュトゥトークは{productName}がフォーカスされている間のみ機能します。" #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "{productName} がアクティブな間のみプッシュトゥトークが機能します。{permissionName} を有効にしてください。" #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "システム全体のショートカットを設定するまで、プッシュトゥトークは{productName}がフォーカスされている間のみ機能します。" #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "プッシュトゥトークは、ブラウザのタブがアクティブな場合にのみ機能します。" #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "プッシュトゥトークには{productName}で設定したキーが使われます。先にキーを設定してください。設定しないと、マイクは音声アクティビティで動作します。" @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "プッシュトゥトークでは、スピーカーミュート中にマイクのミュートは解除されません。話すにはスピーカーミュートを解除してください。" #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "プッシュトゥトークを{productName}の外で使うには、Hyprlandの設定でバインドする必要があります。" #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "プッシュトゥトークを{productName}の外で使うには、Hyprlandの設定でバインドする必要があります。お使いのHyprlandのバージョンに合った行を追加し、KEYを使いたいキーに置き換えてください。" @@ -27533,12 +27533,12 @@ msgstr "受信者は{0} <0>{1}に移動します" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "おすすめ" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "おすすめ。マイクの音声をクリアにして、聞き取りやすくします。" @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "再接続しました。以前のストリームを再開したい場合は、もう一度画面を選択してください。" #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "デスクトップに再接続しています…" @@ -27836,7 +27836,7 @@ msgstr "再起動して適用" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "離した後の遅延" @@ -27853,7 +27853,7 @@ msgstr "関連度の高い順" msgid "Reload" msgstr "再読み込み" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "エンジンの変更を完全に適用するには、{PRODUCT_NAME}を再読み込みしてください。アプリ内スペルチェックとシステムスペルチェックの切り替えには、Electronが実行中にプロバイダーを切り替えられないため、レンダラーの再読み込みが必要です。" @@ -27872,7 +27872,7 @@ msgstr "{productName}を再読み込みしてWebアップデート{version}を msgid "Reload app" msgstr "アプリを再読み込み" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "今すぐ再読み込み" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "削除" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "辞書から「{word}」を削除" @@ -28086,8 +28086,8 @@ msgstr "URLのみで保存されたGIFをお気に入りから削除" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "アイコンを削除" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "ページあたりの行数" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPMパッケージ" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "安全性" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "あなたと同じ時刻です" @@ -29770,7 +29770,7 @@ msgstr "画面収録" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "画面収録の許可が必要です" @@ -29858,7 +29858,7 @@ msgstr "画面共有のプライバシー" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "画面共有の品質" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "言語コードを検索…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "言語を検索…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "GIF「{title}」を選択" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "表示言語を選択" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "新しいデバイスでサインインするアカウントを選択してください。" #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "音声処理モードを選択" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "マイク音声を処理せずにそのまま送信します。" #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "音声を加工せずに送信します。外部のオーディオソフトウェアを使用している場合に最適です。" @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "ロールのメンバーリストでの位置を設定しました" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "{preset} プリセットによって設定されています。ここで値を選択すると、カスタムに切り替わります。" @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "ボイスリージョンを自動に設定しました" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "設定する" @@ -31307,7 +31307,7 @@ msgstr "友達に共有" msgid "Share your screen" msgstr "画面を共有" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "画面を最大60FPSで、高画質(1080p)、クアッドHD(1440p)、またはネイティブソース解像度で共有できます。" @@ -31399,7 +31399,7 @@ msgstr "ショートコード" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "ショートカット" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "ショートカットバッジ" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "お気に入りボタンを表示" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "アプリ全体で「お気に入り」を表示する" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "ブラウザでサインイン" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "古い{productName}アプリでサインイン" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "サインアウトしますか?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "サインインがキャンセルされました" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "サインイン情報" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "サインインの流れ" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "{name} としてサインインしています" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "別のデバイスでサインインしていますか?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "チェックアウトの開始中に問題が発生しました。しばらくしてからもう一度お試しください。" @@ -32812,7 +32812,7 @@ msgstr "サウンド" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "速度" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "スペルチェック" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "スペルチェックエンジン" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "スターアニメーション" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "スター付きチャンネル" @@ -33140,7 +33140,7 @@ msgstr "音声通話を開始しますか?" msgid "Start call" msgstr "通話を開始" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "カメラテストを開始してエフェクトを設定" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "最小化して起動" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "起動" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "静止したネコ" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "まだインデックスを作成中です。しばらくしてからもう一度ご確認ください" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "ネコを静止" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "画面収録へのアクセスを待っています" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "マイクテストを停止" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "ネコをドラッグしたり操作したりできる状態のまま、カーソルを追いかけないようにします。" @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "すでにサブスクリプションをご利用中です" @@ -33957,7 +33957,7 @@ msgstr "ゆったり表示に切り替える" msgid "Switch to dense layout" msgstr "コンパクト表示に切り替える" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "直接入力に切り替える" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "システムDMでは音声通話を開始できません。" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "システムの時刻形式: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "システムトレイ" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "システム管理のインストール" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "システム全体のショートカット" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "システム全体のショートカットを設定できませんでした。" @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "タップしてメモを追加" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gzアーカイブ" @@ -34360,7 +34360,7 @@ msgstr "タスクバーのバッジ" msgid "Teleporting you to another voice region..." msgstr "別のボイスリージョンに転送しています…" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "テンプレート" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "他のデバイスの{PRODUCT_NAME}アプリで「他のデバイスでのサインイン」の下に表示されます。管理下にあるデバイスからのコードのみを入力してください。" #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "{PRODUCT_NAME} アプリでサインインが完了していません。このタブは閉じることができます。" @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "お探しのコミュニティは削除されたか、アクセス権がない可能性があります。" #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "デスクトップのアップデートをダウンロードできませんでした。インターネット接続が安定していることを確認し、アップデートボタンからもう一度お試しください。" #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "ダウンロードされたファイルはコンピューターに保存されます。通常のパッケージマネージャーでインストールしてください。" @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "このカテゴリにはすでにチャンネルが{maxChannelsPerCategory}個あり、上限に達しています。" #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "このカテゴリは成人向けコンテンツとして指定されており、一部のユーザーには不適切と思われる内容が含まれている可能性があります。" @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "このチャンネルにはコンテンツ警告があります。コンテンツ警告または年齢制限のあるチャンネルにのみ、アップデートを送信できます。" #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "このチャンネルは成人向けコンテンツとして指定されており、一部のユーザーには不適切と思われる内容が含まれている可能性があります。" @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "このコミュニティは満員です" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "このコミュニティは成人向けコンテンツとして指定されており、一部のユーザーには不適切と思われる内容が含まれている可能性があります。" @@ -35324,14 +35324,14 @@ msgstr "このコミュニティは利用できません" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "この連携は確認済みです。" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "この連携は未確認です。" @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "この会話は利用できません。" #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "このデスクトップ版では、{productName} 内にアップデートをインストールできません。代わりに最新のデスクトップインストーラーをダウンロードしてください。" #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "このデスクトップはシステム全体のショートカットに対応していません。プッシュトゥトークは{productName}がフォーカスされている間のみ機能します。" #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "このデスクトップはシステム全体のショートカットに対応していません。ショートカットは{productName}がフォーカスされている間は引き続き機能します。" #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "この開発ビルドは自動更新できません。更新フローをテストするには、デスクトップインストーラーをダウンロードしてください。" @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "この画像を読み込めませんでした。破損している可能性があります。" #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "このインストールはシステムによって管理されています。ソフトウェアセンターまたはパッケージマネージャーから{productName}を更新してください。" @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "このインスタンスでは、すでにユーザー名でのサインインが使用されています。これは変更できません。" #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "このインスタンスでは現在、最大720p、30FPSで画面共有が可能です。" @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "このリンクは無効です。メールからもう一度リンクを開いてください。" #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "この成人向けカテゴリは、あなたのアカウントでは利用できません。" -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "この成人向けカテゴリはあなたのアカウントでは利用できません。<0>詳細はこちら" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "この成人向けチャンネルは、あなたのアカウントでは利用できません。" -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "この成人向けチャンネルはあなたのアカウントでは利用できません。<0>詳細はこちら" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "この成人向けコミュニティはあなたのアカウントでは利用できません。" -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "この成人向けコミュニティはあなたのアカウントでは利用できません。<0>詳細はこちら" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "この成人向けメディアはあなたのアカウントでは利用できません。" + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "この成人向けメディアはあなたのアカウントでは利用できません。<0>詳細はこちら" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "このプランはご利用いただけません。サポートにお問い合わせください。" +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "このプランはご利用いただけません。このインスタンスの管理者にお問い合わせください。" + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "この購入は返金対象ではありません。" @@ -35837,7 +35853,7 @@ msgstr "このスレッドはロックされています。モデレーターの msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "このユーザーはプロフィールを制限しています。一部の詳細は、友達ではない人には非表示になります。" -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "このユーザーはこのコミュニティでロールを持っていません。" @@ -36050,14 +36066,14 @@ msgstr "時刻" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "時刻表示" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "時刻表示形式の選択" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "タイトルバープラットフォーム" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "キーを変更するには、「設定」>「アプリ」>「{productName}」を開いてください。" #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "キーを変更するには、「システム設定」>「キーボード」>「ショートカット」>「{productName}」を開いてください。" #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "キーを変更するには、デスクトップのキーボードショートカット設定を開いてください。" @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "ツールバー" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "ツールチップのショートカット" @@ -36864,7 +36880,7 @@ msgstr "24時間" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "2回クリック" @@ -37263,7 +37279,7 @@ msgstr "汎用フォールバック。品質は最も低いですが、どこで #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "不明" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "{premiumProductName}でDMのカスタム絵文字をアンロック" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "{premiumProductName}でHD画面共有をアンロック" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "最大720p、30FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Waylandでシステム全体のショートカットを使うには、{productName}をアップデートしてください。" @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "ステータスを更新" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "今すぐアップデート" @@ -38008,8 +38024,8 @@ msgstr "このチャンネルにファイルやメディアをアップロード #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "アイコンをアップロード" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "{name} を {domain} で使用" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "{pixPaymentMethod}を使う" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "{upiPaymentMethod}を使う" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "別の方法を使う" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "自動スクロールを使用" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "カードを使う" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "デフォルトを使用" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "入力デバイスへの直接アクセスを使用" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "他のコミュニティのスタンプを使用できます。" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "時刻形式にシステムのロケールを使用" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "OSのウィンドウフレームを使用" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "OSに搭載されているスペルチェッカーを使用します。" @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "音声検出を使用" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "OSのスペルチェッカーを使用します。利用できない場合は、{productName}のアプリ内辞書を使用します。" @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "まずメールアドレスを確認してください" @@ -39244,7 +39260,7 @@ msgstr "詳細を見る" msgid "View devices that are signed in to your account" msgstr "アカウントにサインインしているデバイスを表示" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "プロフィール全体を見る" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionaryには永続的なアクセス権がすでに含まれているため、定期的なサブスクリプションは不要です。他のユーザーへのギフトは引き続き購入できます。" @@ -39535,7 +39551,7 @@ msgstr "ボイスチャンネル" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "ボイスチャンネルの確認" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "ボイスチャンネルの定員がいっぱいです" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "ボイスチャンネル参加時の動作" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "通話の参加者" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "音声処理" @@ -39661,7 +39677,7 @@ msgstr "スピーカーミュート解除" msgid "Voice unmute" msgstr "音声ミュート解除" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "このブラウザでは、ボイスはシステムの出力デバイスを使用します。システム設定で変更してください。" @@ -39675,7 +39691,7 @@ msgstr "無効" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "メッセージ間の待機時間です。「{bypassSlowmodePermissionLa msgid "Waiting for connection..." msgstr "接続待機中…" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "パスキーを待機中…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "そろそろ…" #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "デスクトップからの応答を待っています…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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分ほど待ってからこのページを再度開いてください。" @@ -39914,7 +39930,7 @@ msgstr "このスタンプを320x320ピクセルにリサイズして圧縮し msgid "We sent a code to {email}." msgstr "{email}にコードを送信しました。" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "ブラウザでサインイン画面が開いたら、{prefillEmail}を自動入力します。" @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "ウェブサイトのプレビュー" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "おかえりなさい" @@ -40321,7 +40337,7 @@ msgstr "コミュニティを選択" msgid "Which conversations" msgstr "会話の種類" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "プッシュトゥトークがオンの場合、ショートカットでマイクを操作するため、ミュートボタンは無効になります。" @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "お支払いを完了するために{paymentProviderName}に移動します。完了したら{productName}に戻ってください。" @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Tabキーを押しましたね。キーボードモードがオンになり、マウスなしで{productName}を操作できます。" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "特典は次回の更新日まで保持されます。サブスクリプション履歴を引き継ぐには、それまでに再開してください。" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "{PREMIUM_PRODUCT_NAME}のすべての特典が直ちに失われ、サブスクリプション履歴がリセットされます。この操作は元に戻せません。" @@ -41137,8 +41153,8 @@ msgstr "他のコミュニティの絵文字をここで使用するには、「 msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "他のコミュニティのスタンプをここで使用するには、「{permissionLabel}」の権限が必要です。" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "コミュニティを作成する前に、アカウントの登録が必要です。" @@ -41155,8 +41171,8 @@ msgstr "ダイレクトメッセージを送信するには、アカウントの msgid "You need to claim your account to send messages in this community." msgstr "このコミュニティでメッセージを送信するには、アカウントの登録が必要です。" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "コミュニティを作成する前に、メールアドレスの確認が必要です。" @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "{premiumProductFullName}を購入する前に、メールアドレスの確認が必要です。" @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "オフラインと表示されます" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "今すぐ課金されます。ギフトの残り時間は有料期間の後に加算されるため、無駄になることはありません。" @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "すでにVisionaryです" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "報告の送信間隔が短すぎます。しばらくしてからもう一度お試しください。" #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "サインインしました" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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}のアカウントで行ってください。" @@ -41559,10 +41575,14 @@ msgstr "アカウント作成から間もないため、このコミュニティ msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "アカウント申請は承認待ちです。管理者が承認するとサインインできます。" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "アカウントで多要素認証が必須ですが、このデバイスではサポートされている方法が設定されていません。認証アプリまたはセキュリティキーが設定されているデバイスでサインインするか、サポートにお問い合わせください。" +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "アカウントで多要素認証が必須ですが、このデバイスではサポートされている方法が設定されていません。認証アプリまたはセキュリティキーが設定されているデバイスでサインインするか、このインスタンスの管理者にお問い合わせください。" + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "アカウントや設定は変更・削除されていません。" #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "安全システムによって不適切な操作と判断されたため、処理を完了できませんでした。誤りだと思われる場合は、サポートにお問い合わせください。" +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "安全システムによって不適切な操作と判断されたため、処理を完了できませんでした。誤りだと思われる場合は、このインスタンスの管理者にお問い合わせください。" + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "新しいキットが作成されると、現在のキットは機能しなくなります。" #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "デスクトップでシステム全体のショートカットが設定されませんでした。" #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "デスクトップがこれらのキーを{productName}用に確保するため、他のアプリでは使用できません。" #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "デスクトップがこれらのキーを{productName}用に確保するため、他のアプリでは使用できません。他のアプリでも同じキーを使用するには、下の「入力デバイスへの直接アクセス」をオンにしてください。" #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "これらのショートカットは、{productName}がフォーカスされていなくてもデスクトップが実行します。" @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "ギフト期間が終了しました。{premiumProductName}を継続するには、サブスクライブしてください。" #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "ギフト期間はそのまま保持されます" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "猶予期間が終了しました。" #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "アプリのインストールが破損しています。すべての機能を利用するには、アプリを再インストールしてください。" @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "前回の購入は返金期間を過ぎています。請求に関する問題については、サポートにお問い合わせください。" #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "メッセージは安全システムによって不適切と判断されたため、送信できませんでした。誤りだと思われる場合は、サポートにお問い合わせください。" +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "メッセージは安全システムによって不適切と判断されたため、送信できませんでした。誤りだと思われる場合は、このインスタンスの管理者にお問い合わせください。" + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "メッセージを配信できませんでした。これは通常、あなたと受信者がコミュニティを共有していないか、受信者が友達からのダイレクトメッセージのみを受け入れていることが原因です。また、{directMessagePrivacySettingsPath}でダイレクトメッセージのプライバシー設定を調整する必要がある場合もあります。" #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "メッセージを送信できませんでした。ダイレクトメッセージを送信するには、アカウントの登録が必要です。" #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "メッセージを送信できませんでした。メッセージを送信するには、アカウントを登録する必要があります。" @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "報告を送信できませんでした。もう一度お試しください。" #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "保存された {savedResolution} ({savedFrameRate} FPS) は {premiumProductName} が必要です。そのため、共有は {resolution} ({frameRate} FPS) で行われます。" diff --git a/fluxer_app/src/features/i18n/locales/ko/messages.po b/fluxer_app/src/features/i18n/locales/ko/messages.po index fb26b0921..9c9156e57 100644 --- a/fluxer_app/src/features/i18n/locales/ko/messages.po +++ b/fluxer_app/src/features/i18n/locales/ko/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain}에서 더 최신 버전의 Fluxer를 사용 중입니다. Fluxer를 업데이트한 후 다시 시도하세요." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "회원님보다 {duration} 빠름" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "회원님보다 {duration} 느림" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {#시간 전} other {#시간 전}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {#시간} other {#시간}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {#시간} other {#시간}} {minutes, plural, one {#분} other {#분}}" @@ -1602,7 +1602,7 @@ msgstr "{label} 파일이 너무 큽니다. {maxSizeLabel}보다 작은 파일 msgid "{label} images cannot be animated. Use a static image." msgstr "{label} 이미지는 애니메이션을 사용할 수 없습니다. 정지된 이미지를 사용하세요." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "{languageName} 국기" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {#분 전} other {#분 전}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, other {#분}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME}에서 이름이 <0>{deviceName}인 새 오디오 출 msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "Chromium 기본 스크롤 설정이 스크롤 동작에 적용되려면 {PRODUCT_NAME}을(를) 다시 시작해야 합니다." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "하드웨어 가속을 적용하려면 {PRODUCT_NAME}을(를) 다시 시작해야 합니다." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "제목 표시줄 변경 사항을 적용하려면 {PRODUCT_NAME}을(를) 다시 시작해야 합니다." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "Chromium의 하드웨어 가속을 비활성화하려면 {PRODUCT_NAME}을(를) 다시 시작해야 합니다. 그래픽 오류나 GPU 사용량이 높은 문제를 해결할 때만 사용하세요." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "{productName} 버그 헌터" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName}은(는) {productName}에 포커스가 없을 때도 단축키를 실행하도록 데스크톱에 요청할 수 있습니다. 데스크톱에서 확인을 요청하며 키를 직접 선택할 수 있습니다." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName}이(가) 더 이상 키보드를 읽을 수 없어 대신 X11을 통해 단축키를 감지합니다." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName}이(가) 더 이상 키보드를 읽을 수 없어 대신 데스크톱 단축키를 사용합니다." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName}이(가) 더 이상 키보드를 읽을 수 없습니다. 단축키는 {productName}에 포커스가 있을 때만 작동합니다." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName}은(는) {productName}에 포커스가 없을 때도 단축키가 실행되도록 Hyprland에 단축키를 등록할 수 있습니다. 등록한 후 Hyprland 설정에서 키를 바인딩하세요." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName}은 하드웨어 인코더를 사용할 수 없으므로 CPU를 사용합니다." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName}을(를) 종료하고 업데이트를 설치한 후 다시 엽니다." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName}이 업데이트 서비스에 연결하지 못했습니다. 연결 상태를 확인하고 다시 시도해 주세요." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName}이(가) {host}(으)로 이전했습니다. 새 앱을 설치하려면 브라우저에서 열어 주세요." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "{productName} 가입일" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName}이(가) 마이크에 접근해야 합니다. 운영체제 개인 정보 보호 설정에서 마이크 접근을 허용하고 앱을 다시 시작하세요." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName}에서 기기 목록을 보려면 카메라 접근 권한이 필요합니다." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName}에서 기기 목록을 보려면 마이크 접근 권한이 필요합니다." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "{productName} 복구 키트" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName}이(가) Hyprland에 단축키를 등록했습니다. {productName}에 포커스가 없을 때도 사용하려면 Hyprland 설정에서 바인딩하세요." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12개월 (1년)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12시간제" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24시간" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24시간제" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "호스트 이름(예: {exampleDomain})" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Linux 데스크톱 업데이트가 있습니다. 이 시스템에 맞는 패키지 형식을 선택하면 {productName}이 파일을 로컬에 저장합니다." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "1분" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "새로운 데스크톱 버전이 있습니다. 설치 파일을 다운로드한 다음 실행하여 {productName}을 업데이트하세요." @@ -2817,7 +2817,7 @@ msgstr "{appName} 정보" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "소개" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "활동 공유" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "활동 임계값" @@ -3155,7 +3155,7 @@ msgstr "실제 크기" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "추가" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "먼저 사용자 이름과 비밀번호를 계정에 추가하세요." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "단어 추가…" @@ -3244,7 +3244,7 @@ msgstr "YouTube 링크에 더 자세한 정보를 표시하려면 YouTube Data A #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "계정 추가" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "주소" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "노이즈 억제, 에코 제거, 게인 등 각 설정을 직접 조정하세요." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "고급" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "고급 비디오 설정" @@ -3906,22 +3906,22 @@ msgstr "허용" msgid "Allow {everyoneMention} and {hereMention}" msgstr "{everyoneMention} 및 {hereMention} 허용" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "{PRODUCT_NAME}이(가) 시스템 설정 → 개인 정보 보호 및 보안 → 카메라에서 카메라에 액세스하도록 허용하세요." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "{PRODUCT_NAME}이(가) 마이크에 접근하도록 허용하려면 시스템 설정 → 개인 정보 보호 및 보안 → 마이크에서 허용해 주세요." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "{PRODUCT_NAME}에서 마이크에 접근하도록 허용해 주세요. 브라우저 주소 표시줄 또는 설정을 확인하세요." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "{productName}을(를) 시스템 설정의 '스크린 타임'에서 허용해 주세요. 이미 허용된 경우, macOS가 적용하도록 {productName2}을(를) 다시 시작하세요." @@ -3961,7 +3961,7 @@ msgstr "봇 DM 허용" msgid "Allow bots to send you direct messages?" msgstr "봇이 DM을 보내도록 허용하시겠어요?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "카메라 허용" @@ -4029,7 +4029,7 @@ msgstr "{readMessageHistoryPermissionLabel} 권한이 없는 멤버가 특정 msgid "Allow mentions for this role" msgstr "이 역할에 대한 멘션 허용" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "마이크 허용" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "링크 항상 밑줄 표시" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "{productName}의 Hunspell 사전을 항상 사용하고 필요할 때 다운로드합니다." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "앱 아이콘 배지" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "앱 언어 시간 형식: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "승인 필요" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "이미 사용 중인 {productName} 앱에서 이 앱을 승인하세요. 비밀번호가 필요하지 않습니다." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "{authorizedOn}에 승인됨" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "자동" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "언어 자동 감지" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "활동 임계값 자동 설정" @@ -5534,7 +5534,7 @@ msgstr "AV1 (옵트인 필요)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "사용 가능" @@ -5608,11 +5608,11 @@ msgstr "지금은 부재중" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "최적 압축. WebRTC에서 인코더를 노출하고 GPU 보고서에서 하드웨어 지원으로 표시되는 경우에만 사용하세요." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "데스크톱 앱 사용을 권장합니다" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "브라우저: 홈" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "브라우저 시간 형식: {format}" @@ -6545,8 +6545,8 @@ msgstr "친구와 공유하려면 {premiumProductName} 탭에서 {premiumProduct msgid "Buy gift" msgstr "선물 구매" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "커뮤니티를 생성하면 <0>{PRODUCT_NAME} 커뮤니티 가이드라인을 따르고 준수하는 데 동의하는 것입니다." @@ -6658,7 +6658,7 @@ msgstr "통화" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "카메라 미리보기" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "카메라 화질" @@ -6809,8 +6809,8 @@ msgstr "여기에 파일을 올릴 수 없습니다" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "예약된 전환 취소" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "구독 취소" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "구독을 취소하시겠어요?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "카테고리" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "카테고리 콘텐츠 경고" @@ -7131,15 +7131,15 @@ msgstr "그룹 닉네임 변경" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "아이콘 변경" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "시스템 설정에서 변경" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "채널 배지" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "채널 콘텐츠 경고" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "채팅 단축키" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "다시 확인" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "접근 권한 확인 중..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "화면 녹화 권한 확인 중..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "결제 이용 불가" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "구독 결제 방법을 선택해 주세요." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "결제 수단 선택" @@ -8174,7 +8174,7 @@ msgstr "기본 설정 선택" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "인스턴스 선택" @@ -8216,8 +8216,8 @@ msgstr "선물 받기" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "계정 등록하기" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "커뮤니티 배지" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "커뮤니티 콘텐츠 경고" @@ -9089,8 +9089,8 @@ msgstr "커뮤니티 DM" msgid "Community filter" msgstr "커뮤니티 필터" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "커뮤니티 아이콘" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "커뮤니티 업데이트됨" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "커뮤니티 음성" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "결제 완료하기" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "성인 콘텐츠 확인을 완료하여 성인 미디어를 잠금 해제하세요." @@ -9409,7 +9409,7 @@ msgstr "확인" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "음성 채널 참여 전 확인" @@ -9457,7 +9457,7 @@ msgstr "신고를 보내려면 선언 내용을 확인하세요." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "음성 참가 확인" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "확인" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "커뮤니티 음성 채널 참여 시 확인 또는 더블 클릭" @@ -9476,7 +9476,7 @@ msgstr "커뮤니티 음성 채널 참여 시 확인 또는 더블 클릭" msgid "Conflicts with {conflictLabel}" msgstr "{conflictLabel}과(와) 충돌" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "카메라를 연결하고 다시 시도하세요." @@ -9489,7 +9489,7 @@ msgstr "카메라 또는 가상 캡처 장치를 연결한 후 다시 시도하 msgid "Connect a display, then try again." msgstr "디스플레이를 연결한 다음 다시 시도하세요." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "마이크를 연결하고 다시 시도하세요." @@ -9633,7 +9633,7 @@ msgstr "연결: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "연락처" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "콘텐츠 차단됨" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "브라우저에서 계속하기" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "결제 계속하기" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "패스키로 계속하기" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "초대 URL 복사" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "줄 복사" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "줄 복사(hyprland.conf용)" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "줄 복사(hyprland.lua용)" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "가격을 변경할 수 없습니다" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "업데이트를 확인할 수 없습니다" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "내 메시지를 삭제할 수 없습니다" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "데스크톱 업데이트를 다운로드할 수 없습니다" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "결제를 시작할 수 없습니다" @@ -10932,7 +10932,7 @@ msgstr "만들고 공유하기" msgid "Create a community" msgstr "커뮤니티 만들기" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "친구들과 채팅할 커뮤니티를 만드세요." @@ -11365,7 +11365,7 @@ msgstr "사용자 지정" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "모더레이터에 의해 소리 꺼짐" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB 패키지" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "데스크톱 앱" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "데스크톱 앱이 최신 버전입니다" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "데스크톱 업데이트 {version}을(를) 사용할 수 있습니다. Linux 패키지를 선택하세요." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "데스크톱 업데이트 사용 가능" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "데스크톱 업데이트를 사용할 수 있습니다. Linux 패키지를 선택하세요." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "데스크톱 버전 {version}을(를) 사용할 수 있습니다. 설치 파일을 다운로드한 후 실행하면 {productName}을(를) 업데이트할 수 있습니다." @@ -12613,7 +12613,7 @@ msgstr "세부 정보: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "입력하는 동안 감지" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "개발자 도구를 사용할 수 없음" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "개발 빌드" @@ -13455,8 +13455,8 @@ msgstr "다운로드" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "{productName} 다운로드" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification을 다운로드하여 <1>.well-known 폴더에 넣어주세요." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "앱 다운로드" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "앱 다운로드" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "다운로드 버튼" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "데스크톱 앱 다운로드" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "이미지 다운로드" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "설치 프로그램 다운로드" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "미디어 다운로드" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "패키지 다운로드" @@ -13655,11 +13655,11 @@ msgstr "항목 놓기" msgid "Drop to upload background" msgstr "배경을 업로드하려면 여기에 놓으세요" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "{regionName}의 성인 콘텐츠 관련 법규에 따라, 성인 콘텐츠 확인을 완료하기 전까지는 성인 콘텐츠가 차단됩니다." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "{regionName}의 성인 콘텐츠 관련 법률에 따라, 여기서는 성인 콘텐츠를 이용할 수 없습니다. 성인 콘텐츠 확인 기능은 영국에서만 이용할 수 있습니다." @@ -13673,7 +13673,7 @@ msgstr "{regionName}의 성인 콘텐츠 관련 법률에 따라, 성인 콘텐 msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "{regionName}의 성인 콘텐츠 관련 법규로 인해 이 콘텐츠는 여기에서 이용할 수 없습니다. 성인 콘텐츠 확인은 영국에서만 가능합니다." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "{regionName}의 성인 콘텐츠 관련 법규에 따라 현재 지역에서는 이 미디어를 이용할 수 없습니다." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "각 코드는 인증 앱을 대신하여 한 번 사용할 수 있습니다." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "각 키는 시스템 전체 단축키 하나만 실행할 수 있습니다." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "활성화" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "{permissionName} 권한 허용" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "단축키 사용" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "맞춤법 검사 사용" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "유예 기간 지금 종료" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "유예 기간 종료" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "유예 기간을 지금 종료할까요?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "계속하려면 보안 키의 PIN을 입력하세요." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "브라우저에 이 코드를 입력하세요" @@ -14845,7 +14845,7 @@ msgstr "브라우저에 이 코드를 입력하세요" msgid "Enter this code in your browser to complete sign-in." msgstr "브라우저에 이 코드를 입력하여 로그인을 완료하세요." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "기존 {PRODUCT_NAME} 앱에 이 코드를 입력하여 로그인을 완료하세요." @@ -14916,7 +14916,7 @@ msgstr "시스템 오디오 전체" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "입장음" @@ -15026,7 +15026,7 @@ msgstr "저녁 시간" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "마이크 볼륨을 일정하게 조절하여 너무 작게 들리지 않도록 합니다." @@ -15249,7 +15249,7 @@ msgstr "{earliest} ~ {latest} 만료" msgid "Expires in {remaining}s" msgstr "{remaining}초 후 만료" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "{remainingSeconds}초 후 만료" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "채널 즐겨찾기" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "즐겨찾는 채널" @@ -16243,7 +16243,7 @@ msgstr "{threeHours}시간 동안" msgid "For {twentyFourHours} hours" msgstr "{twentyFourHours}시간 동안" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "영국인 전용입니다..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "직접 구매" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "눌러서 음소거에는 Ctrl, Alt, Shift 없이 단일 키를 사용하세요. 조합 키를 사용하면 메인 키를 먼저 떼야 합니다. 그렇지 않으면 마이크가 계속 음소거될 수 있습니다." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "눌러서 말하기에는 Ctrl, Alt, Shift 없이 단일 키를 사용하세요. 조합 키를 사용하면 메인 키를 먼저 떼야 합니다. 그렇지 않으면 마이크가 계속 켜져 있을 수 있습니다." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "이 단축키에는 Ctrl, Alt, Shift 없이 단일 키를 사용하세요. 조합 키를 사용하면 메인 키를 먼저 떼야 합니다. 그렇지 않으면 단축키가 계속 활성 상태로 남을 수 있습니다." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "음성 활동 우선순위에는 Ctrl, Alt, Shift 없이 단일 키를 사용하세요. 조합 키를 사용하면 메인 키를 먼저 떼야 합니다. 그렇지 않으면 우선순위가 계속 켜져 있을 수 있습니다." @@ -16460,14 +16460,14 @@ msgstr "프레임" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "프레임 속도" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "30FPS를 초과하는 프레임 속도에는 {premiumProductName}이(가) 필요합니다" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "메시지가 오면 알림을 받습니다. 브라우저 설정에서 알림을 허용해야 할 수도 있습니다. 채널/커뮤니티별로 설정하려면 커뮤니티 아이콘을 마우스 오른쪽 버튼으로 클릭한 뒤 알림 설정을 여세요." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "시스템 전체 푸시 투 토크 및 기타 유용한 기능을 사용하려면 {productName} 데스크톱 앱을 다운로드하세요." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "데스크톱 앱 다운로드" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "{productName}(으)로 돌아가 계속하세요." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "{PRODUCT_NAME} 앱으로 돌아가세요. 자동으로 로그인이 완료됩니다." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "{PRODUCT_NAME} 앱으로 돌아가세요. 이 탭은 닫으셔도 됩니다." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "도움말" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "도움말 버튼" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "고객센터" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "도움말 센터 버튼" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "<0>{I18N_WEBLATE_DOMAIN}에서 {PRODUCT_NAME}을(를) 여러분의 언어로 번역하는 데 참여해 보세요." @@ -17841,7 +17841,7 @@ msgstr "채팅 숨기기" msgid "Hide community owner crown" msgstr "커뮤니티 소유자 크라운 숨기기" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "다운로드 버튼 숨기기" @@ -17860,7 +17860,7 @@ msgstr "즐겨찾기 숨기기" msgid "Hide guidelines" msgstr "가이드라인 숨기기" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "고객센터 버튼 숨기기" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "참여 메시지 숨기기" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "키보드 안내 숨기기" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "하이퍼링크" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland에는 단축키 대화상자가 없습니다. Hyprland 버전에 맞는 줄을 Hyprland 설정에 추가하고 KEY를 원하는 키로 바꾸세요." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland에는 단축키 대화상자가 없습니다. Hyprland 설정에서 키를 바인딩하세요." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (Hyprland 0.55 이전)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 이상)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "본 신고에 담긴 정보와 주장이 정확하고 완전함을 선의로 확인합니다." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "확인했습니다" @@ -18598,11 +18598,11 @@ msgstr "가져오는 중… {processedCount, number}/{totalCount, number}개 처 msgid "In" msgstr "채널 내" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "\"운영체제\" 모드에서는 위에 나열된 사전이 권장 사항입니다. {PRODUCT_NAME}은 지원되는 경우 이러한 언어 태그를 OS 맞춤법 검사기에 전달합니다. 인식하지 못하는 태그는 무시됩니다." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "브라우저에서는 {PRODUCT_NAME} 탭이 활성화된 경우에만 PTT(Push-to-talk)가 작동합니다. 시스템 전체에서 PTT를 사용하려면 데스크톱 앱을 설치하세요." @@ -18650,7 +18650,7 @@ msgstr "음성 채팅 중" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "앱 내 사전" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "입력" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "입력 및 출력" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "이모티콘 삽입" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "전체 소스 선택 도구와 더 원활한 화면 공유 제어 기능을 사용하려면 {productName}을(를) 설치하세요." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "새 앱 설치" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "설치됨" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "설치된 버전: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "인터페이스" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "인터페이스 언어" @@ -19467,13 +19467,13 @@ msgstr "참여하기" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "{communityName}에 참여하기" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "{communityName}에 참여하여 팀과 채팅하고 최신 소식을 받아보세요." @@ -19561,7 +19561,7 @@ msgstr "영상 통화 참여" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "음성 채팅 참여" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "무료 및 프리미엄 등급을 유지하세요. 등급을 맞춤 설정하거나, Stripe를 통해 프리미엄을 판매하거나, 나중에 관리자 패널에서 선물 코드를 배포할 수 있습니다." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "유예 기간 유지" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "계속 실행" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "구독 유지" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "이 페이지를 안전한 곳에 보관하세요. 비밀번호를 잊어버렸을 때 계정에 다시 로그인하는 데 사용할 수 있습니다. 이 복구 키를 가진 사람은 누구나 비밀번호를 재설정할 수 있으므로 절대 공유하지 마세요." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "버튼을 놓은 후에도 잠시 동안 전송을 유지합니다." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "키보드" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "키보드 접근을 시작할 수 없습니다. 단축키는 {productName}에 포커스가 있을 때만 작동합니다." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "키보드 모드" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "툴팁에 키보드 단축키 힌트 표시" @@ -19923,7 +19923,7 @@ msgstr "언어 설정" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "언어" @@ -19971,7 +19971,7 @@ msgstr "지연 시간 그래프" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "이 커뮤니티에서 멤버가 다른 사람들의 소리를 다시 들을 수 있도록 허용했습니다" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "{productName}이(가) 키보드를 직접 읽을 수 있게 합니다. 데스크톱을 통해 단축키를 설정하려면 이 설정을 끄세요." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "{productName}이(가) 키보드를 직접 읽을 수 있게 합니다. 시스템에서 이미 허용되어 있습니다." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Linux 기본값" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Linux 패키지" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "로컬 파일" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "현지 시간" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "모양 및 느낌" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "{0}을(를) 사용 중이신 것 같습니다. {PRODUCT_NAME}의 처리를 추가하면 펌핑 또는 왜곡이 발생할 수 있습니다. 직접 입력은 오디오를 그대로 통과시킵니다." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "그룹 소유자로 지정" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "{PRODUCT_NAME} 앱에 있는 이 코드를 확인하세요." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "구독 관리" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "수동 데스크톱 업데이트" @@ -21145,15 +21145,15 @@ msgstr "매사추세츠" msgid "Master volume" msgstr "마스터 볼륨" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "성인 카테고리" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "성인 채널" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "성인 커뮤니티" @@ -21194,7 +21194,7 @@ msgstr "성인 콘텐츠 확인 요청을 보냈습니다" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "성인 콘텐츠 확인 기능은 현재 영국에서만 이용할 수 있습니다." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "멤버 역할 업데이트됨" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "멤버 가입일" @@ -22013,7 +22013,7 @@ msgstr "마이크" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "마이크 테스트" @@ -22127,7 +22127,7 @@ msgstr "미네소타" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "네코" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "커서를 따라다니는 네코 고양이" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "지금은 새 사용자가 참여할 수 없습니다. 계정을 만들거나 로그인한 다음 나중에 이 링크를 다시 시도할 수 있습니다." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "새 버전" @@ -23465,7 +23465,7 @@ msgstr "북마크 없음" msgid "No bot banner" msgstr "봇 배너 없음" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "카메라를 찾을 수 없습니다" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "설명 없음." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "사용 가능한 데스크톱 업데이트가 없습니다." @@ -23684,7 +23684,7 @@ msgstr "일치하는 게시물이 없습니다" msgid "No mentions yet" msgstr "아직 멘션이 없습니다" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "마이크를 찾을 수 없습니다" @@ -23731,7 +23731,7 @@ msgstr "검색 결과와 일치하는 대기 중인 요청이 없습니다" msgid "No permissions found" msgstr "일치하는 권한이 없습니다" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "아직 추가한 단어가 없어요." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "허용되지 않음" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "할당되지 않음" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "클릭 시" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "다른 기기에서 {signInAddress}에 로그인하고 요청 시 이 코드를 입력하세요." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "{premiumProductFullName} 열기" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "{PRODUCT_NAME} 열기" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "계정 전환기 열기" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "고급 미디어 설정 열기" @@ -24788,7 +24788,7 @@ msgstr "배너 옵션 열기" msgid "Open bookmarks" msgstr "북마크 열기" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "브라우저 열기" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "날짜 선택기 열기" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "데스크톱 다운로드 열기" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "설정 열기" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "소프트웨어 센터 열기" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "시스템 설정 열기" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "시스템 설정 → 개인 정보 보호 및 보안 → 화면 녹화로 이동하여 {productName}을(를) 허용하세요." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "템플릿 JSON 열기" @@ -25089,7 +25089,7 @@ msgstr "템플릿 JSON 열기" msgid "Open the context menu" msgstr "상황별 메뉴 열기" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "아래 링크를 브라우저에서 연 다음, 전체 JSON 응답을 복사하여 상자에 붙여넣으세요." @@ -25167,11 +25167,11 @@ msgstr "오디오 및 비디오 설정 열기" msgid "Open with {accountName} on {instanceName}" msgstr "{accountName}(으)로 {instanceName} 열기" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "브라우저를 열고 로그인한 다음 아래 코드를 입력하여 계정을 연결하세요." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "기존 {PRODUCT_NAME} 앱을 열고 새 기기 연결을 선택한 다음 아래 코드를 입력하세요." @@ -25199,7 +25199,7 @@ msgstr "멤버 페이지를 엽니다. 열려면 스페이스바 또는 Enter #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "운영체제" @@ -25629,7 +25629,7 @@ msgstr "지난 7일" msgid "Paste" msgstr "붙여넣기" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "새 커뮤니티로 구조를 가져오려면 {theOtherPlatform} 템플릿 URL을 붙여넣으세요." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}의 다음 화면에서 신용 카드를 입력하세요." @@ -25933,7 +25933,7 @@ msgstr "{0}에 대한 권한" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "개인 사전" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "이 게시물에 태그를 하나 이상 선택해주세요." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "사전 하나 이상을 선택하세요. 선택된 사전의 단어는 모두 허용되므로 여러 언어를 사용하는 채팅에 유용합니다." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "가격 정보를 불러오는 중입니다." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "구매 불가" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "눌러서 말하기 키" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "눌러서 말하기" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "눌러서 말하기 (제한됨)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "눌러서 말하기에 아직 시스템 전체 키가 없습니다. 설정하려면 설정 > 앱 > {productName}(으)로 이동하세요." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "눌러서 말하기에 아직 시스템 전체 키가 없습니다. 설정하려면 시스템 설정 > 키보드 > 단축키 > {productName}(으)로 이동하세요." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "눌러서 말하기에 아직 시스템 전체 키가 없습니다. 설정하려면 데스크톱의 키보드 단축키 설정을 여세요." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "원본 입력에서는 눌러서 말하기가 무시됩니다. 사용하려면 음성 포커스 또는 사용자 지정으로 전환하세요." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "눌러서 말하기가 켜져 있습니다. 눌러서 말하기 키를 누른 채 말하세요." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "데스크톱에서 시스템 전체 단축키를 설정하지 않아 눌러서 말하기는 {productName}에 포커스가 있을 때만 작동합니다." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "푸시투토크는 {permissionName}이(가) 활성화될 때까지 {productName}이(가) 포커스된 상태에서만 작동합니다." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "시스템 전체 단축키를 설정하기 전까지 눌러서 말하기는 {productName}에 포커스가 있을 때만 작동합니다." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "눌러서 말하기는 브라우저 탭이 활성화된 상태에서만 작동합니다." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "눌러서 말하기는 {productName}에서 설정한 키를 사용합니다. 먼저 키를 설정하지 않으면 마이크가 음성 활동으로 작동합니다." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "소리 끄기 상태에서는 눌러서 말하기로 마이크 음소거가 해제되지 않습니다. 대화하려면 소리 끄기를 먼저 해제하세요." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "눌러서 말하기를 {productName} 밖에서 사용하려면 Hyprland 설정에서 바인딩해야 합니다." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "눌러서 말하기를 {productName} 밖에서 사용하려면 Hyprland 설정에서 바인딩해야 합니다. Hyprland 버전에 맞는 줄을 추가하고 KEY를 원하는 키로 바꾸세요." @@ -27533,12 +27533,12 @@ msgstr "받는 사람은 {0} <0>{1}(으)로 이동합니다" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "권장" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "권장. 마이크 소리를 다듬어 말소리를 선명하게 만듭니다." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "재연결되었습니다. 이전 스트림을 다시 시작하려면 화면을 다시 선택하세요." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "데스크톱에 다시 연결 중…" @@ -27836,7 +27836,7 @@ msgstr "다시 시작하여 적용" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "해제 지연 시간" @@ -27853,7 +27853,7 @@ msgstr "관련도순" msgid "Reload" msgstr "새로고침" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "{PRODUCT_NAME}을(를) 다시 로드하여 엔진 변경 사항을 완전히 적용하세요. Electron은 실행 중에 공급자를 교체할 수 없으므로, 앱 내 맞춤법 검사와 시스템 맞춤법 검사를 전환하려면 렌더러를 다시 로드해야 합니다." @@ -27872,7 +27872,7 @@ msgstr "{version} 웹 업데이트를 적용하려면 {productName}을(를) 다 msgid "Reload app" msgstr "앱 새로고침" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "지금 다시 로드" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "제거" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "사전에서 \"{word}\" 삭제" @@ -28086,8 +28086,8 @@ msgstr "URL 전용 GIF 즐겨찾기에서 제거" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "아이콘 삭제" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "페이지당 행 수" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM 패키지" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "안전" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "회원님과 동일한 시간대" @@ -29770,7 +29770,7 @@ msgstr "화면 기록" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "화면 녹화 권한 필요" @@ -29858,7 +29858,7 @@ msgstr "화면 공유 개인 정보 보호" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "화면 공유 품질" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "언어 코드 검색…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "언어 검색…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "{title} GIF 선택" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "인터페이스 언어 선택" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "새 기기에서 로그인할 계정을 선택하세요." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "음성 처리 모드 선택" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "처리되지 않은 마이크 오디오를 전송합니다." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "오디오를 그대로 보냅니다. 외부 오디오 소프트웨어를 사용하는 경우에 가장 적합합니다." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "역할의 멤버 목록 위치를 설정했습니다" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "{preset} 사전 설정으로 설정됩니다. 여기서 값을 선택하면 사용자 지정으로 전환됩니다." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "음성 지역을 자동으로 설정했습니다" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "설정" @@ -31307,7 +31307,7 @@ msgstr "친구에게 공유하기" msgid "Share your screen" msgstr "화면 공유" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "최대 60FPS로 고화질(1080p), QHD(1440p) 또는 기본 소스 해상도로 화면을 공유하세요." @@ -31399,7 +31399,7 @@ msgstr "단축 코드" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "단축키" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "단축키 배지" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "즐겨찾기 버튼 표시" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "앱 전체에서 즐겨찾기 표시" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "브라우저로 로그인" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "기존 {productName} 앱으로 로그인" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "로그아웃하시겠어요?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "로그인 취소됨" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "로그인 정보" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "로그인 절차" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "{name}(으)로 로그인 중" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "다른 기기에서 로그인 중이신가요?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "결제를 시작하는 중에 문제가 발생했습니다. 잠시 후 다시 시도해 주세요." @@ -32812,7 +32812,7 @@ msgstr "소리" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "속도" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "맞춤법 검사" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "맞춤법 검사 엔진" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "애니메이션 별표" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "즐겨찾는 채널" @@ -33140,7 +33140,7 @@ msgstr "음성 통화를 시작할까요?" msgid "Start call" msgstr "통화 시작" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "카메라 테스트 시작 및 효과 설정" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "최소화하여 시작" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "시작" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "움직이지 않는 네코" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "아직 색인 작업 중입니다. 잠시 후에 다시 확인해 주세요" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "네코 정지" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "화면 녹화 접근 권한을 기다리는 중입니다" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "마이크 테스트 중지" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "네코가 커서를 따라다니지 않도록 하면서도 드래그와 상호작용은 유지합니다." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "이미 구독 중입니다" @@ -33957,7 +33957,7 @@ msgstr "편안한 레이아웃으로 전환" msgid "Switch to dense layout" msgstr "간결한 레이아웃으로 전환" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "직접 입력으로 전환" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "시스템 DM에서는 음성 통화를 할 수 없습니다." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "시스템 시간 형식: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "시스템 트레이" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "시스템 관리 설치" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "시스템 전체 단축키" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "시스템 전체 단축키를 설정할 수 없습니다." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "메모를 추가하려면 탭하세요" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz 아카이브" @@ -34360,7 +34360,7 @@ msgstr "작업 표시줄 배지" msgid "Teleporting you to another voice region..." msgstr "다른 음성 리전으로 이동 중..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "템플릿" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "다른 기기의 {PRODUCT_NAME} 앱에서 '다른 기기에서 로그인 중' 아래에 표시됩니다. 본인이 제어하는 기기에서만 코드를 입력하세요." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "{PRODUCT_NAME} 앱에 로그인하지 않았습니다. 이 탭을 닫을 수 있습니다." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "찾으시는 커뮤니티가 삭제되었거나 접근 권한이 없을 수 있습니다." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "데스크톱 업데이트를 다운로드할 수 없습니다. 연결이 안정적일 때 업데이트 버튼을 눌러 다시 시도해 주세요." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "다운로드한 파일은 컴퓨터에 저장됩니다. 평소 사용하는 패키지 관리자로 설치하세요." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "이 카테고리에는 이미 최대 {maxChannelsPerCategory}개의 채널이 있습니다." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "이 카테고리는 성인 콘텐츠로 표시되어 있으며 일부 사용자에게 부적절할 수 있는 자료를 포함할 수 있습니다." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "이 채널에는 콘텐츠 경고가 있습니다. 콘텐츠 경고 또는 연령 제한이 있는 채널에만 업데이트를 보낼 수 있습니다." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "이 채널은 성인 콘텐츠로 표시되어 있으며 일부 사용자에게 부적절할 수 있는 자료를 포함할 수 있습니다." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "이 커뮤니티는 가득 찼습니다" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "이 커뮤니티는 성인 콘텐츠로 표시되어 있으며 일부 사용자에게 부적절할 수 있는 자료를 포함할 수 있습니다." @@ -35324,14 +35324,14 @@ msgstr "이 커뮤니티는 더 이상 이용할 수 없습니다" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "이 연결은 확인되었습니다." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "이 연결은 확인되지 않았습니다." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "이 대화는 더 이상 이용할 수 없습니다." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "이 데스크톱 빌드는 {productName}에서 업데이트를 설치할 수 없습니다. 대신 최신 데스크톱 설치 파일을 다운로드하세요." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "이 데스크톱은 시스템 전체 단축키를 지원하지 않습니다. 눌러서 말하기는 {productName}에 포커스가 있을 때만 작동합니다." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "이 데스크톱은 시스템 전체 단축키를 지원하지 않습니다. {productName}에 포커스가 있을 때는 단축키가 계속 작동합니다." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "이 개발 빌드는 자체적으로 업데이트할 수 없습니다. 업데이트 흐름을 테스트하려면 데스크톱 설치 프로그램을 다운로드하세요." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "이 이미지를 읽을 수 없습니다. 손상되었을 수 있습니다." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "이 설치는 시스템에서 관리됩니다. 소프트웨어 센터 또는 패키지 관리자를 통해 {productName}을(를) 업데이트하세요." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "이 인스턴스는 이미 사용자 이름을 사용하여 로그인합니다. 이 설정은 더 이상 변경할 수 없습니다." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "이 인스턴스에서는 현재 최대 720p, 30 FPS로 화면 공유가 가능합니다." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "이 링크는 유효하지 않습니다. 이메일에서 링크를 다시 열어주세요." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "이 성인 카테고리는 회원님의 계정에서 이용할 수 없습니다." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "이 성인 카테고리는 회원님의 계정에서 이용할 수 없습니다. <0>자세히 알아보기" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "이 성인 채널은 회원님의 계정에서 이용할 수 없습니다." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "이 성인 채널은 회원님의 계정에서 이용할 수 없습니다. <0>자세히 알아보기" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "이 성인 커뮤니티는 회원님의 계정에서 이용할 수 없습니다." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "이 성인 커뮤니티는 회원님의 계정에서 이용할 수 없습니다. <0>자세히 알아보기" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "이 성인용 미디어는 회원님의 계정에서 이용할 수 없습니다." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "이 성인용 미디어는 회원님의 계정에서 이용할 수 없습니다. <0>자세히 알아보기" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "이용할 수 없는 플랜입니다. 고객지원팀에 문의하세요." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "이용할 수 없는 플랜입니다. 이 인스턴스의 관리자에게 문의하세요." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "이 구매는 환불 대상이 아닙니다." @@ -35837,7 +35853,7 @@ msgstr "이 스레드는 잠겼습니다. 메시지는 관리자만 보낼 수 msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "이 사용자는 프로필을 제한했습니다. 친구가 아닌 사람에게는 일부 세부 정보가 숨겨집니다." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "이 사용자는 이 커뮤니티에서 역할이 없습니다." @@ -36050,14 +36066,14 @@ msgstr "시간" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "시간 형식" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "시간 형식 선택" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "제목 표시줄 플랫폼" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "키를 변경하려면 설정 > 앱 > {productName}(으)로 이동하세요." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "키를 변경하려면 시스템 설정 > 키보드 > 단축키 > {productName}(으)로 이동하세요." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "키를 변경하려면 데스크톱의 키보드 단축키 설정을 여세요." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "툴바" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "툴팁 단축키" @@ -36864,7 +36880,7 @@ msgstr "24시간" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "두 번 클릭" @@ -37263,7 +37279,7 @@ msgstr "범용 대체 코덱. 화질은 가장 낮지만, 모든 환경에서 #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "알 수 없음" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "{premiumProductName}으로 DM에서 맞춤 이모티콘을 잠금 해제하세요" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "{premiumProductName}으로 HD 화면 공유를 잠금 해제하세요" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "최대 720p, 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Wayland에서 시스템 전체 단축키를 사용하려면 {productName}을(를) 업데이트하세요." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "내 상태 업데이트" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "지금 업데이트" @@ -38008,8 +38024,8 @@ msgstr "이 채널에 파일 및 미디어를 업로드합니다." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "아이콘 업로드" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "{name}에서 {domain} 사용" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "{pixPaymentMethod} 사용" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "{upiPaymentMethod} 사용" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "다른 방법 사용" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "자동 스크롤 사용" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "카드 사용" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "기본값 사용" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "입력 장치 직접 접근 사용" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "다른 커뮤니티의 스티커를 사용합니다." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "시간 형식에 시스템 로캘 사용" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "운영체제 창 테두리 사용" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "운영체제에 내장된 맞춤법 검사기를 사용합니다." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "음성 자동 감지 사용" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "사용 가능한 경우 운영체제의 맞춤법 검사기를 사용하고, 그렇지 않으면 {productName}의 인앱 사전을 사용합니다." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "먼저 이메일을 인증하세요" @@ -39244,7 +39260,7 @@ msgstr "자세히 보기" msgid "View devices that are signed in to your account" msgstr "내 계정에 로그인된 기기 보기" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "프로필 전체 보기" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary에는 이미 영구 이용 권한이 포함되어 있어 반복 구독이 필요하지 않습니다. 다른 사람에게 줄 선물은 계속 구매할 수 있습니다." @@ -39535,7 +39551,7 @@ msgstr "음성 채널" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "음성 채널 확인" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "음성 채널 정원 초과" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "음성 채널 참여 방식" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "음성 참여자" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "음성 처리" @@ -39661,7 +39677,7 @@ msgstr "음성 소리 켜기" msgid "Voice unmute" msgstr "음성 음소거 해제" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "음성에는 이 브라우저의 시스템 출력 기기가 사용됩니다. 시스템 설정에서 변경하세요." @@ -39675,7 +39691,7 @@ msgstr "무효" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "메시지를 보낸 후 다음 메시지까지 기다려야 합니다. \ msgid "Waiting for connection..." msgstr "연결 대기 중..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "패스키를 기다리는 중…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "기다리고 있어요..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "데스크톱 응답 대기 중…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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} 구독이 있습니다. 결제 정보를 업데이트하거나 갱신 상태를 확인하려면 보안 결제 포털에서 관리하세요. 방금 결제했다면 잠시 기다렸다가 이 페이지를 다시 여세요." @@ -39914,7 +39930,7 @@ msgstr "스티커 크기를 320x320픽셀로 조정하고 압축했지만, 여 msgid "We sent a code to {email}." msgstr "{email}(으)로 코드를 전송했습니다." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "브라우저 로그인 창이 열리면 {prefillEmail}이(가) 자동으로 입력됩니다." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "웹사이트 미리보기" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "다시 오신 것을 환영합니다" @@ -40321,7 +40337,7 @@ msgstr "커뮤니티 선택" msgid "Which conversations" msgstr "대화 선택" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "눌러서 말하기가 켜져 있는 동안에는 단축키로 마이크를 제어하므로 음소거 버튼이 비활성화됩니다." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "결제를 완료하려면 {paymentProviderName}(으)로 이동합니다. 결제 완료 후 {productName}(으)로 돌아와 주세요." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Tab 키를 누르셨습니다. 이제 키보드 모드가 켜져 마우스 없이 {productName}을(를) 탐색할 수 있습니다." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "다음 갱신일까지 혜택이 유지됩니다. 구독 기록을 유지하려면 그 전에 재활성화하세요." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "모든 {PREMIUM_PRODUCT_NAME} 혜택이 즉시 사라지며 구독 기록이 초기화됩니다. 이 작업은 되돌릴 수 없습니다." @@ -41137,8 +41153,8 @@ msgstr "여기에서 다른 커뮤니티의 이모티콘을 사용하려면 \"{p msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "여기에서 다른 커뮤니티의 스티커를 사용하려면 \"{permissionLabel}\" 권한이 필요합니다." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "커뮤니티를 만들려면 먼저 계정을 등록해야 합니다." @@ -41155,8 +41171,8 @@ msgstr "DM을 보내려면 계정을 등록해야 합니다." msgid "You need to claim your account to send messages in this community." msgstr "이 커뮤니티에서 메시지를 보내려면 계정을 등록해야 합니다." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "커뮤니티를 만들려면 먼저 이메일 주소를 인증해야 합니다." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "{premiumProductFullName}을(를) 구매하려면 먼저 이메일을 인증해야 합니다." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "오프라인으로 표시됩니다" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "지금 결제됩니다. 선물 받은 기간은 유료 기간 이후에 추가되므로 남은 기간이 사라지지 않습니다." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "이미 Visionary이시네요" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "신고를 너무 자주 보내고 있습니다. 나중에 다시 시도해 주세요." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "로그인되었습니다" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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} 계정에서 관리하세요." @@ -41559,10 +41575,14 @@ msgstr "계정을 만든 지 얼마 되지 않아 이 커뮤니티에서 메시 msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "계정 요청이 승인 대기 중입니다. 관리자가 승인한 후 로그인할 수 있습니다." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "계정에 다단계 인증이 필요하지만, 이 기기에는 지원되는 방법이 설정되어 있지 않습니다. 인증 앱 또는 보안 키가 있는 기기에서 로그인하거나 지원팀에 문의하세요." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "계정에 다단계 인증이 필요하지만, 이 기기에는 지원되는 방법이 설정되어 있지 않습니다. 인증 앱 또는 보안 키가 있는 기기에서 로그인하거나 이 인스턴스의 관리자에게 문의하세요." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "계정 및 설정은 변경되거나 삭제되지 않았습니다." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "요청하신 작업이 안전 시스템에 감지되어 완료되지 않았습니다. 오류라고 생각하시면 고객지원팀에 문의해 주세요." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "요청하신 작업이 안전 시스템에 감지되어 완료되지 않았습니다. 오류라고 생각하시면 이 인스턴스의 관리자에게 문의해 주세요." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "새 복구 키트를 만들면 현재 복구 키트는 작동을 멈춥니다." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "데스크톱에서 시스템 전체 단축키를 설정하지 못했습니다." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "데스크톱에서 이 키를 {productName} 전용으로 예약하므로 다른 앱에서는 사용할 수 없습니다." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "데스크톱에서 이 키를 {productName} 전용으로 예약하므로 다른 앱에서는 사용할 수 없습니다. 다른 앱에서도 같은 키를 사용하려면 아래에서 입력 장치 직접 접근을 켜세요." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "{productName}에 포커스가 없어도 데스크톱이 이 단축키를 실행합니다." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "선물 받은 시간이 종료되었습니다. {premiumProductName}을(를) 계속 사용하려면 구독하세요." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "선물 받은 시간이 보존됩니다" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "유예 기간이 종료되었습니다." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "설치 파일이 손상되었습니다. 모든 기능을 사용하려면 앱을 다시 설치해야 합니다." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "마지막 구매는 환불 가능 기간이 지났습니다. 결제 관련 문제는 고객지원팀에 문의하세요." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "회원님의 메시지가 안전 시스템에 의해 차단되어 전송되지 못했습니다. 오류라고 생각하시면 고객지원팀에 문의해 주세요." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "회원님의 메시지가 안전 시스템에 의해 차단되어 전송되지 못했습니다. 오류라고 생각하시면 이 인스턴스의 관리자에게 문의해 주세요." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "메시지를 보낼 수 없습니다. 일반적으로 수신자와 같은 커뮤니티에 속해 있지 않거나, 수신자가 친구에게서만 DM을 받도록 설정했기 때문입니다. {directMessagePrivacySettingsPath}에서 DM 공개 설정을 변경해야 할 수도 있습니다." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "메시지를 보낼 수 없습니다. DM을 보내려면 계정을 등록해야 합니다." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "메시지를 보낼 수 없습니다. 메시지를 보내려면 계정을 등록해야 합니다." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "신고가 전송되지 않았습니다. 다시 시도해 주세요." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "저장된 {savedResolution} ({savedFrameRate} FPS)를 사용하려면 {premiumProductName}이 필요합니다. 대신 {resolution} ({frameRate} FPS)으로 공유됩니다." diff --git a/fluxer_app/src/features/i18n/locales/lt/messages.po b/fluxer_app/src/features/i18n/locales/lt/messages.po index a71357184..9ece0b631 100644 --- a/fluxer_app/src/features/i18n/locales/lt/messages.po +++ b/fluxer_app/src/features/i18n/locales/lt/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} naudoja naujesnę „Fluxer“ versiją nei ši programėlė. Atnaujinkite „Fluxer“ ir bandykite dar kartą." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} vėliau nei pas jus" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} anksčiau nei pas jus" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "prieš {hours, plural, one {# valandą} few {# valandas} other {# valand #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# valanda} few {# valandos} other {# valandų}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# valanda} few {# valandos} many {# valandos} other {# valandų}} {minutes, plural, one {# minutė} few {# minutės} many {# minutės} other {# minučių}}" @@ -1602,7 +1602,7 @@ msgstr "{label} failas per didelis. Pasirinkite failą, mažesnį nei {maxSizeLa msgid "{label} images cannot be animated. Use a static image." msgstr "{label} vaizdai negali būti animuoti. Naudokite statinį vaizdą." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Vėliava: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "prieš {minutes, plural, one {# minutę} few {# minutes} other {# minuč #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minutė} few {# minutės} many {# minutės} other {# minučių}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} aptiko naują garso išvesties įrenginį pavadinimu <0>{ msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} reikia paleisti iš naujo, kad „Chromium“ slinkties nustatymai pakeistų slinkties veikimą." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "Kad aparatinės įrangos spartinimas įsigaliotų, „{PRODUCT_NAME}“ reikia paleisti iš naujo." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "Kad pavadinimo juostos pakeitimas įsigaliotų, {PRODUCT_NAME} reikia paleisti iš naujo." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} reikia paleisti iš naujo, kad būtų išjungtas „Chromium“ aparatinės įrangos spartinimas. Naudokite tai tik tada, kai sprendžiate grafikos trikdžių arba didelio GPU naudojimo problemas." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "{productName} klaidų medžiotojas" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} gali paprašyti jūsų darbalaukio vykdyti jo sparčiuosius klavišus, kai {productName} nėra aktyvus. Darbalaukis paprašys patvirtinti ir leis pasirinkti klavišus." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} nebegali skaityti jūsų klaviatūros, todėl sparčiųjų klavišų klausosi per X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} nebegali skaityti jūsų klaviatūros, todėl naudojami jūsų darbalaukio spartieji klavišai." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} nebegali nuskaityti jūsų klaviatūros. Spartieji klavišai veikia tik tada, kai {productName} yra aktyvus." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} gali užregistruoti savo sparčiuosius klavišus Hyprland, kad jie veiktų, net kai {productName} nėra aktyvus. Tada klavišus susiesite savo Hyprland konfigūracijoje." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "„{productName}“ tam negali naudoti aparatinio kodavimo įrenginio, todėl bus naudojamas jūsų procesorius." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} užsidarys, įdiegs naujinį ir vėl atsidarys." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "„{productName}“ nepavyko pasiekti atnaujinimų tarnybos. Patikrinkite interneto ryšį ir bandykite dar kartą." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} perkeltas į {host}. Atidarykite jį naršyklėje, kad įdiegtumėte naująją programėlę." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "{productName} narys nuo" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} reikia prieigos prie jūsų mikrofono. Leiskite naudoti mikrofoną operacinės sistemos privatumo nustatymuose ir iš naujo paleiskite programą." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} reikia prieigos prie kameros, kad būtų galima parodyti jūsų įrenginius." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} reikia prieigos prie mikrofono, kad būtų galima parodyti jūsų įrenginius." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "{productName} atkūrimo rinkinys" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} užregistravo savo sparčiuosius klavišus Hyprland. Susiekite juos savo Hyprland konfigūracijoje, kad galėtumėte juos naudoti, kai {productName} nėra aktyvus." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 mėnesių (1 metai)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12 valandų" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 valandos" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24 valandų" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "pagrindinio kompiuterio pavadinimas, pvz., {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Prieinamas „Linux“ darbalaukio atnaujinimas. Pasirinkite šios sistemos paketų formatą, o programa „{productName}“ išsaugos jį jūsų įrenginyje." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "minutę" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Prieinama nauja darbalaukio versija. Atsisiųskite diegimo programą ir paleiskite ją, kad atnaujintumėte {productName}." @@ -2817,7 +2817,7 @@ msgstr "Apie {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Apie mane" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Dalijimasis veikla" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Aktyvumo slenkstis" @@ -3155,7 +3155,7 @@ msgstr "Tikrasis dydis" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Pridėti" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Pirmiausia pridėkite vartotojo vardą ir slaptažodį prie savo paskyros." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Pridėti žodį…" @@ -3244,7 +3244,7 @@ msgstr "Pridėkite YouTube Data API raktą, kad praturtintumėte YouTube nuoroda #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Pridėti paskyrą" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Adresas" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Reguliuokite kiekvieną nustatymą patys: triukšmo slopinimą, aido slopinimą ir stiprinimą." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Išplėstiniai" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Išplėstiniai vaizdo nustatymai" @@ -3906,22 +3906,22 @@ msgstr "Leisti" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Leisti {everyoneMention} ir {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Leiskite {PRODUCT_NAME} pasiekti jūsų kamerą sistemoje „System Settings“ → „Privacy & Security“ → „Camera“." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Leiskite {PRODUCT_NAME} pasiekti jūsų mikrofoną sistemoje „System Settings“ → „Privacy & Security“ → „Microphone“." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Leiskite {PRODUCT_NAME} pasiekti jūsų mikrofoną. Patikrinkite naršyklės adreso juostą arba nustatymus." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Leiskite {productName} „Ekrano įrašymo“ skiltyje „Sistemos nuostatos“. Jei leidimas jau suteiktas, paleiskite iš naujo {productName2}, kad „macOS“ jį pritaikytų." @@ -3961,7 +3961,7 @@ msgstr "Leisti botų tiesiogines žinutes" msgid "Allow bots to send you direct messages?" msgstr "Leisti botams siųsti jums tiesiogines žinutes?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Leisti naudoti kamerą" @@ -4029,7 +4029,7 @@ msgstr "Leisti nariams be leidimo „{readMessageHistoryPermissionLabel}“ maty msgid "Allow mentions for this role" msgstr "Leisti paminėti šį vaidmenį" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Leisti naudoti mikrofoną" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Visada pabraukti nuorodas" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Visada naudoti „{productName}“ „Hunspell“ žodynus, atsisiunčiamus pagal poreikį." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Programėlės piktogramos ženklelis" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Programos kalbos laiko formatas: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Reikalingas patvirtinimas" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Patvirtinkite šią programėlę iš jau naudojamos {productName} programėlės. Slaptažodis nereikalingas." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Įgaliota {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Automatinis" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Automatiškai aptikti kalbą" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Automatiškai nustatyti aktyvumo slenkstį" @@ -5534,7 +5534,7 @@ msgstr "AV1 (reikia įjungti)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Pasiekiama" @@ -5608,11 +5608,11 @@ msgstr "Šiuo metu nesu prie kompiuterio" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Geriausias glaudinimas. Naudokite tik tada, kai WebRTC pateikia koduotuvą, o GPU ataskaita rodo, kad jis aparatinis." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Geriausia su darbalaukio programėle" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Naršyklė: pradžios puslapis" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Naršyklės lokalė: {format}" @@ -6545,8 +6545,8 @@ msgstr "Įsigykite {premiumProductName} dovaną skirtuke „{premiumProductName} msgid "Buy gift" msgstr "Pirkti dovaną" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Kurdami bendruomenę, sutinkate laikytis <0>{PRODUCT_NAME} bendruomenės gairių." @@ -6658,7 +6658,7 @@ msgstr "Skambučiai" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Kameros peržiūra" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Kameros kokybė" @@ -6809,8 +6809,8 @@ msgstr "Čia negalima įkelti failų" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Atšaukti suplanuotą keitimą" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Atšaukti prenumeratą" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Atšaukti prenumeratą?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Kategorija" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Kategorijos turinio įspėjimas" @@ -7131,15 +7131,15 @@ msgstr "Keisti grupės slapyvardį" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Keisti piktogramą" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Keisti sistemos nustatymuose" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Kanalo ženkleliai" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Kanalo turinio įspėjimas" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Pokalbių spartieji klavišai" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Patikrinti dar kartą" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Tikrinama prieiga..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Tikrinamas ekrano įrašymo leidimas…" @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Atsiskaitymas negalimas" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Pasirinkite, kaip norėtumėte apmokėti šią prenumeratą." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Pasirinkite mokėjimo būdą" @@ -8174,7 +8174,7 @@ msgstr "Pasirinkite numatytuosius nustatymus" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Pasirinkite savo serverį" @@ -8216,8 +8216,8 @@ msgstr "Atsiimti dovaną" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Užregistruokite paskyrą" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Bendruomenių ženkleliai" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Bendruomenės turinio įspėjimas" @@ -9089,8 +9089,8 @@ msgstr "Bendruomenės DM" msgid "Community filter" msgstr "Bendruomenės filtras" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Bendruomenės piktograma" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Bendruomenė atnaujinta" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Bendruomenės balso kanalai" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Užbaigti mokėjimą" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Užbaikite brandaus turinio patikrą, kad atrakintumėte brandžią mediją." @@ -9409,7 +9409,7 @@ msgstr "Patvirtinti" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Patvirtinti prieš prisijungiant prie balso kanalų" @@ -9457,7 +9457,7 @@ msgstr "Patvirtinkite pareiškimą, kad išsiųstumėte pranešimą." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Patvirtinti prisijungimą prie balso kanalo" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Patvirtinimas" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Patvirtinimas arba dvigubas spustelėjimas prisijungiant prie bendruomenės balso kanalų" @@ -9476,7 +9476,7 @@ msgstr "Patvirtinimas arba dvigubas spustelėjimas prisijungiant prie bendruomen msgid "Conflicts with {conflictLabel}" msgstr "Kertasi su „{conflictLabel}“" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Prijunkite kamerą ir bandykite dar kartą." @@ -9489,7 +9489,7 @@ msgstr "Prijunkite kamerą arba virtualų fiksavimo įrenginį ir bandykite dar msgid "Connect a display, then try again." msgstr "Prijunkite ekraną ir bandykite dar kartą." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Prijunkite mikrofoną ir bandykite dar kartą." @@ -9633,7 +9633,7 @@ msgstr "Ryšys: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Kontaktas" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Turinys užblokuotas" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Tęsti naršyklėje" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Tęsti į kasą" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Tęsti su prieigos raktu" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Kopijuoti kvietimo URL" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Kopijuoti eilutes" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Kopijuoti eilutes, skirtas hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Kopijuoti eilutes, skirtas hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Nepavyko pakeisti jūsų kainos" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Nepavyko patikrinti, ar yra naujinimų" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Nepavyko ištrinti jūsų žinučių" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Nepavyko atsisiųsti darbalaukio naujinimo" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Nepavyko pradėti atsiskaitymo" @@ -10932,7 +10932,7 @@ msgstr "Sukurti ir bendrinti" msgid "Create a community" msgstr "Sukurti bendruomenę" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Sukurkite bendruomenę, kurioje galėsite bendrauti su draugais." @@ -11365,7 +11365,7 @@ msgstr "Pasirinktinis šaltinis" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Garsą išjungė moderatoriai" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB paketas" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Darbalaukio programa" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Darbalaukio programa yra naujausios versijos" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Galimas darbalaukio naujinimas {version}. Pasirinkite „Linux“ paketą." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Galimas darbalaukio naujinimas" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Galimas darbalaukio naujinimas. Pasirinkite „Linux“ paketą." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Darbalaukio versija {version} yra prieinama. Atsisiųskite diegimo programą ir paleiskite ją, kad atnaujintumėte {productName}." @@ -12613,7 +12613,7 @@ msgstr "Išsami informacija: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Aptikti rašant" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Kūrėjo įrankiai nepasiekiami" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Kūrimo versija" @@ -13455,8 +13455,8 @@ msgstr "Atsisiųsti" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Atsisiųsti „{productName}“" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification ir įdėkite į savo <1>.well-known aplanką, kad galėtume patvirtinti domeną." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Atsisiųsti programėlę" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Atsisiųsti programėlę" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Atsisiuntimo mygtukas" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Atsisiųsti darbalaukio programėlę" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Atsisiųsti paveikslėlį" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Atsisiųsti diegimo programą" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Atsisiųsti mediją" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Atsisiųsti paketą" @@ -13655,11 +13655,11 @@ msgstr "Numesti elementą" msgid "Drop to upload background" msgstr "Nuvilkite, kad įkeltumėte foną" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Dėl brandaus turinio įstatymų, galiojančių regione „{regionName}“, brandus turinys blokuojamas, kol neatliksite brandaus turinio patikros." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Dėl brandaus turinio įstatymų, galiojančių regione „{regionName}“, brandus turinys iš čia nepasiekiamas. Brandaus turinio patikros galimos tik Jungtinėje Karalystėje." @@ -13673,7 +13673,7 @@ msgstr "Dėl brandaus turinio įstatymų, galiojančių regione „{regionName} msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Dėl brandaus turinio įstatymų, galiojančių regione „{regionName}“, šis turinys iš čia nepasiekiamas. Brandaus turinio patikros galimos tik Jungtinėje Karalystėje." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Dėl brandaus turinio įstatymų, galiojančių regione „{regionName}“, ši medija nepasiekiama jūsų dabartiniame regione." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Kiekvienas kodas veikia vieną kartą, pakeisdamas jūsų autentifikavimo programėlę." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Kiekvienas klavišas gali paleisti tik vieną sistemos spartųjį klavišą." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Įjungti" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Įjungti {permissionName} leidimą" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Įjungti spartųjį klavišą" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Įjungti rašybos tikrinimą" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Baigti lengvatinį laikotarpį dabar" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Baigti lengvatinį laikotarpį" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Baigti lengvatinį laikotarpį dabar?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Įveskite savo saugos rakto PIN kodą, kad tęstumėte." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Įveskite šį kodą savo naršyklėje" @@ -14845,7 +14845,7 @@ msgstr "Įveskite šį kodą savo naršyklėje" msgid "Enter this code in your browser to complete sign-in." msgstr "Įveskite šį kodą naršyklėje, kad prisijungtumėte." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Įveskite šį kodą savo senojoje „{PRODUCT_NAME}“ programėlėje, kad užbaigtumėte prisijungimą." @@ -14916,7 +14916,7 @@ msgstr "Visos sistemos garsas" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Įėjimo garsas" @@ -15026,7 +15026,7 @@ msgstr "Vakaras" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Sulygina mikrofono garsumą, kad jūsų balsas nebūtų per tylus." @@ -15249,7 +15249,7 @@ msgstr "Baigia galioti tarp {earliest} ir {latest}" msgid "Expires in {remaining}s" msgstr "Baigs galioti po {remaining} s" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Baigiasi po {remainingSeconds}s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Pridėti kanalą prie mėgstamiausių" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Mėgstamiausi kanalai" @@ -16243,7 +16243,7 @@ msgstr "{threeHours} valandoms" msgid "For {twentyFourHours} hours" msgstr "{twentyFourHours} valandoms" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Tik britams skirta..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Man" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Nutildymui paspaudus naudokite vieną klavišą be Ctrl, Alt ar Shift. Jei naudojate kombinaciją, pirmiausia atleiskite pagrindinį klavišą, kitaip mikrofonas gali likti išjungtas." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Kalbėjimui paspaudus naudokite vieną klavišą be Ctrl, Alt ar Shift. Jei naudojate kombinaciją, pirmiausia atleiskite pagrindinį klavišą, kitaip mikrofonas gali likti įjungtas." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Šiam sparčiajam klavišui naudokite vieną klavišą be Ctrl, Alt ar Shift. Jei naudojate kombinaciją, pirmiausia atleiskite pagrindinį klavišą, kitaip spartusis klavišas gali likti aktyvus." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Balso aktyvumo prioritetui naudokite vieną klavišą be Ctrl, Alt ar Shift. Jei naudojate kombinaciją, pirmiausia atleiskite pagrindinį klavišą, kitaip prioritetas gali likti įjungtas." @@ -16460,14 +16460,14 @@ msgstr "Rėmelis" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Kadrų dažnis" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Didesniam nei 30 FPS kadrų dažniui reikalingas {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Gaukite pranešimus, kai gaunate žinučių. Gali reikėti leisti pranešimus naršyklės nustatymuose. Norėdami valdyti pranešimus pagal kanalą / bendruomenę, dešiniuoju pelės mygtuku spustelėkite bendruomenės piktogramą ir atidarykite pranešimų nustatymus." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Atsisiųskite {productName} darbalaukio programėlę, kad galėtumėte naudoti „push-to-talk“ visoje sistemoje ir mėgautis kitais privalumais." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Gauti darbalaukio programėlę" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Grįžkite į {productName}, kad tęstumėte." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Grįžkite į {PRODUCT_NAME} programėlę. Ji baigs prisijungti pati." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Grįžkite į „{PRODUCT_NAME}“ programėlę. Galite uždaryti šią kortelę." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Pagalba" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Mygtukas „Pagalba“" @@ -17712,12 +17712,12 @@ msgid "Help center" msgstr "Pagalbos centras" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "My suggestion:\n" "Pagalbos centro mygtukas šoninėje juostoje" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Padėkite išversti {PRODUCT_NAME} į savo kalbą svetainėje <0>{I18N_WEBLATE_DOMAIN}." @@ -17842,7 +17842,7 @@ msgstr "Slėpti pokalbį" msgid "Hide community owner crown" msgstr "Slėpti bendruomenės savininko karūną" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Slėpti atsisiuntimo mygtuką" @@ -17861,7 +17861,7 @@ msgstr "Slėpti mėgstamiausius" msgid "Hide guidelines" msgstr "Sutrumpinti gaires" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Slėpti pagalbos centro mygtuką" @@ -17871,7 +17871,7 @@ msgid "Hide join messages" msgstr "Slėpti prisijungimo pranešimus" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Slėpti klaviatūros patarimus" @@ -18157,22 +18157,22 @@ msgid "Hyperlink" msgstr "Hipersaitas" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland neturi sparčiųjų klavišų dialogo lango. Pridėkite savo Hyprland versijai skirtas eilutes į Hyprland konfigūraciją ir pakeiskite KEY norimu klavišu." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland neturi sparčiųjų klavišų dialogo lango. Susiekite klavišus savo Hyprland konfigūracijoje." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (prieš Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 ir vėlesnės versijos)" @@ -18219,8 +18219,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Sąžiningai patvirtinu, kad šiame pranešime pateikta informacija ir teiginiai yra tikslūs ir išsamūs." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Supratau" @@ -18599,11 +18599,11 @@ msgstr "Importuojama… apdorota {processedCount, number} / {totalCount, number} msgid "In" msgstr "Kanale" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "Režimu „Operacinė sistema“ aukščiau išvardyti žodynai yra tik patariamieji. {PRODUCT_NAME} perduos šias kalbų žymas jūsų OS rašybos tikrintuvui, kai tai bus palaikoma. Žymų, kurių jis neatpažįsta, bus nepaisoma." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "Naršyklėje funkcija „Kalbėti paspaudus“ veikia tik tada, kai {PRODUCT_NAME} skirtukas yra aktyvus. Įdiekite darbalaukio programą, kad ji veiktų visoje sistemoje." @@ -18651,7 +18651,7 @@ msgstr "Balso pokalbyje" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Programėlės žodynai" @@ -18876,7 +18876,7 @@ msgid "Input" msgstr "Įvestis" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Įvestis ir išvestis" @@ -18940,7 +18940,7 @@ msgid "Insert emoji" msgstr "Įterpti jaustuką" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Įdiekite „{productName}“, kad galėtumėte naudoti visą šaltinio parinkiklį ir sklandesnius ekrano bendrinimo valdiklius." @@ -18955,12 +18955,12 @@ msgid "Install the new app" msgstr "Įdiegti naująją programėlę" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Įdiegta" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Įdiegta versija: {currentVersion}." @@ -19032,7 +19032,7 @@ msgstr "Sąsaja" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Sąsajos kalba" @@ -19468,13 +19468,13 @@ msgstr "Prisijungti" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Prisijungti prie „{communityName}“" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Prisijunkite prie „{communityName}“, kad galėtumėte bendrauti su komanda ir gauti naujausią informaciją." @@ -19562,7 +19562,7 @@ msgstr "Prisijungti prie vaizdo skambučio" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Prisijungti prie balso pokalbio" @@ -19757,7 +19757,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Pasilikite nemokamą ir mokamą lygius. Vėliau galėsite tinkinti lygius, parduoti mokamą turinį per „Stripe“ arba dalyti dovanų kodus iš administratoriaus skydelio." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Palikti lengvatinį laikotarpį" @@ -19772,7 +19772,7 @@ msgid "Keep running" msgstr "Palikti veikti" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Palikti prenumeratą" @@ -19787,7 +19787,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Laikykite šį puslapį saugioje vietoje. Jei pamiršite slaptažodį, galėsite jį naudoti, kad vėl prisijungtumėte prie savo paskyros. Bet kas, turintis šį atkūrimo raktą, gali pakeisti jūsų slaptažodį, todėl niekada juo nesidalinkite." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Tęsti perdavimą trumpą laiką po mygtuko atleidimo." @@ -19830,7 +19830,7 @@ msgid "Keyboard" msgstr "Klaviatūra" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Nepavyko įjungti prieigos prie klaviatūros. Spartieji klavišai veikia tik tada, kai {productName} yra aktyvus." @@ -19849,7 +19849,7 @@ msgid "Keyboard mode" msgstr "Klaviatūros režimas" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Sparčiųjų klavišų užuominos patarimuose" @@ -19924,7 +19924,7 @@ msgstr "Kalbos nustatymai" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Kalbos" @@ -19972,7 +19972,7 @@ msgstr "Delsos grafikas" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20215,12 +20215,12 @@ msgid "Let the member hear others in this community again" msgstr "Nariui vėl leista girdėti kitus šioje bendruomenėje" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Leidžia {productName} tiesiogiai skaityti jūsų klaviatūrą. Išjunkite, jei sparčiuosius klavišus norite nustatyti per savo darbalaukį." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Leidžia {productName} tiesiogiai skaityti jūsų klaviatūrą. Jūsų sistema tai jau leidžia." @@ -20513,7 +20513,7 @@ msgid "Linux default" msgstr "„Linux“ numatytasis įrenginys" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "„Linux“ paketas" @@ -20649,7 +20649,7 @@ msgid "Local files" msgstr "Vietiniai failai" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Vietinis laikas" @@ -20731,7 +20731,7 @@ msgid "Look and feel" msgstr "Išvaizda ir stilius" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Panašu, kad naudojate „{0}“. Papildomas „{PRODUCT_NAME}“ apdorojimas gali sukelti garso pulsavimą arba iškraipymus. Tiesioginė įvestis perduoda jūsų garsą nepakeistą." @@ -20827,7 +20827,7 @@ msgid "Make group owner" msgstr "Padaryti grupės savininku" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Įsitikinkite, kad šis kodas sutampa su kodu programėlėje {PRODUCT_NAME}." @@ -20967,7 +20967,7 @@ msgid "Manage your subscription" msgstr "Tvarkyti prenumeratą" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Rankinis darbalaukio naujinimas" @@ -21146,15 +21146,15 @@ msgstr "Masačusetsas" msgid "Master volume" msgstr "Pagrindinis garsumas" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Brandaus turinio kategorija" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Brandaus turinio kanalas" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Brandaus turinio bendruomenė" @@ -21195,7 +21195,7 @@ msgstr "Brandaus turinio patikra išsiųsta" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Brandaus turinio patikros šiuo metu galimos tik JK." @@ -21463,7 +21463,7 @@ msgid "Member roles updated" msgstr "Nario vaidmenys atnaujinti" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Narys nuo" @@ -22014,7 +22014,7 @@ msgstr "Mikrofonas" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Mikrofono patikra" @@ -22128,7 +22128,7 @@ msgstr "Minesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23047,7 +23047,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Neko katė, kuri vejasi jūsų žymeklį" @@ -23286,7 +23286,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Nauji naudotojai šiuo metu negali prisijungti. Vis tiek galite susikurti paskyrą arba prisijungti, o vėliau vėl pabandyti pasinaudoti šia nuoroda." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Nauja versija" @@ -23466,7 +23466,7 @@ msgstr "Nėra žymių" msgid "No bot banner" msgstr "Nėra boto reklamjuostės" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Kamera nerasta" @@ -23542,7 +23542,7 @@ msgid "No description." msgstr "Aprašo nėra." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Nėra galimų darbalaukio naujinimų." @@ -23685,7 +23685,7 @@ msgstr "Nėra atitinkančių įrašų" msgid "No mentions yet" msgstr "Kol kas nėra paminėjimų" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Mikrofonas nerastas" @@ -23732,7 +23732,7 @@ msgstr "Nėra laukiančių užklausų, atitinkančių paiešką" msgid "No permissions found" msgstr "Leidimų nerasta" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Kol kas nėra asmeninių žodžių." @@ -24094,7 +24094,7 @@ msgid "Not allowed" msgstr "Neleidžiama" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Nepriskirta" @@ -24424,7 +24424,7 @@ msgid "On click" msgstr "Spustelėjus" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "Kitame įrenginyje prisijunkite adresu {signInAddress} ir įveskite šį kodą, kai būsite paprašyti." @@ -24695,7 +24695,7 @@ msgid "Open {premiumProductFullName}" msgstr "Atidarykite {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Atidarykite {PRODUCT_NAME}" @@ -24727,7 +24727,7 @@ msgid "Open account switcher" msgstr "Atidaryti paskyros parinkiklį" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Atidaryti papildomus medijos nustatymus" @@ -24789,7 +24789,7 @@ msgstr "Atidaryti reklamjuostės parinktis" msgid "Open bookmarks" msgstr "Atidaryti žymes" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Atidaryti naršyklę" @@ -24847,7 +24847,7 @@ msgid "Open date picker" msgstr "Atidaryti datos parinkiklį" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Atidaryti darbalaukio programos atsisiuntimus" @@ -25044,7 +25044,7 @@ msgid "Open settings" msgstr "Atidaryti nustatymus" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Atidaryti programų centrą" @@ -25077,11 +25077,11 @@ msgid "Open System Settings" msgstr "Atidaryti sistemos nuostatas" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Atidarykite „System Settings“ → „Privacy & Security“ → „Screen Recording“ ir leiskite „{productName}“." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Atidaryti šablono JSON" @@ -25090,7 +25090,7 @@ msgstr "Atidaryti šablono JSON" msgid "Open the context menu" msgstr "Atidaryti kontekstinį meniu" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Atidarykite toliau esančią nuorodą naršyklėje, tada nukopijuokite visą JSON atsakymą ir įklijuokite jį į laukelį." @@ -25168,11 +25168,11 @@ msgstr "Atidaryti balso ir vaizdo nustatymus" msgid "Open with {accountName} on {instanceName}" msgstr "Atidaryti su {accountName} per {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Atidarykite naršyklę, prisijunkite, tada įveskite toliau pateiktą kodą, kad susietumėte paskyrą." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Atidarykite savo senąją „{PRODUCT_NAME}“ programėlę ir pasirinkite „Susieti naują įrenginį“, tada įveskite žemiau pateiktą kodą." @@ -25200,7 +25200,7 @@ msgstr "Atidaro narių puslapį. Paspauskite tarpą arba Enter, kad atidarytumė #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Operacinė sistema" @@ -25630,7 +25630,7 @@ msgstr "Paskutinės 7 dienos" msgid "Paste" msgstr "Įklijuoti" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Įklijuokite „{theOtherPlatform}“ šablono URL, kad jo struktūrą importuotumėte į naują bendruomenę." @@ -25735,12 +25735,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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." @@ -25934,7 +25934,7 @@ msgstr "{0} leidimai" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Asmeninis žodynas" @@ -26005,7 +26005,7 @@ msgid "Pick at least one tag for this post." msgstr "Pasirinkite bent vieną žymą šiam įrašui." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Pasirinkite vieną ar daugiau žodynų. Žodžiai iš bet kurio pasirinkto žodyno bus priimami, o tai naudinga daugiakalbiuose pokalbiuose." @@ -26691,7 +26691,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Kainos vis dar įkeliamos." @@ -27070,17 +27070,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Pirkimai negalimi" @@ -27174,33 +27174,33 @@ msgid "Push to talk key" msgstr "Kalbėjimo paspaudus klavišas" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Kalbėjimas paspaudus" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Kalbėjimas paspaudus (ribotas)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Kalbėjimui paspaudus dar nepriskirtas sistemos klavišas. Norėdami jį nustatyti, eikite į Nustatymai > Programos > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Kalbėjimui paspaudus dar nepriskirtas sistemos klavišas. Norėdami jį nustatyti, eikite į Sistemos nuostatos > Klaviatūra > Spartieji klavišai > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Kalbėjimui paspaudus dar nepriskirtas sistemos klavišas. Norėdami jį nustatyti, atidarykite darbalaukio klaviatūros sparčiųjų klavišų nustatymus." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Kalbėjimas paspaudus tiesioginėje įvestyje ignoruojamas. Norėdami jį naudoti, perjunkite į fokusuotą balsą arba pasirinktinį." @@ -27215,27 +27215,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Kalbėjimas paspaudus įjungtas. Norėdami kalbėti, laikykite nuspaudę kalbėjimo paspaudus klavišą." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Kalbėjimas paspaudus veikia tik tada, kai {productName} yra aktyvus, nes jūsų darbalaukis nenustatė sistemos sparčiųjų klavišų." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Pokalbis paspaudus mygtuką veikia tik tada, kai {productName} yra aktyvus, kol nebus įjungtas {permissionName}." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Kalbėjimas paspaudus veikia tik tada, kai {productName} yra aktyvus, kol nenustatysite sistemos sparčiųjų klavišų." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Kalbėjimas paspaudus veikia tik tada, kai naršyklės skirtukas yra aktyvus." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Kalbėjimas paspaudus naudos klavišą, kurį nustatėte {productName}. Pirmiausia jį nustatykite, kitaip mikrofonas veiks pagal balso aktyvumą." @@ -27245,12 +27245,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Kalbėjimas paspaudus neįjungs mikrofono, kol jūsų garsas išjungtas. Norėdami kalbėti, vėl įjunkite garsą." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Kalbėjimas paspaudus veikia už {productName} ribų tik tada, kai jį susiesite savo Hyprland konfigūracijoje." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Kalbėjimas paspaudus veikia už {productName} ribų tik tada, kai jį susiesite savo Hyprland konfigūracijoje. Pridėkite savo Hyprland versijai skirtą eilutę ir pakeiskite KEY norimu klavišu." @@ -27534,12 +27534,12 @@ msgstr "Gavėjai bus nukreipti į {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Rekomenduojama" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Rekomenduojama. Išvalo mikrofoną, kad kalba būtų aiški." @@ -27554,7 +27554,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Pavyko prisijungti iš naujo. Jei norite tęsti ankstesnę transliaciją, pasirinkite ekraną dar kartą." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Jungiamasi iš naujo prie darbalaukio…" @@ -27837,7 +27837,7 @@ msgstr "Perleiskite, kad pritaikytumėte" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Atleidimo delsa" @@ -27854,7 +27854,7 @@ msgstr "Aktualu" msgid "Reload" msgstr "Įkelti iš naujo" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Įkelkite „{PRODUCT_NAME}“ iš naujo, kad variklio pakeitimas būtų visiškai pritaikytas. Perjungiant tarp programėlės ir sistemos rašybos tikrinimo reikia iš naujo įkelti atvaizdavimo variklį, nes „Electron“ negali pakeisti teikėjų veikimo metu." @@ -27873,7 +27873,7 @@ msgstr "Įkelkite „{productName}“ iš naujo, kad pritaikytumėte žiniatinkl msgid "Reload app" msgstr "Iš naujo įkelti programėlę" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Įkelti iš naujo dabar" @@ -27936,7 +27936,7 @@ msgid "Remove" msgstr "Pašalinti" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Pašalinti „{word}“ iš žodyno" @@ -28087,8 +28087,8 @@ msgstr "Pašalinti iš mėgstamiausių GIF (tik URL)" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Pašalinti piktogramą" @@ -29496,7 +29496,7 @@ msgid "Rows per page" msgstr "Eilutės puslapyje" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM paketas" @@ -29531,7 +29531,7 @@ msgid "Safety" msgstr "Saugumas" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Toks pat laikas kaip ir jūsų" @@ -29771,7 +29771,7 @@ msgstr "Ekrano įrašymas" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Reikalingas ekrano įrašymo leidimas" @@ -29859,7 +29859,7 @@ msgstr "Ekrano bendrinimo privatumas" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Ekrano bendrinimo kokybė" @@ -30120,7 +30120,7 @@ msgid "Search language code…" msgstr "Ieškoti kalbos kodo…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Ieškoti kalbų…" @@ -30553,7 +30553,7 @@ msgid "Select GIF {title}" msgstr "Pasirinkite GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Pasirinkite sąsajos kalbą" @@ -30574,7 +30574,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Pasirinkite paskyrą, su kuria norite prisijungti naujame įrenginyje." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Pasirinkite balso apdorojimo režimą" @@ -30888,7 +30888,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Siunčia neapdorotą mikrofono garsą be apdorojimo." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Siunčia jūsų garsą be pakeitimų. Geriausia, jei naudojate išorinę garso programinę įrangą." @@ -30987,7 +30987,7 @@ msgid "Set a member list position for the role" msgstr "Nustatyta vaidmens pozicija narių sąraše" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Nustatyta pagal {preset} iš anksto nustatytą parinktį. Pasirinkus reikšmę čia, bus pereita prie pasirinktinio nustatymo." @@ -31151,7 +31151,7 @@ msgid "Set the voice region to automatic" msgstr "Nustatytas automatinis balso regionas" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Nustatyti" @@ -31308,7 +31308,7 @@ msgstr "Bendrinti su draugu" msgid "Share your screen" msgstr "Bendrinti ekraną" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Bendrinkite ekraną didele raiška (1080p), Quad HD (1440p) arba natūralia šaltinio raiška, iki 60 kadrų per sekundę." @@ -31400,7 +31400,7 @@ msgstr "Trumpieji kodai" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31408,7 +31408,7 @@ msgstr "Spartusis klavišas" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Sparčiųjų klavišų ženkleliai" @@ -31617,7 +31617,7 @@ msgid "Show favorite button" msgstr "Rodyti mėgstamiausių mygtuką" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Rodyti mėgstamiausius elementus visoje programoje" @@ -32040,7 +32040,7 @@ msgid "Sign in with your browser" msgstr "Prisijunkite per naršyklę" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Prisijungti naudojant senąją {productName} programėlę" @@ -32098,7 +32098,7 @@ msgid "Sign out?" msgstr "Atsijungti?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Prisijungimas atšauktas" @@ -32114,7 +32114,7 @@ msgid "Sign-in details" msgstr "Prisijungimo duomenys" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Prisijungimo eiga" @@ -32145,7 +32145,7 @@ msgid "Signing in as {name}" msgstr "Prisijungiama kaip {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Prisijungiate kitame įrenginyje?" @@ -32655,7 +32655,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32695,7 +32695,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Nepavyko pradėti atsiskaitymo. Bandykite dar kartą po akimirkos." @@ -32813,7 +32813,7 @@ msgstr "Garsai" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32989,8 +32989,8 @@ msgstr "Greitis" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32998,7 +32998,7 @@ msgid "Spellcheck" msgstr "Rašybos tikrinimas" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Rašybos tikrinimo modulis" @@ -33100,7 +33100,7 @@ msgid "Star animation" msgstr "Žvaigždės animacija" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Pažymėti kanalai" @@ -33141,7 +33141,7 @@ msgstr "Pradėti balso skambutį?" msgid "Start call" msgstr "Pradėti skambutį" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Pradėti kameros testą ir konfigūruoti efektus" @@ -33176,7 +33176,7 @@ msgid "Start minimized" msgstr "Pradėti sumažintą" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33240,7 +33240,7 @@ msgid "Startup" msgstr "Paleidimas" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Statinis Neko" @@ -33461,12 +33461,12 @@ msgid "Still indexing — check back in a moment" msgstr "Vis dar indeksuojama – patikrinkite po akimirkos" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Nejudantis Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Vis dar laukiama ekrano įrašymo prieigos" @@ -33495,7 +33495,7 @@ msgid "Stop mic test" msgstr "Sustabdyti mikrofono testą" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Neko nebesivaiko žymeklio, bet jį vis tiek galima vilkti ir su juo sąveikauti." @@ -33778,7 +33778,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Prenumerata jau yra" @@ -33958,7 +33958,7 @@ msgstr "Perjungti į patogų išdėstymą" msgid "Switch to dense layout" msgstr "Perjungti į tankų išdėstymą" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Perjungti į tiesioginį įvedimą" @@ -34183,7 +34183,7 @@ msgid "System DMs cannot host voice calls." msgstr "Sistemos DM negali rengti balso skambučių." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Sistemos lokalė: {format}" @@ -34219,17 +34219,17 @@ msgid "System tray" msgstr "Sistemos dėklas" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Sistemos tvarkomas diegimas" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Visos sistemos spartieji klavišai" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Nepavyko nustatyti sistemos sparčiųjų klavišų." @@ -34345,7 +34345,7 @@ msgid "Tap to add a note" msgstr "Palieskite, kad pridėtumėte pastabą" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz archyvas" @@ -34361,7 +34361,7 @@ msgstr "Užduočių juostos ženkliukas" msgid "Teleporting you to another voice region..." msgstr "Perkeliame jus į kitą balso regioną..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Šablonas" @@ -34650,7 +34650,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "„{PRODUCT_NAME}“ programa jūsų kitame įrenginyje rodoma skiltyje „Prisijungimas kitu įrenginiu“. Įveskite kodą tik iš įrenginio, kurį kontroliuojate." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "„{PRODUCT_NAME}“ programa nebuvo prisijungta. Galite uždaryti šią skirtuką." @@ -34715,12 +34715,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Bendruomenė, kurios ieškote, galėjo būti ištrinta arba neturite prieigos prie jos." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Nepavyko atsisiųsti darbalaukio naujinimo. Bandykite dar kartą paspaudę naujinimo mygtuką, kai ryšys bus stabilus." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Atsisiųstas failas išsaugotas jūsų kompiuteryje. Įdiekite jį naudodami įprastą paketų tvarkyklę." @@ -35178,7 +35178,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Šioje kategorijoje jau yra didžiausias leistinas kanalų skaičius: {maxChannelsPerCategory}." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Ši kategorija pažymėta kaip skirta brandžiam turiniui ir joje gali būti medžiagos, kuri kai kuriems naudotojams gali būti netinkama." @@ -35221,7 +35221,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Šiame kanale yra turinio įspėjimas. Naujienos gali būti siunčiamos tik į kanalus su turinio įspėjimu arba amžiaus apribojimu." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Šis kanalas pažymėtas kaip skirtas brandžiam turiniui ir jame gali būti medžiagos, kuri kai kuriems naudotojams gali būti netinkama." @@ -35310,7 +35310,7 @@ msgid "This community is full" msgstr "Ši bendruomenė pilna" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Ši bendruomenė pažymėta kaip skirta brandžiam turiniui ir joje gali būti medžiagos, kuri kai kuriems naudotojams gali būti netinkama." @@ -35325,14 +35325,14 @@ msgstr "Ši bendruomenė nebepasiekiama" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Šis ryšys patvirtintas." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Šis ryšys nepatvirtintas." @@ -35350,22 +35350,22 @@ msgid "This conversation is no longer available." msgstr "Šis pokalbis nebepasiekiamas." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Ši darbalaukio versija negali diegti naujinimų programoje {productName}. Vietoj to atsisiųskite naujausią darbalaukio diegimo programą." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Šis darbalaukis nepalaiko sistemos sparčiųjų klavišų. Kalbėjimas paspaudus veikia tik tada, kai {productName} yra aktyvus." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Šis darbalaukis nepalaiko sistemos sparčiųjų klavišų. Spartieji klavišai vis tiek veikia, kai {productName} yra aktyvus." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Ši kūrimo versija negali atsinaujinti. Atsisiųskite darbalaukio diegimo programą, kad išbandytumėte naujinimo eigą." @@ -35477,7 +35477,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Šio paveikslėlio nepavyko nuskaityti. Jis gali būti sugadintas." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Šią programą valdo jūsų sistema. Atnaujinkite „{productName}“ naudodami programų centrą arba paketų tvarkyklę." @@ -35492,7 +35492,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Ši instancija jau naudoja prisijungimui vartotojo vardus. Tai nebegali būti pakeista." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Ši instancija šiuo metu leidžia bendrinti ekraną iki 720p raiškos ir 30 kadrų per sekundę." @@ -35630,33 +35630,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Ši nuoroda netinkama. Dar kartą atidarykite nuorodą iš savo el. laiško." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Ši brandaus turinio kategorija nepasiekiama jūsų paskyrai." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Ši brandaus turinio kategorija nepasiekiama jūsų paskyrai. <0>Sužinoti daugiau" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Šis brandaus turinio kanalas nepasiekiamas jūsų paskyrai." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Šis brandaus turinio kanalas nepasiekiamas jūsų paskyrai. <0>Sužinoti daugiau" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Ši brandaus turinio bendruomenė nepasiekiama jūsų paskyrai." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Ši brandaus turinio bendruomenė nepasiekiama jūsų paskyrai. <0>Sužinoti daugiau" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Ši brandi medija nepasiekiama jūsų paskyrai." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Ši brandi medija nepasiekiama jūsų paskyrai. <0>Sužinoti daugiau" @@ -35716,10 +35727,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Šis planas nepasiekiamas. Susisiekite su palaikymo komanda." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Šis planas nepasiekiamas. Susisiekite su šios instancijos administratoriais." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Šis pirkinys negali būti grąžintas." @@ -35838,7 +35854,7 @@ msgstr "Ši tema užrakinta. Tik moderatoriai gali siųsti žinutes." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Šis naudotojas apribojo savo profilį. Dalis informacijos nematoma žmonėms, kurie nėra jo draugai." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Šis naudotojas neturi vaidmenų šioje bendruomenėje." @@ -36051,14 +36067,14 @@ msgstr "Laikas" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Laiko formatas" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Laiko formato pasirinkimas" @@ -36144,17 +36160,17 @@ msgid "Title bar platform" msgstr "Pavadinimo juostos platforma" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Norėdami pakeisti klavišus, eikite į Nustatymai > Programos > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Norėdami pakeisti klavišus, eikite į Sistemos nuostatos > Klaviatūra > Spartieji klavišai > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Norėdami pakeisti klavišus, atidarykite savo darbalaukio klaviatūros sparčiųjų klavišų nustatymus." @@ -36342,7 +36358,7 @@ msgid "Toolbar" msgstr "Įrankių juosta" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Spartieji klavišai patarimuose" @@ -36865,7 +36881,7 @@ msgstr "Dvidešimt keturių valandų" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Du paspaudimai" @@ -37264,7 +37280,7 @@ msgstr "Universalus atsarginis variantas. Žemiausia kokybė, bet veikia visur." #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Nežinoma" @@ -37430,7 +37446,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Atrakinkite pasirinktinius jaustukus DM pokalbiuose su „{premiumProductName}“" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Atrakinkite HD ekrano bendrinimą su „{premiumProductName}“" @@ -37818,7 +37834,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Iki 720p esant 30 kadrų per sekundę" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Atnaujinkite {productName}, kad galėtumėte naudoti sistemos sparčiuosius klavišus Wayland aplinkoje." @@ -37842,7 +37858,7 @@ msgid "Update my status" msgstr "Atnaujinti mano būseną" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Atnaujinti dabar" @@ -38009,8 +38025,8 @@ msgstr "Įkelkite failus ir mediją į šį kanalą." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Įkelti piktogramą" @@ -38167,7 +38183,7 @@ msgid "Use {name} on {domain}" msgstr "Naudoti {name} adresu {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Naudoti {pixPaymentMethod}" @@ -38182,7 +38198,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Naudoti {upiPaymentMethod}" @@ -38220,7 +38236,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Naudoti kitą būdą" @@ -38246,12 +38262,12 @@ msgid "Use autoscrolling" msgstr "Naudoti automatinį slinkimą" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Naudoti kortelę" @@ -38298,7 +38314,7 @@ msgid "Use default" msgstr "Naudoti numatytąjį" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Naudoti tiesioginę prieigą prie įvesties įrenginių" @@ -38392,7 +38408,7 @@ msgid "Use stickers from other communities." msgstr "Naudoti lipdukus iš kitų bendruomenių." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Naudoti sistemos lokalę laiko formatui" @@ -38407,7 +38423,7 @@ msgid "Use the operating system's window chrome" msgstr "Naudoti operacinės sistemos lango apvadą" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Naudoti operacinėje sistemoje integruotą rašybos tikrintuvą." @@ -38453,7 +38469,7 @@ msgid "Use voice activity" msgstr "Naudoti balso aktyvavimą" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Naudokite savo operacinės sistemos rašybos tikrintuvą, jei jis pasiekiamas. Kitu atveju naudokite {productName} programoje esančius žodynus." @@ -38927,7 +38943,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Pirmiausia patvirtinkite savo el. paštą" @@ -39245,7 +39261,7 @@ msgstr "Peržiūrėti išsamią informaciją" msgid "View devices that are signed in to your account" msgstr "Peržiūrėti įrenginius, kurie prisijungę prie jūsų paskyros" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Peržiūrėti visą profilį" @@ -39388,7 +39404,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39536,7 +39552,7 @@ msgstr "Balso kanalas" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Balso kanalo patvirtinimas" @@ -39547,7 +39563,7 @@ msgid "Voice channel full" msgstr "Balso kanalas pilnas" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Prisijungimo prie balso kanalo veiksena" @@ -39616,7 +39632,7 @@ msgid "Voice participants" msgstr "Balso pokalbio dalyviai" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Balso apdorojimas" @@ -39662,7 +39678,7 @@ msgstr "Garso įjungimas" msgid "Voice unmute" msgstr "Mikrofono įjungimas" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Šioje naršyklėje balso pokalbiams naudojamas sistemos garso išvesties įrenginys. Pakeiskite jį sistemos nustatymuose." @@ -39676,7 +39692,7 @@ msgstr "Anuliuota" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39724,7 +39740,7 @@ msgstr "Laikas tarp žinučių. Nariai, turintys leidimą „{bypassSlowmodePerm msgid "Waiting for connection..." msgstr "Laukiama prisijungimo..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Laukiama prieigos rakto…" @@ -39744,7 +39760,7 @@ msgid "Waiting for you to..." msgstr "Laukiama, kol jūs..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Laukiama jūsų darbalaukio…" @@ -39888,7 +39904,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Nepavyko nuskaityti šios temos. Ji gali būti sugadinta arba netinkama." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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į." @@ -39915,7 +39931,7 @@ msgstr "Šį lipduką pakeitėme ir suglaudinome iki 320x320 pikselių, bet jo d msgid "We sent a code to {email}." msgstr "Išsiuntėme kodą į {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Atidarius prisijungimo naršyklėje langą, iš anksto užpildysime {prefillEmail}." @@ -40112,7 +40128,7 @@ msgid "Website previews" msgstr "Svetainių peržiūros" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Sveiki sugrįžę" @@ -40322,7 +40338,7 @@ msgstr "Kurios bendruomenės" msgid "Which conversations" msgstr "Kurie pokalbiai" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Kai įjungtas kalbėjimas paspaudus, mikrofoną valdo jūsų spartusis klavišas, todėl nutildymo mygtukas išjungtas." @@ -40632,7 +40648,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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}." @@ -41053,12 +41069,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Ką tik paspaudėte „Tab“. Įjungtas klaviatūros režimas, kad galėtumėte naršyti {productName} be pelės." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Privilegijas išsaugosite iki kito atnaujinimo datos. Suaktyvinkite prenumeratą iš naujo iki tol, kad išsaugotumėte prenumeratos istoriją." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Iškart prarasite visas „{PREMIUM_PRODUCT_NAME}“ privilegijas, o jūsų prenumeratos istorija bus nustatyta iš naujo. Šio veiksmo anuliuoti negalima." @@ -41138,8 +41154,8 @@ msgstr "Norėdami čia naudoti jaustukus iš kitų bendruomenių, turite turėti msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Norėdami čia naudoti lipdukus iš kitų bendruomenių, turite turėti leidimą „{permissionLabel}“." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Prieš kurdami bendruomenę turite užregistruoti savo paskyrą." @@ -41156,8 +41172,8 @@ msgstr "Kad galėtumėte siųsti tiesiogines žinutes, turite užregistruoti sav msgid "You need to claim your account to send messages in this community." msgstr "Kad galėtumėte siųsti žinutes šioje bendruomenėje, turite užregistruoti savo paskyrą." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Prieš kurdami bendruomenę, turite patvirtinti savo el. pašto adresą." @@ -41171,7 +41187,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Prieš pirkdami „{premiumProductFullName}“ turite patvirtinti el. pašto adresą." @@ -41215,7 +41231,7 @@ msgid "You'll appear offline" msgstr "Atrodysite neprisijungę" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Jums bus apmokestinta dabar. Jūsų likęs dovanų laikas bus pridėtas po apmokėto laikotarpio, todėl niekas nebus prarasta." @@ -41263,7 +41279,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Jau esate Visionary" @@ -41382,7 +41398,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Siunčiate pranešimus per greitai. Bandykite vėliau." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Esate prisijungę" @@ -41501,7 +41517,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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ą." @@ -41560,10 +41576,14 @@ msgstr "Jūsų paskyra per nauja, kad galėtų siųsti žinutes šioje bendruome msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Jūsų paskyros užklausa laukia patvirtinimo. Prisijungti galėsite, kai administratorius ją patvirtins." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Jūsų paskyrai reikalingas daugiafaktorinis autentifikavimas, tačiau šiame įrenginyje nėra nustatytų palaikomų metodų. Prisijunkite įrenginyje, kuriame yra jūsų autentifikavimo programa arba saugos raktas, arba susisiekite su palaikymo komanda." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Jūsų paskyrai reikalingas daugiafaktorinis autentifikavimas, tačiau šiame įrenginyje nėra nustatytų palaikomų metodų. Prisijunkite įrenginyje, kuriame yra jūsų autentifikavimo programa arba saugos raktas, arba susisiekite su šios instancijos administratoriais." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41575,10 +41595,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Jūsų paskyros ir nustatymai nebuvo pakeisti ar ištrinti." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Jūsų veiksmas negalėjo būti atliktas, nes jį pažymėjo mūsų saugos sistemos. Jei manote, kad tai klaida, susisiekite su palaikymo komanda." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Jūsų veiksmas negalėjo būti atliktas, nes jį pažymėjo mūsų saugos sistemos. Jei manote, kad tai klaida, susisiekite su šios instancijos administratoriais." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41626,22 +41651,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Jūsų dabartinis rinkinys nustos veikti, kai tik bus sukurtas naujas." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Jūsų darbalaukis nenustatė sistemos sparčiųjų klavišų." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Jūsų darbalaukis šiuos klavišus rezervuoja programai {productName}, todėl kitos programos negali jų naudoti." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Jūsų darbalaukis šiuos klavišus rezervuoja programai {productName}, todėl kitos programos negali jų naudoti. Jei norite tą patį klavišą naudoti kitose programose, žemiau įjunkite tiesioginę prieigą prie įvesties įrenginių." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Jūsų darbalaukis vykdo šiuos sparčiuosius klavišus net tada, kai {productName} nėra aktyvus." @@ -41730,7 +41755,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Jūsų dovanos laikas baigėsi. Prenumeruokite, kad išsaugotumėte {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Jūsų dovanotas laikas išsaugotas" @@ -41745,7 +41770,7 @@ msgid "Your grace period has ended." msgstr "Jūsų lengvatinis laikotarpis baigėsi." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Jūsų diegimas pažeistas, todėl turite iš naujo įdiegti programėlę, kad visos funkcijos veiktų." @@ -41772,22 +41797,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Paskutinis pirkinys nepatenka į pinigų grąžinimo laikotarpį. Dėl atsiskaitymo problemų susisiekite su palaikymo komanda." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Jūsų žinutė nebuvo pristatyta, nes ją pažymėjo mūsų saugos sistemos. Jei manote, kad tai klaida, susisiekite su palaikymo komanda." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Jūsų žinutė nebuvo pristatyta, nes ją pažymėjo mūsų saugos sistemos. Jei manote, kad tai klaida, susisiekite su šios instancijos administratoriais." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Jūsų žinutės nepavyko pristatyti. Paprastai taip nutinka, nes neturite bendros bendruomenės su gavėju arba gavėjas priima tiesiogines žinutes tik iš draugų. Jums taip pat gali reikėti pakoreguoti savo tiesioginių žinučių privatumo nustatymus čia: {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Jūsų žinutės nepavyko pristatyti. Norėdami siųsti tiesiogines žinutes, turite užregistruoti savo paskyrą." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Jūsų žinutės nepavyko pristatyti. Norėdami siųsti žinutes, turite užregistruoti savo paskyrą." @@ -41886,7 +41916,7 @@ msgid "Your report didn't go through. Try again." msgstr "Nepavyko išsiųsti jūsų pranešimo. Bandykite dar kartą." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Jūsų išsaugotas vaizdo įrašas {savedResolution} su {savedFrameRate} kadrų per sekundę reikalauja {premiumProductName}, todėl bendrinama naudojant {resolution} su {frameRate} kadrų per sekundę." diff --git a/fluxer_app/src/features/i18n/locales/nl/messages.po b/fluxer_app/src/features/i18n/locales/nl/messages.po index 45b3cabd1..b189584fa 100644 --- a/fluxer_app/src/features/i18n/locales/nl/messages.po +++ b/fluxer_app/src/features/i18n/locales/nl/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} draait een nieuwere versie van Fluxer dan deze app. Update Fluxer en probeer het opnieuw." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "Loopt {duration} op je voor" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "Loopt {duration} op je achter" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} beelden per seconde" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# uur geleden} other {# uur geleden}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# uur} other {# uur}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# uur} other {# uur}} {minutes, plural, one {# minuut} other {# minuten}}" @@ -1602,7 +1602,7 @@ msgstr "Het bestand voor {label} is te groot. Kies een bestand kleiner dan {maxS msgid "{label} images cannot be animated. Use a static image." msgstr "Afbeeldingen voor {label} mogen niet geanimeerd zijn. Gebruik een statische afbeelding." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Vlag: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# minuut geleden} other {# minuten geleden}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minuut} other {# minuten}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} heeft een nieuw audio-uitvoerapparaat gevonden met de naa msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} moet opnieuw worden opgestart voordat de native scrollinstellingen van Chromium van kracht worden." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} moet opnieuw worden opgestart om hardwareversnelling toe te passen." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} moet opnieuw worden opgestart om de wijziging van de titelbalk door te voeren." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} moet opnieuw worden opgestart om de hardwareversnelling van Chromium uit te schakelen. Gebruik dit alleen als je problemen met de grafische weergave of een hoog GPU-gebruik oplost." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "{productName}-bugjager" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} kan je desktop vragen om de sneltoetsen uit te voeren als {productName} niet actief is. Je desktop vraagt je om bevestiging en laat je de toetsen kiezen." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} kan je toetsenbord niet meer uitlezen en luistert daarom via X11 naar sneltoetsen." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} kan je toetsenbord niet meer uitlezen, dus worden de sneltoetsen van je desktop gebruikt." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} kan je toetsenbord niet meer uitlezen. Sneltoetsen werken alleen als {productName} actief is." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} kan zijn sneltoetsen registreren bij Hyprland, zodat ze ook werken als {productName} niet actief is. Je stelt de toetsen daarna in je Hyprland-configuratie in." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} kan geen hardware-encoder gebruiken, dus wordt de CPU gebruikt." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} sluit, installeert de update en opent opnieuw." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} kon geen verbinding maken met de updateservice. Controleer je internetverbinding en probeer het opnieuw." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} is verhuisd naar {host}. Open het in je browser om de nieuwe app te installeren." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Lid van {productName} sinds" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} heeft toegang nodig tot je microfoon. Geef microfoontoegang in de privacyinstellingen van je besturingssysteem en herstart de app." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} heeft cameratoegang nodig om je apparaten weer te geven." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} heeft microfoontoegang nodig om je apparaten weer te geven." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "{productName} herstelkit" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} heeft zijn sneltoetsen geregistreerd bij Hyprland. Stel ze in je Hyprland-configuratie in om ze te gebruiken als {productName} niet actief is." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 maanden (1 jaar)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12-uurs" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 uur" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24-uurs" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "een hostnaam, bijv. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Er is een Linux-desktopupdate beschikbaar. Kies het pakketformaat voor dit systeem, en {productName} zal het lokaal opslaan." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "een minuut" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Er is een nieuwe versie van de desktop-app beschikbaar. Download het installatiebestand en voer dit uit om {productName} bij te werken." @@ -2817,7 +2817,7 @@ msgstr "Over {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Over mij" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Activiteit delen" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Activiteitsdrempel" @@ -3155,7 +3155,7 @@ msgstr "Ware grootte" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Toevoegen" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Voeg eerst een gebruikersnaam en wachtwoord toe aan je account." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Een woord toevoegen…" @@ -3244,7 +3244,7 @@ msgstr "Voeg een YouTube Data API-sleutel toe om YouTube-links te verrijken." #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Account toevoegen" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Adres" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Pas elke instelling zelf aan: ruisonderdrukking, echo-onderdrukking en versterking." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Geavanceerd" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Geavanceerde video-instellingen" @@ -3906,22 +3906,22 @@ msgstr "Toestaan" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Sta {everyoneMention} en {hereMention} toe" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Sta {PRODUCT_NAME} toe om toegang te krijgen tot je camera in Systeeminstellingen → Privacy en beveiliging → Camera." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Sta {PRODUCT_NAME} toe om toegang te krijgen tot je microfoon in Systeeminstellingen → Privacy en beveiliging → Microfoon." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Sta {PRODUCT_NAME} toe om je microfoon te gebruiken. Controleer de adresbalk of instellingen van je browser." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Sta {productName} toe onder Schermopname in Systeeminstellingen. Als het al is toegestaan, start je {productName2} opnieuw op, zodat macOS dit toepast." @@ -3961,7 +3961,7 @@ msgstr "Directe berichten van bots toestaan" msgid "Allow bots to send you direct messages?" msgstr "Bots toestaan om je directe berichten te sturen?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Cameratoegang toestaan" @@ -4029,7 +4029,7 @@ msgstr "Sta leden zonder de machtiging \"{readMessageHistoryPermissionLabel}\" t msgid "Allow mentions for this role" msgstr "Vermeldingen voor deze rol toestaan" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Microfoontoegang toestaan" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Links altijd onderstrepen" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Gebruik altijd de Hunspell-woordenboeken van {productName}, die op aanvraag worden gedownload." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Badge op app-pictogram" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Tijdnotatie van de apptaal: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Goedkeuring vereist" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Keur deze app goed vanuit de {productName}-app die je al gebruikt. Geen wachtwoord nodig." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Geautoriseerd op {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Automatisch" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Taal automatisch detecteren" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Activiteitsdrempel automatisch instellen" @@ -5534,7 +5534,7 @@ msgstr "AV1 (moet expliciet worden ingeschakeld)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Beschikbaar" @@ -5608,11 +5608,11 @@ msgstr "Nu afwezig" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Beste compressie. Gebruik dit alleen als WebRTC een encoder beschikbaar stelt en de GPU-rapportage aangeeft dat deze hardware-ondersteund is." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Werkt het beste met de desktopapp" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Browser: startpagina" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Tijdnotatie van de browser: {format}" @@ -6545,8 +6545,8 @@ msgstr "Koop een {premiumProductName}-cadeau via het tabblad {premiumProductName msgid "Buy gift" msgstr "Cadeau kopen" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Door een community aan te maken, ga je akkoord met het volgen en naleven van de <0>communityrichtlijnen van {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Gesprekken" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Cameravoorbeeld" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Camerakwaliteit" @@ -6809,8 +6809,8 @@ msgstr "Kan hier geen bestanden uploaden" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Geplande wijziging annuleren" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Abonnement opzeggen" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Abonnement opzeggen?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Categorie" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Waarschuwing over categorie-inhoud" @@ -7131,15 +7131,15 @@ msgstr "Groepsbijnaam wijzigen" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Pictogram wijzigen" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Wijzigen in systeeminstellingen" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Kanaalbadges" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Waarschuwing over kanaalinhoud" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Chatsneltoetsen" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Opnieuw controleren" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Toegang controleren..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Toestemming voor schermopname controleren..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Afrekenen niet beschikbaar" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Kies hoe je voor dit abonnement wilt betalen." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Kies betaalmethode" @@ -8174,7 +8174,7 @@ msgstr "Kies je standaardinstellingen" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Kies je instantie" @@ -8216,8 +8216,8 @@ msgstr "Cadeau inwisselen" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Voltooi de registratie van je account" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Communitybadges" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Waarschuwing over community-inhoud" @@ -9089,8 +9089,8 @@ msgstr "Community-DM" msgid "Community filter" msgstr "Communityfilter" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Communitypictogram" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Community bijgewerkt" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Spraakchat in communities" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Betaling afronden" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Voltooi de controle voor inhoud voor volwassenen om media voor volwassenen te ontgrendelen." @@ -9409,7 +9409,7 @@ msgstr "Bevestigen" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Bevestigen voordat je deelneemt aan spraakkanalen" @@ -9457,7 +9457,7 @@ msgstr "Bevestig de verklaring om de melding te verzenden." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Deelnemen aan spraakchat bevestigen" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Bevestiging" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Bevestiging of dubbelklik bij deelname aan spraakkanalen in communities" @@ -9476,7 +9476,7 @@ msgstr "Bevestiging of dubbelklik bij deelname aan spraakkanalen in communities" msgid "Conflicts with {conflictLabel}" msgstr "Conflict met {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Sluit een camera aan en probeer het opnieuw." @@ -9489,7 +9489,7 @@ msgstr "Sluit een camera of virtueel opnameapparaat aan en probeer het opnieuw." msgid "Connect a display, then try again." msgstr "Sluit een beeldscherm aan en probeer het opnieuw." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Sluit een microfoon aan en probeer het opnieuw." @@ -9633,7 +9633,7 @@ msgstr "Verbinding: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Contact" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Inhoud geblokkeerd" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Doorgaan in je browser" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Doorgaan naar afrekenen" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Doorgaan met passkey" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Uitnodigings-URL kopiëren" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Regels kopiëren" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Regels kopiëren voor hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Regels kopiëren voor hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Je prijs kon niet worden gewijzigd" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Kan niet controleren op updates" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Je berichten konden niet worden verwijderd" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Kon de desktopupdate niet downloaden" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Afrekenen kon niet worden gestart" @@ -10932,7 +10932,7 @@ msgstr "Maken en delen" msgid "Create a community" msgstr "Community aanmaken" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Maak een community om met je vrienden te chatten." @@ -11365,7 +11365,7 @@ msgstr "Aangepast" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Geluid uitgeschakeld door moderators" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB-pakket" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Desktopapp" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "De desktopapp is up-to-date" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Desktopupdate {version} beschikbaar. Kies een Linux-pakket." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Desktopupdate beschikbaar" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Desktopupdate beschikbaar. Kies een Linux-pakket." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "De desktopversie {version} is beschikbaar. Download het installatieprogramma en voer dit uit om {productName} bij te werken." @@ -12613,7 +12613,7 @@ msgstr "Details: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Detecteren tijdens typen" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Ontwikkelaarstools niet beschikbaar" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Ontwikkelingsversie" @@ -13455,8 +13455,8 @@ msgstr "Downloaden" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "{productName} downloaden" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification en plaats het in je <1>.well-known-map, zodat we het domein kunnen valideren." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "App downloaden" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Download-appknop in de zijbalk" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Downloadknop" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Desktopapp downloaden" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Afbeelding downloaden" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Installatieprogramma downloaden" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Media downloaden" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Pakket downloaden" @@ -13655,11 +13655,11 @@ msgstr "Item neerzetten" msgid "Drop to upload background" msgstr "Laat los om de achtergrond te uploaden" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Vanwege wetgeving over inhoud voor volwassenen in {regionName} is inhoud voor volwassenen geblokkeerd totdat je de controle voor inhoud voor volwassenen hebt voltooid." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Vanwege wetgeving over inhoud voor volwassenen in {regionName} is inhoud voor volwassenen hier niet beschikbaar. Controles voor inhoud voor volwassenen zijn alleen beschikbaar in het VK." @@ -13673,7 +13673,7 @@ msgstr "Vanwege wetgeving voor inhoud voor volwassenen in {regionName} is deze i msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Vanwege wetgeving voor inhoud voor volwassenen in {regionName} is deze inhoud hier niet beschikbaar. Controles voor inhoud voor volwassenen zijn alleen beschikbaar in het VK." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Vanwege wetgeving over inhoud voor volwassenen in {regionName} is dit media-item niet beschikbaar in je huidige regio." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Elke code werkt één keer in plaats van je authenticatie-app." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Elke toets kan maar één systeembrede sneltoets uitvoeren." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Inschakelen" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Machtiging {permissionName} inschakelen" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Sneltoets inschakelen" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Spellingcontrole inschakelen" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Respijtperiode nu beëindigen" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Respijtperiode beëindigen" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Respijtperiode nu beëindigen?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Voer de pincode van je beveiligingssleutel in om verder te gaan." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Voer deze code in je browser in" @@ -14845,7 +14845,7 @@ msgstr "Voer deze code in je browser in" msgid "Enter this code in your browser to complete sign-in." msgstr "Voer deze code in je browser in om het aanmelden te voltooien." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Voer deze code in je oude {PRODUCT_NAME}-app in om het inloggen te voltooien." @@ -14916,7 +14916,7 @@ msgstr "Volledige systeemaudio" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Binnenkomstgeluid" @@ -15026,7 +15026,7 @@ msgstr "Avond" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Maakt je microfoonvolume gelijkmatiger zodat je niet te zacht klinkt." @@ -15249,7 +15249,7 @@ msgstr "Verloopt tussen {earliest} en {latest}" msgid "Expires in {remaining}s" msgstr "Verloopt over {remaining}s" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Vervalt over {remainingSeconds}s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Kanaal toevoegen aan favorieten" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Favoriete kanalen" @@ -16243,7 +16243,7 @@ msgstr "Voor {threeHours} uur" msgid "For {twentyFourHours} hours" msgstr "Voor {twentyFourHours} uur" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Alleen voor Britse ogen..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Voor mij" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Gebruik voor 'Indrukken om te dempen' één toets zonder Ctrl, Alt of Shift. Laat bij een combinatie eerst de hoofdtoets los, anders kan je microfoon gedempt blijven." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Gebruik voor push-to-talk één toets zonder Ctrl, Alt of Shift. Laat bij een combinatie eerst de hoofdtoets los, anders kan je microfoon aan blijven." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Gebruik voor deze sneltoets één toets zonder Ctrl, Alt of Shift. Laat bij een combinatie eerst de hoofdtoets los, anders kan de sneltoets actief blijven." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Gebruik voor 'Prioriteit voor spraakactiviteit' één toets zonder Ctrl, Alt of Shift. Laat bij een combinatie eerst de hoofdtoets los, anders kan de prioriteit aan blijven." @@ -16460,14 +16460,14 @@ msgstr "Kader" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Beeldsnelheid" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Framesnelheden boven 30 FPS vereisen {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Ontvang meldingen wanneer je berichten krijgt. Mogelijk moet je meldingen toestaan in je browserinstellingen. Klik voor instellingen per kanaal of community met de rechtermuisknop op een communitypictogram en open de meldingsinstellingen." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Download de {productName}-desktopapp voor systeembrede push-to-talk en een paar andere extraatjes." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Download de desktopapp" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Ga terug naar {productName} om verder te gaan." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Ga terug naar de {PRODUCT_NAME}-app. Het voltooit het aanmelden vanzelf." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Ga terug naar de {PRODUCT_NAME}-app. Je kunt dit tabblad sluiten." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Help" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Hulpknop" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Helpcentrum" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Helpcentrumknop in de zijbalk" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Help {PRODUCT_NAME} vertalen naar jouw taal op <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Chat verbergen" msgid "Hide community owner crown" msgstr "Kroon van community-eigenaar verbergen" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Downloadknop verbergen" @@ -17860,7 +17860,7 @@ msgstr "Favorieten verbergen" msgid "Hide guidelines" msgstr "Richtlijnen verbergen" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Helpcentrumknop verbergen" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Berichten over nieuwe leden verbergen" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Toetsenbordtips verbergen" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Hyperlink" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland heeft geen venster voor sneltoetsen. Voeg de regels voor je Hyprland-versie toe aan je Hyprland-configuratie en vervang KEY door de gewenste toets." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland heeft geen venster voor sneltoetsen. Stel de toetsen in je Hyprland-configuratie in." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (vóór Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 en later)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Ik verklaar te goeder trouw dat de informatie en de beweringen in deze melding juist en volledig zijn." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Ik begrijp het" @@ -18598,11 +18598,11 @@ msgstr "Importeren… {processedCount, number} / {totalCount, number} verwerkt, msgid "In" msgstr "In" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "In de modus \"Besturingssysteem\" zijn de hierboven vermelde woordenboeken alleen bedoeld als suggestie. {PRODUCT_NAME} geeft deze taaltags door aan de spellingcontrole van je besturingssysteem, als dat wordt ondersteund. Onbekende tags worden genegeerd." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "In een browser werkt push-to-talk alleen als het tabblad van {PRODUCT_NAME} actief is. Installeer de desktopapp voor systeembrede push-to-talk." @@ -18650,7 +18650,7 @@ msgstr "In spraakchat" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Woordenboeken in de app" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Invoer" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Invoer en uitvoer" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Emoji invoegen" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Installeer {productName} voor de volledige bronkiezer en soepelere bediening van scherm delen." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Nieuwe app installeren" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Geïnstalleerd" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Geïnstalleerde versie: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Interface" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Interfacetaal" @@ -19467,13 +19467,13 @@ msgstr "Deelnemen" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Word lid van {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Word lid van {communityName} om met het team te chatten en op de hoogte te blijven." @@ -19561,7 +19561,7 @@ msgstr "Deelnemen aan videogesprek" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Deelnemen aan spraakchat" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Houd gratis en premium niveaus aan. Je kunt de niveaus aanpassen, premium verkopen via Stripe, of later cadeaucodes uitdelen vanuit het adminpaneel." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Respijtperiode behouden" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Actief blijven" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Abonnement behouden" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Bewaar deze pagina ergens veilig. Als je je wachtwoord vergeet, kun je het gebruiken om weer toegang te krijgen tot je account. Iedereen met deze herstelsleutel kan je wachtwoord opnieuw instellen, dus deel hem nooit." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Blijf kort uitzenden nadat de knop is losgelaten." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Toetsenbord" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Toegang tot het toetsenbord kon niet worden gestart. Sneltoetsen werken alleen als {productName} actief is." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Toetsenbordmodus" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Sneltoetshints in tooltips" @@ -19923,7 +19923,7 @@ msgstr "Taalinstellingen" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Talen" @@ -19971,7 +19971,7 @@ msgstr "Latentiegrafiek" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Ervoor gezorgd dat het lid anderen in deze community weer hoort" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Hiermee kan {productName} je toetsenbord direct uitlezen. Schakel dit uit om sneltoetsen in plaats daarvan via je desktop in te stellen." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Hiermee kan {productName} je toetsenbord direct uitlezen. Je systeem staat dit al toe." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Standaard van Linux" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Linux-pakket" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Lokale bestanden" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Lokale tijd" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Uiterlijk" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Het lijkt erop dat je {0} gebruikt. Als je daar de audioverwerking van {PRODUCT_NAME} bovenop toepast, kan dit pompend geluid of vervorming veroorzaken. Directe invoer stuurt je audio onbewerkt door." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Groepseigenaar maken" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Zorg ervoor dat deze code overeenkomt met die in de {PRODUCT_NAME} app." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Abonnement beheren" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Handmatige desktopupdate" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Hoofdvolume" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Categorie voor volwassenen" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Kanaal voor volwassenen" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Community voor volwassenen" @@ -21194,7 +21194,7 @@ msgstr "Controle voor inhoud voor volwassenen verzonden" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Controles voor inhoud voor volwassenen zijn momenteel alleen beschikbaar voor gebruikers in het Verenigd Koninkrijk." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Rollen van lid bijgewerkt" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Lid sinds" @@ -22013,7 +22013,7 @@ msgstr "Microfoon" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Microfoontest" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Neko-kat die je cursor achterna zit" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Nieuwe gebruikers kunnen nu niet deelnemen. Je kunt nog steeds een account aanmaken of inloggen en deze link later opnieuw proberen." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Nieuwe versie" @@ -23465,7 +23465,7 @@ msgstr "Geen opgeslagen berichten" msgid "No bot banner" msgstr "Geen botbanner" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Geen camera gevonden" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Geen beschrijving." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Geen desktopupdate beschikbaar." @@ -23684,7 +23684,7 @@ msgstr "Geen bijpassende berichten" msgid "No mentions yet" msgstr "Nog geen vermeldingen" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Geen microfoon gevonden" @@ -23731,7 +23731,7 @@ msgstr "Geen openstaande verzoeken komen overeen met de zoekopdracht" msgid "No permissions found" msgstr "Geen machtigingen gevonden" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Nog geen persoonlijke woorden." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Niet toegestaan" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Niet toegewezen" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Bij klikken" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "Meld je op je andere apparaat aan via {signInAddress} en voer deze code in wanneer daarom wordt gevraagd." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Open {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Open {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Open accountwisselaar" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Ga naar de geavanceerde mediainstellingen" @@ -24788,7 +24788,7 @@ msgstr "Banneropties openen" msgid "Open bookmarks" msgstr "Opgeslagen berichten openen" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Browser openen" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Datumkiezer openen" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Downloads voor desktop openen" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Instellingen openen" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Open softwarecentrum" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Open Systeeminstellingen" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Open Systeeminstellingen → Privacy en beveiliging → Schermopname en sta vervolgens {productName} toe." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Sjabloon-JSON openen" @@ -25089,7 +25089,7 @@ msgstr "Sjabloon-JSON openen" msgid "Open the context menu" msgstr "Open het contextmenu" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Open de onderstaande link in je browser, kopieer het volledige JSON-antwoord en plak het in het vak." @@ -25167,11 +25167,11 @@ msgstr "Audio- en video-instellingen openen" msgid "Open with {accountName} on {instanceName}" msgstr "Openen met {accountName} op {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Open je browser, meld je aan en voer de onderstaande code in om je account te koppelen." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Open je oude {PRODUCT_NAME}-app en kies 'Nieuw apparaat koppelen' en voer daarna de onderstaande code in." @@ -25199,7 +25199,7 @@ msgstr "Opent de pagina Leden. Druk op Spatie of Enter om te openen." #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Besturingssysteem" @@ -25629,7 +25629,7 @@ msgstr "Afgelopen 7 dagen" msgid "Paste" msgstr "Plakken" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Plak een {theOtherPlatform}-sjabloon-URL om de structuur ervan te importeren in een nieuwe community." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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." @@ -25933,7 +25933,7 @@ msgstr "Machtigingen voor {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Persoonlijk woordenboek" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Kies minstens één tag voor dit bericht." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Kies een of meer woordenboeken. Woorden uit elk geselecteerd woordenboek worden geaccepteerd, wat handig is voor meertalige chats." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Prijzen worden nog geladen." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Aankopen niet beschikbaar" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Push-to-talk-toets" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Push-to-talk" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Push-to-talk (beperkt)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Push-to-talk heeft nog geen systeembrede toets. Ga naar Instellingen > Apps > {productName} om er een in te stellen." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Push-to-talk heeft nog geen systeembrede toets. Ga naar Systeeminstellingen > Toetsenbord > Sneltoetsen > {productName} om er een in te stellen." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Push-to-talk heeft nog geen systeembrede toets. Open de sneltoetsinstellingen van je desktop om er een in te stellen." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Push-to-talk wordt genegeerd bij directe invoer. Schakel over naar gerichte spraak of aangepast om het te gebruiken." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Push-to-talk is ingeschakeld. Houd je push-to-talk-toets ingedrukt om te praten." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Push-to-talk werkt alleen als {productName} actief is, omdat je desktop geen systeembrede sneltoetsen heeft ingesteld." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Push-to-talk werkt alleen als {productName} actief is totdat {permissionName} is ingeschakeld." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Push-to-talk werkt alleen als {productName} actief is, totdat je systeembrede sneltoetsen instelt." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Push-to-talk werkt alleen als het browsertabblad is geselecteerd." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Push-to-talk gebruikt de toets die je in {productName} hebt ingesteld. Stel er eerst een in, anders gebruikt je microfoon spraakactiviteit." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Push-to-talk heft het dempen van je microfoon niet op wanneer je het geluid hebt uitgeschakeld. Schakel het geluid weer in om te praten." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Push-to-talk werkt buiten {productName} pas nadat je het hebt ingesteld in je Hyprland-configuratie." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Push-to-talk werkt buiten {productName} pas nadat je het hebt ingesteld in je Hyprland-configuratie. Voeg de regel toe voor je Hyprland-versie en vervang KEY door de gewenste toets." @@ -27533,12 +27533,12 @@ msgstr "Ontvangers worden naar {0} <0>{1} geleid" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Aanbevolen" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Aanbevolen. Verbetert je microfoongeluid voor duidelijke spraak." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Opnieuw verbinden gelukt. Kies opnieuw een scherm als je je vorige stream wilt hervatten." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Opnieuw verbinden met je desktop…" @@ -27836,7 +27836,7 @@ msgstr "Herstarten om toe te passen" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Vertraging bij loslaten" @@ -27853,7 +27853,7 @@ msgstr "Relevant" msgid "Reload" msgstr "Opnieuw laden" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Laad {PRODUCT_NAME} opnieuw om de wijziging van de spellingscontrolemethode volledig toe te passen. Wisselen tussen spellingscontrole in de app en die van het systeem vereist dat de renderer opnieuw wordt geladen, omdat Electron tijdens gebruik niet van aanbieder kan wisselen." @@ -27872,7 +27872,7 @@ msgstr "Herlaad {productName} om de webupdate {version} te gebruiken" msgid "Reload app" msgstr "App opnieuw laden" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Nu opnieuw laden" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Verwijderen" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Verwijder \"{word}\" uit woordenboek" @@ -28086,8 +28086,8 @@ msgstr "Verwijderen uit URL-gebaseerde GIF-favorieten" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Pictogram verwijderen" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Rijen per pagina" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM-pakket" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Veiligheid" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Zelfde lokale tijd als jij" @@ -29770,7 +29770,7 @@ msgstr "Schermopname" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Toestemming voor schermopname vereist" @@ -29858,7 +29858,7 @@ msgstr "Privacy scherm delen" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Kwaliteit scherm delen" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Zoek taalcode…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Talen zoeken…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Selecteer GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Selecteer interfacetaal" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Selecteer het account waarmee je wilt inloggen op je nieuwe apparaat." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Selecteer spraakverwerkingsmodus" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Verstuurt onbewerkte microfoonaudio zonder verwerking." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Verstuurt je audio onbewerkt. Het beste als je externe audiosoftware gebruikt." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Een positie in de ledenlijst ingesteld voor de rol" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Instellen door de {preset} preset. Als je hier een waarde kiest, schakelt dit over naar Aangepast." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "De spraakregio ingesteld op automatisch" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Instellen" @@ -31307,7 +31307,7 @@ msgstr "Delen met een vriend" msgid "Share your screen" msgstr "Deel je scherm" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Deel je scherm in hoge definitie (1080p), quad HD (1440p) of de oorspronkelijke bronresolutie, met maximaal 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Korte codes" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Sneltoets" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Sneltoetsbadges" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Favorietknop tonen" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Toon favorieten in de hele app" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Meld je aan met je browser" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Inloggen met je oude {productName}-app" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Uitloggen?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Aanmelden geannuleerd" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Aanmeldingsgegevens" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Aanmeldingsproces" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Inloggen als {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Inloggen op een ander apparaat?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Geluiden" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Snelheid" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Spellingcontrole" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Spellingscontrolemethode" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Steranimatie" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Favoriete kanalen" @@ -33140,7 +33140,7 @@ msgstr "Spraakoproep starten?" msgid "Start call" msgstr "Oproep starten" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Start cameratest en configureer effecten" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Starten geminimaliseerd" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Opstarten" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Statische Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Nog steeds aan het indexeren — probeer het zo opnieuw" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Stilstaande Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Wachten op toegang tot schermopname" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Microfoontest stoppen" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Laat Neko stoppen met het volgen van je cursor, terwijl je hem wel kunt verslepen en ermee kunt spelen." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Abonnement bestaat al" @@ -33957,7 +33957,7 @@ msgstr "Overschakelen naar comfortabele lay-out" msgid "Switch to dense layout" msgstr "Overschakelen naar compacte lay-out" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Overschakelen naar directe invoer" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "Spraakoproepen zijn niet mogelijk in systeem-DM's." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Tijdnotatie van het systeem: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Systeemvak" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Systeembeheerde installatie" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Systeembrede sneltoetsen" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Systeembrede sneltoetsen konden niet worden ingesteld." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Tik om een notitie toe te voegen" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz-archief" @@ -34360,7 +34360,7 @@ msgstr "Taakbalkbadge" msgid "Teleporting you to another voice region..." msgstr "We verplaatsen je naar een andere spraakregio..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Sjabloon" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "De {PRODUCT_NAME}-app op je andere apparaat toont dit onder 'Inloggen op een ander apparaat'. Voer alleen een code in van een apparaat dat je beheert." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "De app {PRODUCT_NAME} was niet aangemeld. Je kunt dit tabblad sluiten." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "De community die je zoekt is mogelijk verwijderd of je hebt er geen toegang toe." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "De desktopupdate kon niet worden gedownload. Probeer het opnieuw via de updateknop wanneer je verbinding stabiel is." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Het gedownloade bestand is opgeslagen op je computer. Installeer het met je normale pakketbeheerder." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Deze categorie bevat al het maximum aantal van {maxChannelsPerCategory} kanalen." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Deze categorie is gemarkeerd voor inhoud voor volwassenen en kan materiaal bevatten dat ongeschikt is voor sommige gebruikers." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Dit kanaal heeft een inhoudswaarschuwing. Updates kunnen alleen naar kanalen met een inhoudswaarschuwing of leeftijdsbeperking gaan." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Dit kanaal is gemarkeerd voor inhoud voor volwassenen en kan materiaal bevatten dat ongeschikt is voor sommige gebruikers." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Deze community is vol" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Deze community is gemarkeerd voor inhoud voor volwassenen en kan materiaal bevatten dat ongeschikt is voor sommige gebruikers." @@ -35324,14 +35324,14 @@ msgstr "Deze community is niet meer beschikbaar" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Deze verbinding is geverifieerd." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Deze verbinding is niet geverifieerd." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Dit gesprek is niet meer beschikbaar." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Deze computerapp kan geen updates binnen {productName} installeren. Download het nieuwste installatieprogramma voor de computer." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Deze desktop biedt geen systeembrede sneltoetsen. Push-to-talk werkt alleen als {productName} actief is." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Deze desktop biedt geen systeembrede sneltoetsen. Sneltoetsen werken nog steeds als {productName} actief is." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Deze ontwikkelversie kan zichzelf niet bijwerken. Download een installatieprogramma voor de computer om het updateproces te controleren." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Deze afbeelding kon niet worden gelezen. Mogelijk is deze beschadigd." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Deze installatie wordt beheerd door je systeem. Werk {productName} bij via je softwarecentrum of pakketbeheerder." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Dit exemplaar gebruikt al gebruikersnamen om in te loggen. Dit kan niet meer worden gewijzigd." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Deze instantie staat momenteel schermdelen tot 720p met 30 FPS toe." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Deze link is niet geldig. Open de link opnieuw vanuit je e-mail." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Deze categorie voor volwassenen is niet beschikbaar voor je account." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Deze categorie voor volwassenen is niet beschikbaar voor je account. <0>Meer informatie" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Dit kanaal voor volwassenen is niet beschikbaar voor je account." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Dit kanaal voor volwassenen is niet beschikbaar voor je account. <0>Meer informatie" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Deze community voor volwassenen is niet beschikbaar voor je account." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Deze community voor volwassenen is niet beschikbaar voor je account. <0>Meer informatie" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Deze media voor volwassenen zijn niet beschikbaar voor je account." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Deze media voor volwassenen zijn niet beschikbaar voor je account. <0>Meer informatie" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Dit abonnement is niet beschikbaar. Neem contact op met de ondersteuning." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Dit abonnement is niet beschikbaar. Neem contact op met de beheerders van deze instantie." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Deze aankoop komt niet in aanmerking voor een terugbetaling." @@ -35837,7 +35853,7 @@ msgstr "Dit topic is vergrendeld. Alleen moderators kunnen berichten sturen." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Deze gebruiker heeft de zichtbaarheid van het profiel beperkt. Sommige gegevens zijn alleen voor vrienden zichtbaar." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Deze gebruiker heeft geen rollen in deze community." @@ -36050,14 +36066,14 @@ msgstr "Tijd" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Tijdnotatie" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Tijdnotatie selecteren" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Titelbalkplatform" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Ga naar Instellingen > Apps > {productName} om de toetsen te wijzigen." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Ga naar Systeeminstellingen > Toetsenbord > Sneltoetsen > {productName} om de toetsen te wijzigen." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Open de sneltoetsinstellingen van je desktop om de toetsen te wijzigen." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Werkbalk" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Sneltoetsen in tooltips" @@ -36864,7 +36880,7 @@ msgstr "24-uursnotatie" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Twee klikken" @@ -37263,7 +37279,7 @@ msgstr "Universeel alternatief. Laagste kwaliteit, maar werkt overal." #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Onbekend" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Ontgrendel aangepaste emoji's in DM's met {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Ontgrendel schermdelen in HD met {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Tot 720p op 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Update {productName} om systeembrede sneltoetsen op Wayland te gebruiken." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Mijn status bijwerken" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Nu updaten" @@ -38008,8 +38024,8 @@ msgstr "Upload bestanden en media in dit kanaal." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Pictogram uploaden" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Gebruik {name} op {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Gebruik {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "{upiPaymentMethod} gebruiken" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Andere methode gebruiken" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Autoscrollen gebruiken" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Kaart gebruiken" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Standaard gebruiken" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Directe toegang tot invoerapparaten gebruiken" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Stickers van andere communities gebruiken." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Systeeminstellingen gebruiken voor tijdnotatie" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Vensteromlijsting van het besturingssysteem gebruiken" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Gebruik de spellingcontrole die in je besturingssysteem is ingebouwd." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Spraakactiviteit gebruiken" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Gebruik de spellingscontrole van je besturingssysteem indien beschikbaar. Anders gebruik je de ingebouwde woordenboeken van {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Verifieer eerst je e-mailadres" @@ -39244,7 +39260,7 @@ msgstr "Details bekijken" msgid "View devices that are signed in to your account" msgstr "Bekijk apparaten die zijn aangemeld bij je account" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Volledig profiel bekijken" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Spraakkanaal" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Bevestiging spraakkanaal" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Spraakkanaal vol" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Gedrag bij deelnemen aan spraakkanaal" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Deelnemers spraakoproep" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Spraakverwerking" @@ -39661,7 +39677,7 @@ msgstr "Geluid inschakelen" msgid "Voice unmute" msgstr "Microfoon inschakelen" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Spraak gebruikt in deze browser het uitvoerapparaat van je systeem. Wijzig dit in je systeeminstellingen." @@ -39675,7 +39691,7 @@ msgstr "Ongeldig" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Wacht tussen berichten. Leden met de machtiging \"{bypassSlowmodePermiss msgid "Waiting for connection..." msgstr "Wachten op verbinding..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Wachten op passkey…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Wachten tot je..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Wachten op je desktop…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "We konden dit thema niet lezen. Het is mogelijk beschadigd of ongeldig." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "We hebben deze sticker verkleind en gecomprimeerd naar 320x320 pixels, m msgid "We sent a code to {email}." msgstr "We hebben een code gestuurd naar {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "We vullen {prefillEmail} alvast in zodra het inlogscherm in je browser opent." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Websitevoorbeelden" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Welkom terug" @@ -40321,7 +40337,7 @@ msgstr "Welke communities" msgid "Which conversations" msgstr "Welke gesprekken" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Zolang push-to-talk is ingeschakeld, bedient je sneltoets je microfoon. Daarom is de knop om te dempen uitgeschakeld." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Je hebt zojuist op Tab gedrukt. De toetsenbordmodus is nu ingeschakeld, zodat je {productName} zonder muis kunt navigeren." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Je behoudt je voordelen tot je volgende verlengingsdatum. Activeer je abonnement vóór die datum opnieuw om je abonnementsgeschiedenis te behouden." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Je verliest onmiddellijk alle {PREMIUM_PRODUCT_NAME}-voordelen en je abonnementsgeschiedenis wordt gereset. Dit kan niet ongedaan worden gemaakt." @@ -41137,8 +41153,8 @@ msgstr "Je hebt de machtiging \"{permissionLabel}\" nodig om hier emoji uit ande msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Je hebt de \"{permissionLabel}\"-machtiging nodig om hier stickers van andere communities te gebruiken." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Je moet de registratie van je account voltooien voordat je een community kunt aanmaken." @@ -41155,8 +41171,8 @@ msgstr "Je moet de registratie van je account voltooien om privéberichten te ku msgid "You need to claim your account to send messages in this community." msgstr "Je moet de registratie van je account voltooien om berichten in deze community te kunnen versturen." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Je moet je e-mailadres verifiëren voordat je een community kunt aanmaken." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 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." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Je verschijnt als offline" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Je wordt nu gefactureerd. Je resterende cadeautijd wordt toegevoegd na je betaalde periode, zodat je niets verliest." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Je bent al Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Je stuurt te snel meldingen. Probeer het later opnieuw." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Je bent aangemeld" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Je account is te nieuw om berichten te versturen in deze community." msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Je accountaanvraag wacht op goedkeuring. Je kunt inloggen nadat een beheerder deze heeft goedgekeurd." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Je account vereist meervoudige authenticatie, maar er zijn geen ondersteunde methoden ingesteld op dit apparaat. Meld je aan op een apparaat met je authenticator-app of beveiligingssleutel, of neem contact op met de ondersteuning." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Je account vereist meervoudige authenticatie, maar er zijn geen ondersteunde methoden ingesteld op dit apparaat. Meld je aan op een apparaat met je authenticator-app of beveiligingssleutel, of neem contact op met de beheerders van deze instantie." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Je accounts en instellingen zijn niet gewijzigd of verwijderd." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Je actie kon niet worden voltooid omdat deze is gemarkeerd door onze veiligheidssystemen. Als je denkt dat dit een fout is, neem dan contact op met de ondersteuning." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Je actie kon niet worden voltooid omdat deze is gemarkeerd door onze veiligheidssystemen. Als je denkt dat dit een fout is, neem dan contact op met de beheerders van deze instantie." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Je huidige kit werkt niet meer zodra de nieuwe is aangemaakt." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Je desktop heeft geen systeembrede sneltoetsen ingesteld." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Je desktop reserveert deze toetsen voor {productName}, zodat andere apps ze niet kunnen gebruiken." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Je desktop reserveert deze toetsen voor {productName}, zodat andere apps ze niet kunnen gebruiken. Schakel hieronder directe toegang tot invoerapparaten in om dezelfde toets in andere apps te gebruiken." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Je desktop voert deze sneltoetsen uit, ook als {productName} niet actief is." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Je cadeautijd is verlopen. Abonneer je om {premiumProductName} te behouden." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Uw cadeautijd blijft behouden" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Je respijtperiode is voorbij." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Je installatie is beschadigd. Installeer de app opnieuw om alle functies te kunnen gebruiken." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "De termijn voor een terugbetaling van je laatste aankoop is verstreken. Neem bij factureringsproblemen contact op met het supportteam." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Je bericht kon niet worden bezorgd omdat het is gemarkeerd door onze veiligheidssystemen. Als je denkt dat dit een fout is, neem dan contact op met de ondersteuning." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Je bericht kon niet worden bezorgd omdat het is gemarkeerd door onze veiligheidssystemen. Als je denkt dat dit een fout is, neem dan contact op met de beheerders van deze instantie." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Je bericht kon niet worden bezorgd. Dit komt meestal doordat je geen community deelt met de ontvanger of doordat de ontvanger alleen directe berichten van vrienden accepteert. Mogelijk moet je ook je eigen privacyinstellingen voor directe berichten aanpassen via {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Je bericht kon niet worden bezorgd. Je moet de registratie van je account voltooien om privéberichten te kunnen versturen." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Je bericht kon niet worden bezorgd. Je moet de registratie van je account voltooien om berichten te kunnen versturen." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Je melding is niet verzonden. Probeer het opnieuw." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Je opgeslagen {savedResolution} met {savedFrameRate} FPS vereist {premiumProductName}, dus delen gebruiken {resolution} met {frameRate} FPS." diff --git a/fluxer_app/src/features/i18n/locales/no/messages.po b/fluxer_app/src/features/i18n/locales/no/messages.po index f356ecd10..2c7741bcb 100644 --- a/fluxer_app/src/features/i18n/locales/no/messages.po +++ b/fluxer_app/src/features/i18n/locales/no/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} kjører en nyere versjon av Fluxer enn denne appen. Oppdater Fluxer, og prøv igjen." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} foran deg" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} bak deg" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} bilder/sek" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {for # time siden} other {for # timer siden}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# time} other {# timer}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# time} other {# timer}} {minutes, plural, one {# minutt} other {# minutter}}" @@ -1602,7 +1602,7 @@ msgstr "Filen for {label} er for stor. Velg en fil som er mindre enn {maxSizeLab msgid "{label} images cannot be animated. Use a static image." msgstr "{label}-bilder kan ikke være animerte. Bruk et statisk bilde." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Flagg: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {for # minutt siden} other {for # minutter siden}} #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minutt} other {# minutter}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} har funnet en ny lydutgangsenhet med navnet <0>{deviceNam msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} må startes på nytt før endringene i Chromiums innebygde rulleinnstillinger trer i kraft." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} må starte på nytt for at maskinvareakselerasjon skal tre i kraft." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} må starte på nytt for at endringen i tittellinjen skal tre i kraft." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} må starte på nytt for å deaktivere Chromiums maskinvareakselerasjon. Bruk dette kun hvis du feilsøker grafikkfeil eller høy GPU-bruk." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "{productName}-feilfinner" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} kan be skrivebordsmiljøet ditt om å kjøre snarveiene når {productName} ikke er i fokus. Skrivebordsmiljøet ber deg bekrefte og lar deg velge tastene." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} kan ikke lenger lese tastaturet ditt, så det lytter etter snarveier via X11 i stedet." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} kan ikke lenger lese tastaturet ditt, så snarveiene i skrivebordsmiljøet brukes i stedet." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} kan ikke lenger lese tastaturet ditt. Snarveier fungerer bare mens {productName} er i fokus." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} kan registrere snarveiene sine hos Hyprland slik at de kjører når {productName} ikke er i fokus. Deretter binder du tastene i Hyprland-konfigurasjonen din." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} kan ikke bruke en maskinvareenkoder til dette og vil derfor bruke prosessoren din." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} lukkes, installerer oppdateringen og åpnes igjen." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} kunne ikke kontakte oppdateringstjenesten. Sjekk tilkoblingen og prøv igjen." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} har flyttet til {host}. Åpne det i nettleseren for å installere den nye appen." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Medlem av {productName} siden" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} trenger tilgang til mikrofonen din. Gi mikrofontilgang i operativsystemets personverninnstillinger, og start appen på nytt." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} trenger tilgang til kameraet for å vise enhetene dine." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} trenger mikrofontilgang for å vise enhetene dine." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "{productName} gjenopprettingssett" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} har registrert snarveiene sine hos Hyprland. Bind dem i Hyprland-konfigurasjonen din for å bruke dem når {productName} ikke er i fokus." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 måneder (1 år)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12-timers" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 timer" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24-timers" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "et vertsnavn, f.eks. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "En oppdatering av skrivebordsappen for Linux er tilgjengelig. Velg pakkeformatet for dette systemet, så lagrer {productName} det lokalt." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "ett minutt" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "En ny versjon av skrivebordsappen er tilgjengelig. Last ned installasjonsprogrammet og kjør det for å oppdatere {productName}." @@ -2817,7 +2817,7 @@ msgstr "Om {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Om meg" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Aktivitetsdeling" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Aktivitetsterskel" @@ -3155,7 +3155,7 @@ msgstr "Faktisk størrelse" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Legg til" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Legg til et brukernavn og passord for kontoen din først." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Legg til et ord …" @@ -3244,7 +3244,7 @@ msgstr "Legg til en API-nøkkel for YouTube Data for å hente mer informasjon om #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Legg til konto" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Adresse" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Juster hver innstilling selv: støydemping, ekkodemping og forsterkning." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Avansert" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Avanserte videoinnstillinger" @@ -3906,22 +3906,22 @@ msgstr "Tillat" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Tillat {everyoneMention} og {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Tillat {PRODUCT_NAME} å få tilgang til kameraet ditt i Systeminnstillinger → Personvern og sikkerhet → Kamera." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Tillat {PRODUCT_NAME} å få tilgang til mikrofonen din i Systeminnstillinger → Personvern og sikkerhet → Mikrofon." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Tillat {PRODUCT_NAME} å få tilgang til mikrofonen din. Sjekk nettleserens adressefelt eller innstillinger." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Tillat {productName} under Skjermopptak i Systeminnstillinger. Hvis det allerede er tillatt, start {productName2} på nytt slik at macOS bruker det." @@ -3961,7 +3961,7 @@ msgstr "Tillat direktemeldinger fra boter" msgid "Allow bots to send you direct messages?" msgstr "Tillat at boter sender deg direktemeldinger?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Tillat kameratilgang" @@ -4029,7 +4029,7 @@ msgstr "Tillat medlemmer uten tillatelsen {readMessageHistoryPermissionLabel} å msgid "Allow mentions for this role" msgstr "Tillat omtaler for denne rollen" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Tillat mikrofontilgang" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Understrek alltid lenker" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Bruk alltid Hunspell-ordbøkene til {productName}, som lastes ned ved behov." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Merke på appikonet" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Tidsformat for appens språk: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Krever godkjenning" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Godkjenn denne appen fra {productName}-appen du allerede bruker. Ingen passord trengs." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Autorisert den {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Automatisk" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Gjenkjenn språk automatisk" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Angi aktivitetsterskel automatisk" @@ -5534,7 +5534,7 @@ msgstr "AV1 (må aktiveres)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Tilgjengelig" @@ -5608,11 +5608,11 @@ msgstr "Borte akkurat nå" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Best komprimering. Bruk dette bare når WebRTC gjør en enkoder tilgjengelig og GPU-rapporten viser at den er maskinvarebasert." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Best med skrivebordsappen" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Nettleser: startside" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Nettleserens tidsformat: {format}" @@ -6545,8 +6545,8 @@ msgstr "Kjøp en {premiumProductName}-gave fra {premiumProductName}-fanen for å msgid "Buy gift" msgstr "Kjøp gave" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Ved å opprette et fellesskap godtar du å følge og overholde <0>retningslinjene for {PRODUCT_NAME}-fellesskapet." @@ -6658,7 +6658,7 @@ msgstr "Anrop" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Forhåndsvisning av kamera" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Kamerakvalitet" @@ -6809,8 +6809,8 @@ msgstr "Kan ikke laste opp filer her" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Avbryt planlagt bytte" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Si opp abonnement" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Si opp abonnementet?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Kategori" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Innholdsvarsel for kategori" @@ -7131,15 +7131,15 @@ msgstr "Endre kallenavn i gruppen" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Endre ikon" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Endre i systeminnstillinger" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Kanalmerker" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Advarsel om kanalinnhold" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Chatsnarveier" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Sjekk igjen" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Sjekker tilgang …" #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Sjekker tillatelse for skjermopptak …" @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Betaling er utilgjengelig" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Velg hvordan du vil betale for dette abonnementet." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Velg betalingsmåte" @@ -8174,7 +8174,7 @@ msgstr "Velg standardinnstillingene dine" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Velg instansen din" @@ -8216,8 +8216,8 @@ msgstr "Hent gave" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Fullfør registreringen av kontoen din" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Fellesskapsmerker" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Advarsel om innhold i fellesskapet" @@ -9089,8 +9089,8 @@ msgstr "Fellesskaps-DM" msgid "Community filter" msgstr "Fellesskapsfilter" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Fellesskapsikon" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Fellesskap oppdatert" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Talechat i fellesskap" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Fullfør betaling" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Fullfør kontrollen for vokseninnhold for å låse opp voksent medieinnhold." @@ -9409,7 +9409,7 @@ msgstr "Bekreft" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Bekreft før du blir med i talekanaler" @@ -9457,7 +9457,7 @@ msgstr "Bekreft erklæringen for å sende rapporten." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Bekreft tilkobling til talekanaler" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Bekreftelse" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Bekreftelse eller dobbeltklikk for å bli med i talekanaler i fellesskap" @@ -9476,7 +9476,7 @@ msgstr "Bekreftelse eller dobbeltklikk for å bli med i talekanaler i fellesskap msgid "Conflicts with {conflictLabel}" msgstr "I konflikt med {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Koble til et kamera og prøv igjen." @@ -9489,7 +9489,7 @@ msgstr "Koble til et kamera eller en virtuell opptaksenhet, og prøv deretter p msgid "Connect a display, then try again." msgstr "Koble til en skjerm, og prøv igjen." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Koble til en mikrofon og prøv igjen." @@ -9633,7 +9633,7 @@ msgstr "Tilkobling: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Kontakt" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Innhold blokkert" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Fortsett i nettleseren din" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Fortsett til kassen" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Fortsett med passnøkkel" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Kopier invitasjonslenke" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Kopier linjer" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Kopier linjer for hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Kopier linjer for hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Kunne ikke endre prisen din" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Kunne ikke se etter oppdateringer" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Kunne ikke slette meldingene dine" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Kunne ikke laste ned oppdateringen til skrivebordsappen" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Kunne ikke starte betaling" @@ -10932,7 +10932,7 @@ msgstr "Opprett og del" msgid "Create a community" msgstr "Opprett et fellesskap" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Opprett et fellesskap der du og vennene dine kan chatte." @@ -11365,7 +11365,7 @@ msgstr "Egendefinert" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Moderatorene har slått av lyden" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB-pakke" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Skrivebordsapp" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Skrivebordsappen er oppdatert" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Oppdatering {version} til skrivebordsappen er tilgjengelig. Velg en Linux-pakke." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Oppdatering til skrivebordsappen er tilgjengelig" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "En oppdatering til skrivebordsappen er tilgjengelig. Velg en Linux-pakke." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Versjon {version} av skrivebordsappen er tilgjengelig. Last ned installasjonsprogrammet og kjør det for å oppdatere {productName}." @@ -12613,7 +12613,7 @@ msgstr "Detaljer: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Oppdag under skriving" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Utviklerverktøy er ikke tilgjengelige" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Utviklingsversjon" @@ -13455,8 +13455,8 @@ msgstr "Last ned" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Last ned {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification og legg den i <1>.well-known-mappen din, slik at vi kan validere domenet." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Last ned app" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Last ned app-knapp i sidepanelet" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Last ned-knapp" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Last ned skrivebordsappen" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Last ned bilde" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Last ned installasjonsprogram" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Last ned medier" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Last ned pakke" @@ -13655,11 +13655,11 @@ msgstr "Slipp element" msgid "Drop to upload background" msgstr "Slipp for å laste opp bakgrunn" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "På grunn av lover om vokseninnhold i {regionName} er voksent innhold blokkert til du har fullført kontrollen for vokseninnhold." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "På grunn av lover om vokseninnhold i {regionName} er voksent innhold ikke tilgjengelig herfra. Kontroller for vokseninnhold er bare tilgjengelige i Storbritannia." @@ -13673,7 +13673,7 @@ msgstr "På grunn av lover om vokseninnhold i {regionName} er dette innholdet bl msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "På grunn av lover om vokseninnhold i {regionName} er dette innholdet ikke tilgjengelig herfra. Kontroller for vokseninnhold er bare tilgjengelige i Storbritannia." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "På grunn av lover om vokseninnhold i {regionName} er dette mediet ikke tilgjengelig fra din nåværende region." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Hver kode fungerer én gang i stedet for autentiseringsappen din." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Hver tast kan bare kjøre én systemomfattende snarvei." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Aktiver" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Aktiver tillatelsen {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Aktiver snarvei" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Aktiver stavekontroll" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Avslutt respittperiode nå" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Avslutt respittperiode" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Avslutte respittperioden nå?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Skriv inn PIN-koden for sikkerhetsnøkkelen din for å fortsette." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Skriv inn denne koden i nettleseren din" @@ -14845,7 +14845,7 @@ msgstr "Skriv inn denne koden i nettleseren din" msgid "Enter this code in your browser to complete sign-in." msgstr "Skriv inn denne koden i nettleseren din for å fullføre påloggingen." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Skriv inn denne koden i din gamle {PRODUCT_NAME}-app for å fullføre påloggingen." @@ -14916,7 +14916,7 @@ msgstr "All systemlyd" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Ankomstlyd" @@ -15026,7 +15026,7 @@ msgstr "Kveldstid" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Jevner ut mikrofonvolumet ditt slik at du ikke er for stille." @@ -15249,7 +15249,7 @@ msgstr "Utløper mellom {earliest} og {latest}" msgid "Expires in {remaining}s" msgstr "Utløper om {remaining} s" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Utløper om {remainingSeconds}s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Legg til kanal i favoritter" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Favorittkanaler" @@ -16243,7 +16243,7 @@ msgstr "I {threeHours} timer" msgid "For {twentyFourHours} hours" msgstr "I {twentyFourHours} timer" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Kun for britiske øyne ..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "For meg" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Bruk én enkelt tast uten Ctrl, Alt eller Shift for «Trykk for å dempe». Med en kombinasjon må du slippe hovedtasten først, ellers kan mikrofonen forbli dempet." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Bruk én enkelt tast uten Ctrl, Alt eller Shift for «Trykk for å snakke». Med en kombinasjon må du slippe hovedtasten først, ellers kan mikrofonen forbli på." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Bruk én enkelt tast uten Ctrl, Alt eller Shift for denne snarveien. Med en kombinasjon må du slippe hovedtasten først, ellers kan snarveien forbli aktiv." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Bruk én enkelt tast uten Ctrl, Alt eller Shift for «Taleaktivitet (prioritet)». Med en kombinasjon må du slippe hovedtasten først, ellers kan prioriteten forbli på." @@ -16460,14 +16460,14 @@ msgstr "Ramme" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Bildefrekvens" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Bildefrekvenser over 30 FPS krever {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Få varsler når du mottar meldinger. Du må kanskje tillate varsler i nettleserinnstillingene dine. Høyreklikk på et fellesskapsikon og åpne varslingsinnstillingene for å justere varsler for hver kanal og hvert fellesskap." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Skaff deg skrivebordsappen til {productName} for å bruke «Trykk for å snakke» i hele systemet og få noen andre kjekke funksjoner." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Skaff deg skrivebordsappen" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Gå tilbake til {productName} for å fortsette." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Gå tilbake til {PRODUCT_NAME}-appen. Den fullfører innloggingen av seg selv." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Gå tilbake til {PRODUCT_NAME}-appen. Du kan lukke denne fanen." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Hjelp" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Hjelpeknapp" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Hjelpesenter" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Hjelpesenterknapp i sidepanelet" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Hjelp til med å oversette {PRODUCT_NAME} til ditt språk på <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Skjul chat" msgid "Hide community owner crown" msgstr "Skjul fellesskapets eierkrone" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Skjul nedlastingsknapp" @@ -17860,7 +17860,7 @@ msgstr "Skjul favoritter" msgid "Hide guidelines" msgstr "Skjul retningslinjer" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Skjul hjelpesenterknappen" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Skjul meldinger om nye medlemmer" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Skjul tastaturhint" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Hyperkobling" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland har ingen snarveidialog. Legg til linjene for din Hyprland-versjon i din Hyprland-konfigurasjon og erstatt KEY med tasten du ønsker." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland har ingen snarveidialog. Bind tastene i Hyprland-konfigurasjonen din." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (før Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 og senere)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Jeg bekrefter i god tro at opplysningene og påstandene i denne rapporten er nøyaktige og fullstendige." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Jeg forstår" @@ -18598,11 +18598,11 @@ msgstr "Importerer … {processedCount, number} av {totalCount, number} behandle msgid "In" msgstr "I" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "I modusen «Operativsystem» er ordbøkene ovenfor veiledende. {PRODUCT_NAME} sender disse språkkodene til operativsystemets stavekontroll når det støttes. Koder som ikke gjenkjennes, blir ignorert." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "I en nettleser fungerer «Trykk for å snakke» bare når {PRODUCT_NAME}-fanen er i fokus. Installer skrivebordsappen for å bruke «Trykk for å snakke» i hele systemet." @@ -18650,7 +18650,7 @@ msgstr "I talechat" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Ordbøker i appen" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Skrivefelt" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Lyd inn og ut" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Sett inn emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Installer {productName} for å få en fullverdig kildevelger og mer smidige kontroller for skjermdeling." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Installer den nye appen" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Installert" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Installert versjon: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Grensesnitt" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Grensesnittspråk" @@ -19467,13 +19467,13 @@ msgstr "Bli med" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Bli med i {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Bli med i {communityName} for å chatte med teamet og holde deg oppdatert." @@ -19561,7 +19561,7 @@ msgstr "Bli med i videosamtale" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Bli med i talechat" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Behold gratis- og premiumnivåer. Du kan tilpasse nivåene, selge premium via Stripe, eller dele ut gavekoder senere fra administrasjonspanelet." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Behold respittperioden" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Fortsett å kjøre" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Behold abonnementet" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Ta vare på denne siden. Hvis du glemmer passordet ditt, kan du bruke den til å logge inn på kontoen din igjen. Alle som har denne gjenopprettingsnøkkelen, kan tilbakestille passordet ditt, så aldri del den." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Fortsett å sende lyd en kort stund etter at du slipper knappen." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Tastatur" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Tastaturtilgang kunne ikke startes. Snarveier fungerer bare mens {productName} er i fokus." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Tastaturmodus" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Tastatursnarveier i verktøytips" @@ -19923,7 +19923,7 @@ msgstr "Språkinnstillinger" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Språk" @@ -19971,7 +19971,7 @@ msgstr "Forsinkelsesgraf" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Lot medlemmet høre andre i dette fellesskapet igjen" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Lar {productName} lese tastaturet ditt direkte. Slå av dette for å sette opp snarveier via skrivebordsmiljøet ditt i stedet." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Lar {productName} lese tastaturet ditt direkte. Systemet ditt tillater dette allerede." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Linux – standard" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Linux-pakke" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Lokale filer" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Lokal tid" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Utseende og følelse" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Det ser ut som du bruker {0}. Hvis du legger til lydbehandlingen fra {PRODUCT_NAME} i tillegg, kan det føre til pumping eller forvrengning. Direkte inndata sender lyden din uendret gjennom." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Gjør til gruppeeier" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Sørg for at denne koden samsvarer med den i {PRODUCT_NAME}-appen." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Administrer abonnementet ditt" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Manuell oppdatering av skrivebordsappen" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Hovedvolum" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Kategori med voksent innhold" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Kanal med voksent innhold" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Fellesskap med voksent innhold" @@ -21194,7 +21194,7 @@ msgstr "Kontroll for vokseninnhold sendt inn" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Kontroller for vokseninnhold er foreløpig bare tilgjengelige i Storbritannia." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Medlemsroller oppdatert" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Medlem siden" @@ -22013,7 +22013,7 @@ msgstr "Mikrofon" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Mikrofontest" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Neko-katt som jager musepekeren din" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Nye brukere kan ikke bli med akkurat nå. Du kan fortsatt opprette en konto eller logge på, og deretter prøve denne lenken igjen senere." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Ny versjon" @@ -23465,7 +23465,7 @@ msgstr "Ingen lagrede meldinger" msgid "No bot banner" msgstr "Ingen botbanner" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Finner ikke kamera" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Ingen beskrivelse." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Ingen oppdatering av skrivebordsappen er tilgjengelig." @@ -23684,7 +23684,7 @@ msgstr "Ingen treff på innlegg" msgid "No mentions yet" msgstr "Ingen omtaler ennå" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Ingen mikrofon funnet" @@ -23731,7 +23731,7 @@ msgstr "Ingen ventende forespørsler samsvarer med søket" msgid "No permissions found" msgstr "Ingen tillatelser funnet" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Ingen personlige ord ennå." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Ikke tillatt" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Ikke tilordnet" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Ved klikk" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "På den andre enheten, logg inn på {signInAddress} og oppgi denne koden når du blir bedt om det." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Åpne {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Åpne {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Åpne kontobytter" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Åpne avanserte medieinnstillinger" @@ -24788,7 +24788,7 @@ msgstr "Åpne bannermenyen" msgid "Open bookmarks" msgstr "Åpne lagrede meldinger" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Åpne nettleser" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Åpne datovelger" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Åpne nedlastinger for datamaskin" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Åpne innstillinger" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Åpne programvaresenteret" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Åpne Systeminnstillinger" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Åpne Systeminnstillinger → Personvern og sikkerhet → Skjermopptak, og gi deretter {productName} tilgang." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Åpne mal-JSON" @@ -25089,7 +25089,7 @@ msgstr "Åpne mal-JSON" msgid "Open the context menu" msgstr "Åpne hurtigmenyen" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Åpne lenken nedenfor i nettleseren din, kopier hele JSON-svaret og lim det inn i boksen." @@ -25167,11 +25167,11 @@ msgstr "Åpne innstillinger for tale og video" msgid "Open with {accountName} on {instanceName}" msgstr "Åpne med {accountName} på {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Åpne nettleseren din, logg på, og skriv inn koden nedenfor for å koble til kontoen din." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Åpne din gamle {PRODUCT_NAME}-app og velg «Koble til en ny enhet», og skriv deretter inn koden nedenfor." @@ -25199,7 +25199,7 @@ msgstr "Åpner siden Medlemmer. Trykk mellomrom eller Enter for å åpne." #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Operativsystem" @@ -25629,7 +25629,7 @@ msgstr "Siste 7 dager" msgid "Paste" msgstr "Lim inn" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Lim inn en {theOtherPlatform}-mal-URL for å importere strukturen til et nytt fellesskap." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Tillatelser for {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Personlig ordbok" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Velg minst én tagg for dette innlegget." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Velg én eller flere ordbøker. Ord fra alle valgte ordbøker godtas, noe som er nyttig for flerspråklige chatter." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Priser lastes fortsatt inn." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Kjøp er ikke tilgjengelig" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Tast for trykk for å snakke" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Trykk for å snakke" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Trykk for å snakke (begrenset)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "«Trykk for å snakke» har ingen systemomfattende tast ennå. Gå til Innstillinger > Apper > {productName} for å angi en." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "«Trykk for å snakke» har ingen systemomfattende tast ennå. Gå til Systeminnstillinger > Tastatur > Snarveier > {productName} for å angi en." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "«Trykk for å snakke» har ingen systemomfattende tast ennå. Åpne innstillingene for tastatursnarveier i skrivebordsmiljøet ditt for å angi en." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Trykk for å snakke ignoreres med «Direkte inndata». Bytt til «Tale i fokus» eller «Egendefinert» for å bruke det." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "«Trykk for å snakke» er på. Hold inne tasten din for å snakke." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "«Trykk for å snakke» fungerer bare når {productName} er i fokus fordi skrivebordsmiljøet ditt ikke satte opp systemomfattende snarveier." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Snartale fungerer bare mens {productName} er i fokus til {permissionName} er aktivert." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "«Trykk for å snakke» fungerer bare når {productName} er i fokus, til du setter opp systemomfattende snarveier." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Trykk for å snakke fungerer bare når nettleserfanen er aktiv." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "«Trykk for å snakke» bruker tasten du angir i {productName}. Angi en først, ellers bruker mikrofonen taleaktivitet." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Trykk for å snakke slår ikke på mikrofonen mens du har slått av lyden. Slå på lyden igjen for å snakke." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "«Trykk for å snakke» fungerer utenfor {productName} først når du har bundet det i Hyprland-konfigurasjonen din." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "«Trykk for å snakke» fungerer utenfor {productName} først når du har bundet det i Hyprland-konfigurasjonen din. Legg til linjen for Hyprland-versjonen din og erstatt KEY med tasten du ønsker." @@ -27533,12 +27533,12 @@ msgstr "Mottakere blir sendt til {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Anbefalt" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Anbefalt. Renser mikrofonlyden for tydelig tale." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Tilkoblingen er gjenopprettet. Velg en skjerm på nytt hvis du vil fortsette den forrige strømmen din." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Kobler til skrivebordsmiljøet på nytt…" @@ -27836,7 +27836,7 @@ msgstr "Start på nytt for å bruke" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Forsinkelse ved tastslipp" @@ -27853,7 +27853,7 @@ msgstr "Relevante" msgid "Reload" msgstr "Last inn på nytt" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Last inn {PRODUCT_NAME} på nytt for å ta den nye stavekontrollmotoren i bruk. Bytte mellom stavekontroll i appen og systemets stavekontroll krever at visningsprosessen lastes inn på nytt, fordi Electron ikke kan bytte leverandør mens den kjører." @@ -27872,7 +27872,7 @@ msgstr "Last inn {productName} på nytt for å bruke nettoppdateringen {version} msgid "Reload app" msgstr "Last inn appen på nytt" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Last inn på nytt nå" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Fjern" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Fjern «{word}» fra ordboken" @@ -28086,8 +28086,8 @@ msgstr "Fjern fra URL-baserte GIF-favoritter" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Fjern ikon" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Rader per side" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM-pakke" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Sikkerhet" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Samme klokkeslett som deg" @@ -29770,7 +29770,7 @@ msgstr "Skjermopptak" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Tilgang til skjermopptak kreves" @@ -29858,7 +29858,7 @@ msgstr "Personvern for skjermdeling" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Skjermdelingskvalitet" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Søk etter språkkode …" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Søk etter språk …" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Velg GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Velg språk for appen" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Velg kontoen du vil logge på med på den nye enheten din." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Velg modus for talebehandling" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Sender rå mikrofonlyd uten behandling." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Sender lyden din uendret. Best hvis du bruker ekstern lydprogramvare." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Satte en medlemslisteposisjon for rollen" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Angitt av {preset}-forhåndsinnstillingen. Å velge en verdi her bytter til Egendefinert." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Satte taleregionen til automatisk" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Sett opp" @@ -31307,7 +31307,7 @@ msgstr "Del med en venn" msgid "Share your screen" msgstr "Del skjermen din" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Del skjermen din i HD (1080p), Quad HD (1440p) eller original oppløsning, med opptil 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Emojikoder" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Snarvei" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Snarveimerker" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Vis favorittknapp" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Vis favoritter i hele appen" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Logg inn med nettleseren din" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Logg på med den gamle {productName}-appen din" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Logge ut?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Innlogging avbrutt" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Påloggingsopplysninger" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Påloggingsflyt" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Logger inn som {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Logger du inn på en annen enhet?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Lyder" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Hastighet" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Stavekontroll" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Stavekontrollmotor" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Stjernemerk animasjon" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Stjernemerkede kanaler" @@ -33140,7 +33140,7 @@ msgstr "Starte et taleanrop?" msgid "Start call" msgstr "Start samtale" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Start kameratest og konfigurer effekter" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Start minimert" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Oppstart" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Statisk Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Indekserer fortsatt – prøv igjen om et øyeblikk" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Stillestående Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Venter fortsatt på tilgang til skjermopptak" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Stopp mikrofontest" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Stopp Neko fra å jage musepekeren din. Du kan fortsatt dra i den og samhandle med den." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Abonnementet finnes allerede" @@ -33957,7 +33957,7 @@ msgstr "Bytt til romslig oppsett" msgid "Switch to dense layout" msgstr "Bytt til kompakt oppsett" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Bytt til direkte inndata" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "Systemsamtaler støtter ikke taleanrop." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Systemets tidsformat: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Systemstatusfelt" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Systemadministrert installasjon" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Systemomfattende snarveier" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Systemomfattende snarveier kunne ikke settes opp." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Trykk for å legge til et notat" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz-arkiv" @@ -34360,7 +34360,7 @@ msgstr "Merke på oppgavelinjen" msgid "Teleporting you to another voice region..." msgstr "Teleporterer deg til en annen taleregion …" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Mal" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "Appen {PRODUCT_NAME} på den andre enheten din viser det under «Logger inn på en annen enhet». Skriv kun inn en kode fra en enhet du kontrollerer." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "Appen {PRODUCT_NAME} ble ikke logget inn. Du kan lukke denne fanen." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Fellesskapet du leter etter kan ha blitt slettet, eller du har kanskje ikke tilgang til det." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Skrivebordsoppdateringen kunne ikke lastes ned. Prøv igjen fra oppdateringsknappen når tilkoblingen din er stabil." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Den nedlastede filen er lagret på datamaskinen din. Installer den med din vanlige pakkebehandler." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Denne kategorien inneholder allerede maksimalt {maxChannelsPerCategory} kanaler." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Denne kategorien er merket for voksent innhold og kan inneholde materiale som kan være upassende for enkelte brukere." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Denne kanalen har en innholdsadvarsel. Oppdateringer kan bare sendes til kanaler med en innholdsadvarsel eller aldersbegrensning." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Denne kanalen er merket for voksent innhold og kan inneholde materiale som kan være upassende for enkelte brukere." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Dette fellesskapet er fullt" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Dette fellesskapet er merket for voksent innhold og kan inneholde materiale som kan være upassende for enkelte brukere." @@ -35324,14 +35324,14 @@ msgstr "Dette fellesskapet er ikke lenger tilgjengelig" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Denne tilkoblingen er bekreftet." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Denne tilkoblingen er ikke bekreftet." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Denne samtalen er ikke lenger tilgjengelig." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Denne skrivebordsversjonen kan ikke installere oppdateringer i {productName}. Last ned den nyeste installasjonspakken for skrivebordsappen i stedet." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Dette skrivebordsmiljøet tilbyr ikke systemomfattende snarveier. «Trykk for å snakke» fungerer bare når {productName} er i fokus." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Dette skrivebordsmiljøet tilbyr ikke systemomfattende snarveier. Snarveier fungerer fortsatt når {productName} er i fokus." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Denne utviklingsversjonen kan ikke oppdatere seg selv. Last ned en installasjonspakke for skrivebordsappen for å prøve oppdateringsflyten." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Dette bildet kunne ikke leses. Det kan være skadet." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Denne installasjonen administreres av systemet ditt. Oppdater {productName} via programvaresenteret eller pakkebehandleren." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Denne instansen bruker allerede brukernavn for innlogging. Dette kan ikke lenger endres." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Denne instansen tillater for øyeblikket skjermdeling opptil 720p ved 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Denne lenken er ikke gyldig. Prøv å åpne lenken fra e-posten din på nytt." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Denne kategorien med voksent innhold er ikke tilgjengelig for kontoen din." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Denne kategorien med voksent innhold er ikke tilgjengelig for kontoen din. <0>Finn ut mer" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Denne kanalen med voksent innhold er ikke tilgjengelig for kontoen din." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Denne kanalen med voksent innhold er ikke tilgjengelig for kontoen din. <0>Finn ut mer" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Dette fellesskapet med voksent innhold er ikke tilgjengelig for kontoen din." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Dette fellesskapet med voksent innhold er ikke tilgjengelig for kontoen din. <0>Finn ut mer" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Disse mediene med voksent innhold er ikke tilgjengelige for kontoen din." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Disse mediene med voksent innhold er ikke tilgjengelige for kontoen din. <0>Finn ut mer" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Dette abonnementet er ikke tilgjengelig. Kontakt kundestøtte." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Dette abonnementet er ikke tilgjengelig. Kontakt administratorene av denne instansen." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Dette kjøpet er ikke kvalifisert for refusjon." @@ -35837,7 +35853,7 @@ msgstr "Denne tråden er låst. Kun moderatorer kan sende meldinger." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Denne brukeren har begrenset profilen sin. Enkelte detaljer er skjult for personer som ikke er venner med dem." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Denne brukeren har ingen roller i dette fellesskapet." @@ -36050,14 +36066,14 @@ msgstr "Tid" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Tidsformat" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Valg av tidsformat" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Plattform for tittellinje" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Gå til Innstillinger > Apper > {productName} for å endre tastene." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Gå til Systeminnstillinger > Tastatur > Snarveier > {productName} for å endre tastene." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Åpne innstillingene for tastatursnarveier i skrivebordsmiljøet ditt for å endre tastene." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Verktøylinje" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Snarveier i verktøytips" @@ -36864,7 +36880,7 @@ msgstr "Tjuefiretimers" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "To klikk" @@ -37263,7 +37279,7 @@ msgstr "Universelt reservealternativ. Lavest kvalitet, men fungerer overalt." #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Ukjent" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Lås opp egendefinerte emojier i direktemeldinger med {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Lås opp HD-skjermdeling med {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Opptil 720p med 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Oppdater {productName} for å bruke systemomfattende snarveier på Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Oppdater statusen min" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Oppdater nå" @@ -38008,8 +38024,8 @@ msgstr "Last opp filer og medier i denne kanalen." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Last opp ikon" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Bruk {name} på {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Bruk {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Bruk {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Bruk alternativ metode" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Bruk automatisk rulling" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Bruk kort" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Bruk standard" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Bruk direkte tilgang til inndataenheter" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Bruk klistremerker fra andre fellesskap." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Bruk systemets regionale innstillinger for tidsformat" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Bruk operativsystemets vindusramme" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Bruk stavekontrollen som er innebygd i operativsystemet ditt." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Bruk stemmeaktivering" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Bruk stavekontrollen i operativsystemet når den er tilgjengelig. Ellers brukes de innebygde ordbøkene i {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Bekreft e-postadressen din først" @@ -39244,7 +39260,7 @@ msgstr "Vis detaljer" msgid "View devices that are signed in to your account" msgstr "Se enheter som er logget på kontoen din" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Vis full profil" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Talekanal" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Bekreftelse av talekanal" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Talekanalen er full" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Atferd ved deltakelse i talekanal" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Taledeltakere" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Talebehandling" @@ -39661,7 +39677,7 @@ msgstr "Lyden slått på" msgid "Voice unmute" msgstr "Mikrofonen slått på" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Tale bruker systemets utdataenhet i denne nettleseren. Endre den i systeminnstillingene." @@ -39675,7 +39691,7 @@ msgstr "Annullert" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Ventetid mellom meldinger. Medlemmer med «{bypassSlowmodePermissionLabe msgid "Waiting for connection..." msgstr "Venter på tilkobling …" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Venter på passnøkkel …" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Venter på at du skal ..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Venter på skrivebordsmiljøet…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Vi kunne ikke lese dette temaet. Det kan være skadet eller ugyldig." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Vi endret størrelsen og komprimerte dette klistremerket til 320x320 pik msgid "We sent a code to {email}." msgstr "Vi sendte en kode til {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Vi fyller ut {prefillEmail} automatisk når nettleserpåloggingen åpnes." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Forhåndsvisning av nettsteder" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Velkommen tilbake" @@ -40321,7 +40337,7 @@ msgstr "Hvilke fellesskap" msgid "Which conversations" msgstr "Hvilke samtaler" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Når «Trykk for å snakke» er på, styrer snarveien mikrofonen din, så dempeknappen er deaktivert." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Du trykket nettopp på Tab. Tastaturmodus er nå på, slik at du kan navigere i {productName} uten mus." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Du beholder fordelene dine frem til neste fornyelsesdato. Reaktiver før den tid for å beholde abonnementshistorikken din." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Du mister alle {PREMIUM_PRODUCT_NAME}-fordeler umiddelbart, og abonnementshistorikken din nullstilles. Dette kan ikke angres." @@ -41137,8 +41153,8 @@ msgstr "Du trenger tillatelsen «{permissionLabel}» for å bruke emojier fra an msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Du trenger tillatelsen «{permissionLabel}» for å bruke klistremerker fra andre fellesskap her." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Du må fullføre registreringen av kontoen din før du kan opprette et fellesskap." @@ -41155,8 +41171,8 @@ msgstr "Du må fullføre registreringen av kontoen din for å sende direktemeldi msgid "You need to claim your account to send messages in this community." msgstr "Du må fullføre registreringen av kontoen din for å sende meldinger i dette fellesskapet." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Du må bekrefte e-postadressen din før du kan opprette et fellesskap." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 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}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Du vises som frakoblet" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Du blir belastet nå. Din gjenværende gaveperiode legges til etter betalingsperioden din, slik at ingenting går tapt." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Du er allerede Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Du sender rapporter for fort. Prøv igjen senere." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Du er logget inn" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Kontoen din er for ny til å sende meldinger i dette fellesskapet." msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Kontoforespørselen din venter på godkjenning. Du kan logge på når en administrator har godkjent den." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Kontoen din krever multifaktorautentisering, men ingen støttede metoder er konfigurert på denne enheten. Logg på fra en enhet med autentiseringsappen eller sikkerhetsnøkkelen din, eller kontakt kundestøtte." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Kontoen din krever multifaktorautentisering, men ingen støttede metoder er konfigurert på denne enheten. Logg på fra en enhet med autentiseringsappen eller sikkerhetsnøkkelen din, eller kontakt administratorene av denne instansen." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Kontoene og innstillingene dine er ikke endret eller slettet." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Handlingen din kunne ikke fullføres fordi den ble flagget av sikkerhetssystemene våre. Hvis du mener dette er en feil, kan du kontakte kundestøtte." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Handlingen din kunne ikke fullføres fordi den ble flagget av sikkerhetssystemene våre. Hvis du mener dette er en feil, kan du kontakte administratorene av denne instansen." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Ditt nåværende sett slutter å fungere så snart det nye er opprettet." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Skrivebordsmiljøet ditt satte ikke opp systemomfattende snarveier." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Skrivebordsmiljøet ditt reserverer disse tastene for {productName}, slik at andre apper ikke kan bruke dem." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Skrivebordsmiljøet ditt reserverer disse tastene for {productName}, slik at andre apper ikke kan bruke dem. Slå på direkte tilgang til inndataenheter nedenfor for å bruke samme tast i andre apper." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Skrivebordsmiljøet ditt kjører disse snarveiene også når {productName} ikke er i fokus." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Gaven din er utløpt. Abonner for å beholde {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Gaven din beholdes" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Respittperioden din er over." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Installasjonen din er skadet, og du må installere appen på nytt for at alt skal fungere." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Det siste kjøpet ditt er utenfor refusjonsperioden. Kontakt kundestøtte ved faktureringsproblemer." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Meldingen din kunne ikke leveres fordi den ble flagget av sikkerhetssystemene våre. Hvis du mener dette er en feil, kan du kontakte kundestøtte." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Meldingen din kunne ikke leveres fordi den ble flagget av sikkerhetssystemene våre. Hvis du mener dette er en feil, kan du kontakte administratorene av denne instansen." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Meldingen din kunne ikke leveres. Dette skyldes vanligvis at du ikke deler et fellesskap med mottakeren, eller at mottakeren kun godtar direktemeldinger fra venner. Du må kanskje også justere dine egne personverninnstillinger for direktemeldinger i {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Meldingen din kunne ikke leveres. Du må fullføre registreringen av kontoen din for å sende direktemeldinger." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Meldingen din kunne ikke leveres. Du må fullføre registreringen av kontoen din for å sende meldinger." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Rapporten din ble ikke sendt. Prøv igjen." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Ditt lagrede {savedResolution} med {savedFrameRate} FPS krever {premiumProductName}, så delinger bruker {resolution} med {frameRate} FPS." diff --git a/fluxer_app/src/features/i18n/locales/pl/messages.po b/fluxer_app/src/features/i18n/locales/pl/messages.po index 1f96d15d5..06796d47a 100644 --- a/fluxer_app/src/features/i18n/locales/pl/messages.po +++ b/fluxer_app/src/features/i18n/locales/pl/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} używa nowszej wersji Fluxera niż ta aplikacja. Zaktualizuj Fluxera i spróbuj ponownie." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} później niż u Ciebie" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} wcześniej niż u Ciebie" @@ -1528,7 +1528,7 @@ msgstr "{fps} kl./s" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} kl./s" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# godzinę temu} few {# godziny temu} many {# godzi #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# godzina} few {# godziny} many {# godzin} other {# godziny}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# godzina} few {# godziny} many {# godzin} other {# godzin}} {minutes, plural, one {# minuta} few {# minuty} many {# minut} other {# minut}}" @@ -1602,7 +1602,7 @@ msgstr "Plik {label} jest za duży. Wybierz plik mniejszy niż {maxSizeLabel}." msgid "{label} images cannot be animated. Use a static image." msgstr "Obrazy {label} nie mogą być animowane. Użyj statycznego obrazu." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Flaga: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# minutę temu} few {# minuty temu} many {# minut #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minuta} few {# minuty} many {# minut} other {# minuty}}" @@ -1803,15 +1803,15 @@ msgstr "Aplikacja {PRODUCT_NAME} wykryła nowe wyjściowe urządzenie audio o na msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "Uruchom ponownie aplikację {PRODUCT_NAME}, aby zastosować natywne ustawienia przewijania Chromium." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "Aby przyspieszenie sprzętowe zaczęło działać, trzeba ponownie uruchomić aplikację {PRODUCT_NAME}." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "Uruchom ponownie aplikację {PRODUCT_NAME}, aby zastosować zmianę paska tytułu." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "Uruchom ponownie aplikację {PRODUCT_NAME}, aby wyłączyć przyspieszenie sprzętowe Chromium. Używaj tej opcji tylko przy rozwiązywaniu problemów z grafiką lub wysokim obciążeniem GPU." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Łowca błędów {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} może poprosić środowisko graficzne o uruchamianie swoich skrótów, gdy okno {productName} nie jest aktywne. Środowisko poprosi o potwierdzenie i pozwoli wybrać klawisze." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} nie może już odczytywać klawiatury, więc nasłuchuje skrótów przez X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} nie może już odczytywać klawiatury, więc zamiast tego używane są skróty środowiska graficznego." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} nie może już odczytywać klawiatury. Skróty działają tylko wtedy, gdy okno {productName} jest aktywne." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} może zarejestrować swoje skróty w Hyprlandzie, aby działały, gdy okno {productName} nie jest aktywne. Klawisze przypisujesz potem w konfiguracji Hyprlanda." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} nie może użyć sprzętowego kodera, więc wykorzysta procesor." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} zamknie się, zainstaluje aktualizację i otworzy ponownie." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} nie mógł nawiązać połączenia z serwerem aktualizacji. Sprawdź połączenie i spróbuj ponownie." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "Aplikacja {productName} została przeniesiona do {host}. Otwórz ją w przeglądarce, aby zainstalować nową aplikację." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Członek {productName} od" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} potrzebuje dostępu do mikrofonu. Zezwól na dostęp do mikrofonu w ustawieniach prywatności systemu operacyjnego i uruchom ponownie aplikację." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} potrzebuje dostępu do kamery, aby wyświetlić Twoje urządzenia." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} potrzebuje dostępu do mikrofonu, aby wyświetlić Twoje urządzenia." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "Zestaw odzyskiwania {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "Aplikacja {productName} zarejestrowała swoje skróty w Hyprlandzie. Przypisz je w konfiguracji Hyprlanda, aby używać ich, gdy okno {productName} nie jest aktywne." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 miesięcy (1 rok)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12-godzinny" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 godziny" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24-godzinny" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "nazwa hosta, np. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Dostępna jest aktualizacja aplikacji komputerowej dla systemu Linux. Wybierz format pakietu dla tego systemu, a {productName} zapisze go lokalnie." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "minutę" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Dostępna jest nowa wersja aplikacji komputerowej. Pobierz instalator i uruchom go, aby zaktualizować {productName}." @@ -2817,7 +2817,7 @@ msgstr "Informacje o aplikacji {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "O mnie" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Udostępnianie aktywności" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Próg aktywności" @@ -3155,7 +3155,7 @@ msgstr "Rozmiar rzeczywisty" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Dodaj" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Najpierw dodaj nazwę użytkownika i hasło do swojego konta." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Dodaj słowo…" @@ -3244,7 +3244,7 @@ msgstr "Dodaj klucz YouTube Data API, aby wzbogacić linki do YouTube." #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Dodaj konto" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Adres" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Dostosuj samodzielnie każde ustawienie: redukcję szumów, tłumienie echa i wzmocnienie." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Zaawansowane" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Zaawansowane ustawienia wideo" @@ -3906,22 +3906,22 @@ msgstr "Zezwól" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Zezwól na {everyoneMention} i {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Zezwól {PRODUCT_NAME} na dostęp do Twojej kamery w Ustawieniach systemowych → Prywatność i ochrona → Kamera." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Zezwól {PRODUCT_NAME} na dostęp do mikrofonu w Ustawieniach systemowych → Prywatność i bezpieczeństwo → Mikrofon." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Zezwól aplikacji {PRODUCT_NAME} na dostęp do mikrofonu. Sprawdź pasek adresu lub ustawienia przeglądarki." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Zezwól {productName} w sekcji Nagrywanie ekranu w Ustawieniach systemowych. Jeśli jest już dozwolone, uruchom ponownie {productName2}, aby system macOS zastosował zmiany." @@ -3961,7 +3961,7 @@ msgstr "Zezwól na wiadomości prywatne od botów" msgid "Allow bots to send you direct messages?" msgstr "Zezwolić botom na wysyłanie Ci wiadomości prywatnych?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Zezwól na dostęp do kamery" @@ -4029,7 +4029,7 @@ msgstr "Zezwól członkom bez uprawnienia „{readMessageHistoryPermissionLabel} msgid "Allow mentions for this role" msgstr "Zezwól na wzmianki dla tej roli" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Zezwól na dostęp do mikrofonu" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Zawsze podkreślaj linki" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Zawsze używaj słowników Hunspell aplikacji {productName}, pobieranych na żądanie." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Znacznik na ikonie aplikacji" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Czas według języka aplikacji: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Wymagana akceptacja" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Zatwierdź tę aplikację w aplikacji {productName}, której już używasz. Hasło nie jest potrzebne." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Autoryzowano: {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Automatycznie" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Automatyczne wykrywanie języka" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Automatyczne ustawianie progu aktywności" @@ -5534,7 +5534,7 @@ msgstr "AV1 (wymaga włączenia)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Dostępne" @@ -5608,11 +5608,11 @@ msgstr "Chwilowo mnie nie ma" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Najlepsza kompresja. Używaj tylko, gdy WebRTC udostępnia koder, a raport GPU wskazuje, że jest on wspierany sprzętowo." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Najlepiej działa z aplikacją komputerową" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Przeglądarka: strona główna" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Czas według ustawień przeglądarki: {format}" @@ -6545,8 +6545,8 @@ msgstr "Kup prezent {premiumProductName} w zakładce {premiumProductName}, aby p msgid "Buy gift" msgstr "Kup prezent" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Tworząc społeczność, zobowiązujesz się do przestrzegania i egzekwowania <0>zasad społeczności {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Połączenia" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Podgląd kamery" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Jakość obrazu z kamery" @@ -6809,8 +6809,8 @@ msgstr "Nie można tu przesyłać plików" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Anuluj zaplanowaną zmianę" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Anuluj subskrypcję" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Anulować subskrypcję?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Kategoria" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Ostrzeżenie o treściach w kategorii" @@ -7131,15 +7131,15 @@ msgstr "Zmień pseudonim w grupie" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Zmień ikonę" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Zmień w ustawieniach systemowych" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Odznaki kanału" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Ostrzeżenie o treściach w kanale" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Skróty czatu" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Sprawdź ponownie" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Sprawdzanie dostępu..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Sprawdzanie uprawnień do nagrywania ekranu…" @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Płatność niedostępna" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Wybierz, jak chcesz zapłacić za tę subskrypcję." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Wybierz metodę płatności" @@ -8174,7 +8174,7 @@ msgstr "Wybierz swoje domyślne ustawienia" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Wybierz swój serwer" @@ -8216,8 +8216,8 @@ msgstr "Odbierz prezent" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Dokończ rejestrację swojego konta" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Odznaki społeczności" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Ostrzeżenie o treściach społeczności" @@ -9089,8 +9089,8 @@ msgstr "Wiadomości prywatne od członków społeczności" msgid "Community filter" msgstr "Filtr społeczności" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Ikona społeczności" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Społeczność zaktualizowana" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Rozmowy głosowe w społeczności" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Dokończ płatność" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Ukończ weryfikację treści dla dorosłych, aby odblokować materiały dla dorosłych." @@ -9409,7 +9409,7 @@ msgstr "Potwierdź" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Pytaj o potwierdzenie przed dołączeniem do kanałów głosowych" @@ -9457,7 +9457,7 @@ msgstr "Potwierdź oświadczenie, aby wysłać zgłoszenie." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Potwierdzaj dołączanie do rozmów głosowych" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Potwierdzenie" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Potwierdzenie lub dwukrotne kliknięcie przy dołączaniu do kanałów głosowych społeczności" @@ -9476,7 +9476,7 @@ msgstr "Potwierdzenie lub dwukrotne kliknięcie przy dołączaniu do kanałów g msgid "Conflicts with {conflictLabel}" msgstr "Konflikt z {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Podłącz kamerę i spróbuj ponownie." @@ -9489,7 +9489,7 @@ msgstr "Podłącz kamerę lub wirtualne urządzenie do przechwytywania, a nastę msgid "Connect a display, then try again." msgstr "Podłącz wyświetlacz, a następnie spróbuj ponownie." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Podłącz mikrofon i spróbuj ponownie." @@ -9633,7 +9633,7 @@ msgstr "Połączenie: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Kontakt" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Treść zablokowana" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Kontynuuj w przeglądarce" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Przejdź do płatności" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Kontynuuj z kluczem dostępu" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Kopiuj link z zaproszeniem" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Kopiuj wiersze" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Kopiuj wiersze do hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Kopiuj wiersze do hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Nie udało się zmienić ceny" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Nie udało się sprawdzić dostępności aktualizacji" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Nie udało się usunąć Twoich wiadomości" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Nie udało się pobrać aktualizacji aplikacji komputerowej" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Nie udało się rozpocząć płatności" @@ -10932,7 +10932,7 @@ msgstr "Utwórz i udostępnij" msgid "Create a community" msgstr "Utwórz społeczność" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Stwórz społeczność, aby rozmawiać ze znajomymi." @@ -11365,7 +11365,7 @@ msgstr "Niestandardowe źródło" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Dźwięk wyłączony przez moderatorów" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "Pakiet DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Aplikacja komputerowa" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Aplikacja komputerowa jest aktualna" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Dostępna aktualizacja aplikacji komputerowej {version}. Wybierz pakiet dla systemu Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Dostępna aktualizacja aplikacji komputerowej" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Dostępna aktualizacja aplikacji. Wybierz pakiet dla systemu Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Dostępna jest wersja {version} aplikacji komputerowej. Pobierz instalator i uruchom go, aby zaktualizować {productName}." @@ -12613,7 +12613,7 @@ msgstr "Szczegóły: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Wykrywaj podczas pisania" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Narzędzia dla programistów niedostępne" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Kompilacja deweloperska" @@ -13455,8 +13455,8 @@ msgstr "Pobierz" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Pobierz {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification i umieść go w folderze <1>.well-known, abyśmy mogli zweryfikować domenę." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Pobierz aplikację" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Pobierz aplikację" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Przycisk pobierania" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Pobierz aplikację komputerową" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Pobierz obraz" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Pobierz instalator" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Pobierz multimedia" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Pobierz pakiet" @@ -13655,11 +13655,11 @@ msgstr "Upuść przedmiot" msgid "Drop to upload background" msgstr "Upuść, aby przesłać tło" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Ze względu na przepisy dotyczące treści dla dorosłych w regionie {regionName} treści te są zablokowane do czasu ukończenia weryfikacji dostępu do nich." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Ze względu na przepisy dotyczące treści dla dorosłych w regionie {regionName} treści te są tutaj niedostępne. Weryfikacja dostępu do treści dla dorosłych jest dostępna tylko w Wielkiej Brytanii." @@ -13673,7 +13673,7 @@ msgstr "Ze względu na przepisy dotyczące treści dla dorosłych w regionie {re msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Ze względu na przepisy dotyczące treści dla dorosłych w regionie {regionName} te treści są tutaj niedostępne. Weryfikacja dostępu do treści dla dorosłych jest dostępna tylko w Wielkiej Brytanii." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Ze względu na przepisy dotyczące treści dla dorosłych w regionie {regionName} te multimedia nie są dostępne w Twoim obecnym regionie." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Każdy kod działa raz zamiast Twojej aplikacji uwierzytelniającej." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Każdy klawisz może uruchamiać tylko jeden skrót globalny." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Włącz" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Włącz uprawnienie {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Włącz skrót" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Włącz sprawdzanie pisowni" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Zakończ okres karencji teraz" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Zakończ okres karencji" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Zakończyć okres karencji teraz?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Wprowadź kod PIN swojego klucza bezpieczeństwa, aby kontynuować." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Wpisz ten kod w przeglądarce" @@ -14845,7 +14845,7 @@ msgstr "Wpisz ten kod w przeglądarce" msgid "Enter this code in your browser to complete sign-in." msgstr "Wpisz ten kod w przeglądarce, aby dokończyć logowanie." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Wpisz ten kod w swojej starej aplikacji {PRODUCT_NAME}, aby dokończyć logowanie." @@ -14916,7 +14916,7 @@ msgstr "Dźwięk z całego systemu" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Dźwięk wejścia" @@ -15026,7 +15026,7 @@ msgstr "Wieczór" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Wyrównuje głośność mikrofonu, aby Twój głos nie był zbyt cichy." @@ -15249,7 +15249,7 @@ msgstr "Wygasa między {earliest} a {latest}" msgid "Expires in {remaining}s" msgstr "Wygasa za {remaining} s" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Wygasa za {remainingSeconds} s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Dodaj kanał do ulubionych" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Ulubione kanały" @@ -16243,7 +16243,7 @@ msgstr "Na {threeHours} godziny" msgid "For {twentyFourHours} hours" msgstr "Na {twentyFourHours} godziny" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Tylko dla brytyjskich oczu..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Dla mnie" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "W przypadku funkcji „Naciśnij, aby wyciszyć mikrofon” użyj pojedynczego klawisza bez Ctrl, Alt ani Shift. Przy kombinacji najpierw puść główny klawisz, inaczej mikrofon może pozostać wyciszony." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "W przypadku funkcji „Naciśnij i mów” użyj pojedynczego klawisza bez Ctrl, Alt ani Shift. Przy kombinacji najpierw puść główny klawisz, inaczej mikrofon może pozostać włączony." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "W przypadku tego skrótu użyj pojedynczego klawisza bez Ctrl, Alt ani Shift. Przy kombinacji najpierw puść główny klawisz, inaczej skrót może pozostać aktywny." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "W przypadku priorytetu aktywności głosowej użyj pojedynczego klawisza bez Ctrl, Alt ani Shift. Przy kombinacji najpierw puść główny klawisz, inaczej priorytet może pozostać włączony." @@ -16460,14 +16460,14 @@ msgstr "Ramka" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Liczba klatek na sekundę" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Liczba klatek powyżej 30 kl./s wymaga {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Otrzymuj powiadomienia o nowych wiadomościach. Może być konieczne włączenie powiadomień w ustawieniach przeglądarki. Aby dostosować ustawienia dla poszczególnych kanałów/społeczności, kliknij prawym przyciskiem myszy ikonę społeczności i otwórz ustawienia powiadomień." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Pobierz aplikację komputerową {productName}, aby korzystać z funkcji „naciśnij i mów” w całym systemie oraz innych udogodnień." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Pobierz aplikację komputerową" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Wróć do {productName}, aby kontynuować." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Wróć do aplikacji {PRODUCT_NAME}. Zaloguje się samodzielnie." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Wróć do aplikacji {PRODUCT_NAME}. Możesz zamknąć tę kartę." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Pomoc" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Przycisk Pomoc" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Centrum pomocy" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Centrum pomocy" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Pomóż przetłumaczyć {PRODUCT_NAME} na swój język na stronie <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Ukryj czat" msgid "Hide community owner crown" msgstr "Ukryj koronę właściciela społeczności" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Ukryj przycisk pobierania" @@ -17860,7 +17860,7 @@ msgstr "Ukryj ulubione" msgid "Hide guidelines" msgstr "Ukryj wytyczne" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Ukryj przycisk centrum pomocy" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Ukryj wiadomości o dołączeniu" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Ukryj podpowiedzi klawiaturowe" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Hiperłącze" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland nie ma okna do ustawiania skrótów. Dodaj wiersze dla swojej wersji Hyprlanda do jego konfiguracji i zastąp KEY wybranym klawiszem." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland nie ma okna do ustawiania skrótów. Przypisz klawisze w konfiguracji Hyprlanda." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (przed Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 i nowsze)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Potwierdzam w dobrej wierze, że informacje i zarzuty zawarte w tym zgłoszeniu są dokładne i kompletne." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Rozumiem" @@ -18598,11 +18598,11 @@ msgstr "Importowanie… przetworzono: {processedCount, number} / {totalCount, nu msgid "In" msgstr "W" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "W trybie „System operacyjny” powyższa lista słowników ma charakter orientacyjny. {PRODUCT_NAME} przekaże te oznaczenia języków do systemowego modułu sprawdzania pisowni, jeśli jest to obsługiwane. Nierozpoznane oznaczenia zostaną zignorowane." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "W przeglądarce funkcja „naciśnij i mów” działa tylko wtedy, gdy karta {PRODUCT_NAME} jest aktywna. Zainstaluj aplikację komputerową, aby korzystać z tej funkcji w całym systemie." @@ -18650,7 +18650,7 @@ msgstr "W czacie głosowym" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Słowniki w aplikacji" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Wprowadzanie" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Wejście i wyjście" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Wstaw emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Zainstaluj aplikację {productName}, aby uzyskać pełny selektor źródeł i płynniejsze sterowanie udostępnianiem ekranu." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Zainstaluj nową aplikację" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Zainstalowano" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Zainstalowana wersja: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Interfejs" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Język interfejsu" @@ -19467,13 +19467,13 @@ msgstr "Dołącz" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Dołącz do {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Dołącz do {communityName}, aby rozmawiać z zespołem i być na bieżąco." @@ -19561,7 +19561,7 @@ msgstr "Dołącz do rozmowy wideo" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Dołącz do rozmowy głosowej" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Zachowaj darmowe i premium poziomy. Poziomy możesz dostosować, sprzedawać premium przez Stripe lub później rozdawać kody podarunkowe z panelu administratora." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Zachowaj okres karencji" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Kontynuuj działanie" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Zachowaj subskrypcję" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Zapisz tę stronę w bezpiecznym miejscu. Jeśli zapomnisz hasła, możesz jej użyć, aby odzyskać dostęp do konta. Każda osoba posiadająca ten klucz odzyskiwania może zresetować Twoje hasło, dlatego nigdy go nie udostępniaj." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Kontynuuj transmisję przez krótki czas po zwolnieniu przycisku." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Klawiatura" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Nie udało się uruchomić dostępu do klawiatury. Skróty działają tylko wtedy, gdy okno {productName} jest aktywne." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Tryb klawiatury" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Wskazówki dotyczące skrótów klawiszowych w dymkach" @@ -19923,7 +19923,7 @@ msgstr "Ustawienia języka" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Języki" @@ -19971,7 +19971,7 @@ msgstr "Wykres opóźnień" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Ponownie zezwolono członkowi na słyszenie innych w tej społeczności" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Pozwala aplikacji {productName} bezpośrednio odczytywać klawiaturę. Wyłącz tę opcję, aby zamiast tego skonfigurować skróty w środowisku graficznym." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Pozwala aplikacji {productName} bezpośrednio odczytywać klawiaturę. Twój system już na to zezwala." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Domyślne urządzenie audio systemu Linux." #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Pakiet dla systemu Linux" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Pliki lokalne" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Czas lokalny" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Wygląd i styl" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Wygląda na to, że używasz {0}. Dodatkowe przetwarzanie dźwięku przez {PRODUCT_NAME} może powodować pompowanie głośności lub zniekształcenia. Tryb „Bezpośrednie wejście” przepuszcza dźwięk bez zmian." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Ustaw jako właściciela grupy" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Upewnij się, że ten kod pasuje do kodu w aplikacji {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Zarządzaj subskrypcją" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Ręczna aktualizacja aplikacji komputerowej" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Głośność główna" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Kategoria dla dorosłych" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Kanał dla dorosłych" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Społeczność dla dorosłych" @@ -21194,7 +21194,7 @@ msgstr "Wysłano wynik weryfikacji dostępu do treści dla dorosłych" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Weryfikacja dostępu do treści dla dorosłych jest obecnie dostępna tylko w Wielkiej Brytanii." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Zaktualizowano role członka" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Członek od" @@ -22013,7 +22013,7 @@ msgstr "Mikrofon" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Test mikrofonu" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Kociak Neko goniący Twój kursor" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Nowi użytkownicy nie mogą teraz dołączyć. Nadal możesz utworzyć konto lub się zalogować, a później spróbować ponownie użyć tego linku." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Nowa wersja" @@ -23465,7 +23465,7 @@ msgstr "Brak zakładek" msgid "No bot banner" msgstr "Brak baneru bota" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Nie znaleziono kamery" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Brak opisu." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Brak dostępnej aktualizacji aplikacji komputerowej." @@ -23684,7 +23684,7 @@ msgstr "Nie znaleziono pasujących postów" msgid "No mentions yet" msgstr "Brak wzmianek" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Nie znaleziono mikrofonu" @@ -23731,7 +23731,7 @@ msgstr "Brak oczekujących zaproszeń pasujących do wyszukiwania" msgid "No permissions found" msgstr "Nie znaleziono uprawnień" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Nie dodano jeszcze własnych słów." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Niedozwolone" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Nie przypisano" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Po kliknięciu" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "Na drugim urządzeniu zaloguj się na {signInAddress} i wpisz ten kod, gdy zostaniesz o to poproszony." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Otwórz {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Otwórz {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Otwórz przełącznik kont" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Otwórz zaawansowane ustawienia multimediów" @@ -24788,7 +24788,7 @@ msgstr "Otwórz opcje banera" msgid "Open bookmarks" msgstr "Otwórz zakładki" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Otwórz przeglądarkę" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Otwórz selektor daty" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Otwórz stronę pobierania aplikacji komputerowej" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Otwórz ustawienia" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Otwórz centrum oprogramowania" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Otwórz Ustawienia systemowe" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Otwórz Ustawienia systemowe → Prywatność i ochrona → Nagrywanie ekranu, a następnie zezwól na {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Otwórz szablon JSON" @@ -25089,7 +25089,7 @@ msgstr "Otwórz szablon JSON" msgid "Open the context menu" msgstr "Otwórz menu kontekstowe" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Otwórz poniższy link w przeglądarce, a następnie skopiuj całą odpowiedź JSON i wklej ją w polu." @@ -25167,11 +25167,11 @@ msgstr "Otwórz ustawienia głosu i wideo" msgid "Open with {accountName} on {instanceName}" msgstr "Otwórz z {accountName} na {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Otwórz przeglądarkę, zaloguj się, a następnie wprowadź poniższy kod, aby połączyć swoje konto." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Otwórz starą aplikację {PRODUCT_NAME} i wybierz „Połącz nowe urządzenie”, a następnie wpisz poniższy kod." @@ -25199,7 +25199,7 @@ msgstr "Otwiera stronę Członkowie. Naciśnij Spację lub Enter, aby otworzyć. #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "System operacyjny" @@ -25629,7 +25629,7 @@ msgstr "Ostatnie 7 dni" msgid "Paste" msgstr "Wklej" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Wklej adres URL szablonu z {theOtherPlatform}, aby zaimportować jego strukturę do nowej społeczności." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Uprawnienia dla {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Słownik osobisty" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Wybierz co najmniej jeden tag dla tego posta." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Wybierz jeden lub więcej słowników. Akceptowane są słowa ze wszystkich wybranych słowników, co jest przydatne w wielojęzycznych czatach." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Ceny wciąż się ładują." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Zakupy niedostępne" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Przycisk „naciśnij i mów”" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Naciśnij i mów" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Naciśnij i mów (ograniczone)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Funkcja „Naciśnij i mów” nie ma jeszcze globalnego klawisza. Aby go ustawić, przejdź do Ustawienia > Programy > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Funkcja „Naciśnij i mów” nie ma jeszcze globalnego klawisza. Aby go ustawić, przejdź do Ustawienia systemowe > Klawiatura > Skróty > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Funkcja „Naciśnij i mów” nie ma jeszcze globalnego klawisza. Aby go ustawić, otwórz ustawienia skrótów klawiszowych w swoim środowisku graficznym." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Funkcja „naciśnij i mów” jest ignorowana w trybie „Bezpośrednie wejście”. Aby z niej korzystać, przełącz profil na „Wyrazisty głos” lub „Niestandardowy”." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Funkcja „Naciśnij i mów” jest włączona. Przytrzymaj klawisz „Naciśnij i mów”, aby mówić." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Funkcja „Naciśnij i mów” działa tylko wtedy, gdy okno {productName} jest aktywne, ponieważ środowisko graficzne nie skonfigurowało skrótów globalnych." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Naciśnij i mów działa tylko wtedy, gdy {productName} jest aktywne, dopóki nie włączysz {permissionName}." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Funkcja „Naciśnij i mów” działa tylko wtedy, gdy okno {productName} jest aktywne, dopóki nie skonfigurujesz skrótów globalnych." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Naciśnij i mów działa tylko, gdy karta przeglądarki jest aktywna." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Funkcja „Naciśnij i mów” użyje klawisza ustawionego w {productName}. Najpierw go ustaw, inaczej mikrofon będzie działał w trybie aktywności głosowej." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Funkcja „naciśnij i mów” nie włączy mikrofonu, gdy masz wyłączony dźwięk. Włącz dźwięk, aby rozmawiać." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Funkcja „Naciśnij i mów” działa poza {productName} dopiero po przypisaniu klawisza w konfiguracji Hyprlanda." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Funkcja „Naciśnij i mów” działa poza {productName} dopiero po przypisaniu klawisza w konfiguracji Hyprlanda. Dodaj wiersz dla swojej wersji Hyprlanda i zastąp KEY wybranym klawiszem." @@ -27533,12 +27533,12 @@ msgstr "Odbiorcy zostaną przeniesieni do {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Zalecane" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Zalecane. Oczyszcza dźwięk z mikrofonu, aby mowa była wyraźna." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Połączono ponownie. Wybierz ekran jeszcze raz, jeśli chcesz wznowić poprzednią transmisję." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Ponowne łączenie ze środowiskiem graficznym…" @@ -27836,7 +27836,7 @@ msgstr "Uruchom ponownie, aby zastosować" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Opóźnienie zwolnienia" @@ -27853,7 +27853,7 @@ msgstr "Powiązane" msgid "Reload" msgstr "Załaduj ponownie" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Przeładuj {PRODUCT_NAME}, aby w pełni zastosować zmianę silnika. Przełączanie między sprawdzaniem pisowni w aplikacji a sprawdzaniem systemowym wymaga przeładowania procesu renderującego, ponieważ Electron nie może zmieniać dostawców w trakcie działania." @@ -27872,7 +27872,7 @@ msgstr "Przeładuj {productName}, aby zastosować aktualizację wersji webowej { msgid "Reload app" msgstr "Odśwież aplikację" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Załaduj ponownie" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Usuń" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Usuń „{word}” ze słownika" @@ -28086,8 +28086,8 @@ msgstr "Usuń z ulubionych GIF-ów zapisanych na podstawie adresu URL" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Usuń ikonę" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Wiersze na stronę" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "Pakiet RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Bezpieczeństwo" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Taka sama godzina jak u Ciebie" @@ -29770,7 +29770,7 @@ msgstr "Nagrywanie ekranu" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Wymagane pozwolenie na nagrywanie ekranu" @@ -29858,7 +29858,7 @@ msgstr "Prywatność udostępniania ekranu" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Jakość udostępniania ekranu" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Szukaj kodu języka…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Szukaj języków…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Wybierz GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Wybierz język interfejsu" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Wybierz konto, na które chcesz się zalogować na nowym urządzeniu." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Wybierz tryb przetwarzania głosu" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Wysyła surowy dźwięk z mikrofonu bez przetwarzania." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Wysyła dźwięk bez zmian. Najlepiej, jeśli używasz zewnętrznego oprogramowania audio." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Ustawiono pozycję roli na liście członków" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Ustawione przez preset {preset}. Wybranie wartości tutaj przełączy na Niestandardowe." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Ustawiono region głosowy na automatyczny" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Skonfiguruj" @@ -31307,7 +31307,7 @@ msgstr "Udostępnij znajomemu" msgid "Share your screen" msgstr "Udostępnij ekran" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Udostępniaj swój ekran w wysokiej rozdzielczości (1080p), Quad HD (1440p) lub natywnej rozdzielczości źródłowej, z prędkością do 60 kl./s." @@ -31399,7 +31399,7 @@ msgstr "Krótkie kody" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Skrót" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Odznaki skrótów" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Pokaż przycisk ulubionych" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Pokaż ulubione w całej aplikacji" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Zaloguj się przez przeglądarkę" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Zaloguj się za pomocą swojej starej aplikacji {productName}" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Wylogować się?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Anulowano logowanie" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Dane logowania" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Proces logowania" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Logowanie jako {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Logowanie na innym urządzeniu?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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ę." @@ -32812,7 +32812,7 @@ msgstr "Dźwięki" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Szybkość" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Sprawdzanie pisowni" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Silnik sprawdzania pisowni" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Animacja gwiazdki" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Kanały oznaczone gwiazdką" @@ -33140,7 +33140,7 @@ msgstr "Rozpocząć rozmowę głosową?" msgid "Start call" msgstr "Rozpocznij połączenie" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Rozpocznij test kamery i skonfiguruj efekty" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Zminimalizuj przy starcie" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Uruchamianie" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Statyczny Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Trwa indeksowanie — spróbuj ponownie za chwilę" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Nieruchomy Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Nadal czekamy na dostęp do nagrywania ekranu" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Zatrzymaj test mikrofonu" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Wyłącz gonienie kursora przez Neko, zachowując możliwość przeciągania go i interakcji z nim." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Subskrypcja już istnieje" @@ -33957,7 +33957,7 @@ msgstr "Przełącz na wygodny układ" msgid "Switch to dense layout" msgstr "Przełącz na zwarty układ" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Przełącz na bezpośrednie wejście" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "Rozmowy z kontem systemowym nie obsługują połączeń głosowych." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Czas według ustawień systemu: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Zasobnik systemowy" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Instalacja zarządzana przez system" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Skróty globalne" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Nie udało się skonfigurować skrótów globalnych." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Dotknij, aby dodać notatkę" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "Archiwum tar.gz" @@ -34360,7 +34360,7 @@ msgstr "Znacznik na pasku zadań" msgid "Teleporting you to another voice region..." msgstr "Przenosimy Cię do innego regionu głosowego..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Szablon" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "Aplikacja {PRODUCT_NAME} na Twoim drugim urządzeniu wyświetla ją w sekcji „Logowanie na innym urządzeniu”. Wpisuj kody tylko z urządzeń, które kontrolujesz." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "Aplikacja {PRODUCT_NAME} nie została zalogowana. Możesz zamknąć tę kartę." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Społeczność, której szukasz, mogła zostać usunięta lub możesz nie mieć do niej dostępu." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Nie udało się pobrać aktualizacji aplikacji komputerowej. Gdy połączenie będzie stabilne, spróbuj ponownie za pomocą przycisku aktualizacji." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Pobrany plik został zapisany na Twoim komputerze. Zainstaluj go za pomocą swojego menedżera pakietów." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Ta kategoria zawiera już maksymalną liczbę {maxChannelsPerCategory} kanałów." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Ta kategoria jest oznaczona jako zawierająca treści dla dorosłych i może zawierać materiały nieodpowiednie dla niektórych użytkowników." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Ten kanał ma ostrzeżenie o treści. Aktualizacje mogą trafiać tylko do kanałów z ostrzeżeniem o treści lub ograniczeniem wiekowym." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Ten kanał jest oznaczony jako zawierający treści dla dorosłych i może zawierać materiały nieodpowiednie dla niektórych użytkowników." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Ta społeczność jest pełna" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Ta społeczność jest oznaczona jako zawierająca treści dla dorosłych i może zawierać materiały nieodpowiednie dla niektórych użytkowników." @@ -35324,14 +35324,14 @@ msgstr "Ta społeczność nie jest już dostępna" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "To połączenie zostało zweryfikowane." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "To połączenie nie zostało zweryfikowane." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Ta rozmowa jest już niedostępna." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Ta wersja aplikacji komputerowej nie pozwala instalować aktualizacji wewnątrz {productName}. Pobierz najnowszy instalator aplikacji komputerowej." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "To środowisko graficzne nie obsługuje skrótów globalnych. Funkcja „Naciśnij i mów” działa tylko wtedy, gdy okno {productName} jest aktywne." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "To środowisko graficzne nie obsługuje skrótów globalnych. Skróty nadal działają, gdy okno {productName} jest aktywne." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Ta kompilacja deweloperska nie może się zaktualizować. Pobierz instalator na komputer, aby przetestować proces aktualizacji." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Nie można odczytać tego obrazu. Może być uszkodzony." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Ta instalacja jest zarządzana przez Twój system. Zaktualizuj {productName} za pomocą centrum oprogramowania lub menedżera pakietów." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Ta instancja używa już nazw użytkowników do logowania. Nie można tego już zmienić." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Ta instancja pozwala obecnie na udostępnianie ekranu w rozdzielczości do 720p przy 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Ten link nie jest prawidłowy. Otwórz ponownie link z wiadomości e-mail." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Ta kategoria dla dorosłych jest niedostępna dla Twojego konta." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Ta kategoria treści dla dorosłych nie jest dostępna dla Twojego konta. <0>Dowiedz się więcej" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Ten kanał dla dorosłych nie jest dostępny dla Twojego konta." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Ten kanał dla dorosłych nie jest dostępny dla Twojego konta. <0>Dowiedz się więcej" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Ta społeczność dla dorosłych jest niedostępna dla Twojego konta." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Ta społeczność dla dorosłych nie jest dostępna dla Twojego konta. <0>Dowiedz się więcej" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Te treści dla dorosłych nie są dostępne dla Twojego konta." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Te treści dla dorosłych nie są dostępne dla Twojego konta. <0>Dowiedz się więcej" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Ten plan jest niedostępny. Skontaktuj się z pomocą techniczną." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Ten plan jest niedostępny. Skontaktuj się z administratorami tej instancji." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Ten zakup nie kwalifikuje się do zwrotu pieniędzy." @@ -35837,7 +35853,7 @@ msgstr "Ten wątek jest zablokowany. Tylko moderatorzy mogą wysyłać wiadomoś msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Ten użytkownik ograniczył dostęp do swojego profilu. Niektóre szczegóły są ukryte przed osobami, które nie są jego znajomymi." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Ten użytkownik nie ma żadnych ról w tej społeczności." @@ -36050,14 +36066,14 @@ msgstr "Godzina" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Format godziny" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Wybór formatu godziny" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Platforma paska tytułu" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Aby zmienić klawisze, przejdź do Ustawienia > Programy > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Aby zmienić klawisze, przejdź do Ustawienia systemowe > Klawiatura > Skróty > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Aby zmienić klawisze, otwórz ustawienia skrótów klawiszowych w swoim środowisku graficznym." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Pasek narzędzi" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Skróty w podpowiedziach" @@ -36864,7 +36880,7 @@ msgstr "24-godzinny" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Dwa kliknięcia" @@ -37263,7 +37279,7 @@ msgstr "Uniwersalna opcja awaryjna. Najniższa jakość, ale działa wszędzie." #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Nieznany" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Odblokuj niestandardowe emoji w wiadomościach prywatnych dzięki {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Odblokuj udostępnianie ekranu w jakości HD dzięki {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Do 720p przy 30 kl./s" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Zaktualizuj {productName}, aby używać skrótów globalnych w sesji Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Zaktualizuj mój status" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Zaktualizuj teraz" @@ -38008,8 +38024,8 @@ msgstr "Przesyłaj pliki i multimedia na ten kanał." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Prześlij ikonę" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Użyj {name} na {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Użyj {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Użyj {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Użyj innej metody" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Używaj automatycznego przewijania" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Użyj karty" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Użyj domyślnych" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Używaj bezpośredniego dostępu do urządzeń wejściowych" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Używaj naklejek z innych społeczności." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Użyj ustawień regionalnych systemu dla formatu godziny" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Użyj ramki okna systemu operacyjnego" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Użyj sprawdzania pisowni wbudowanego w system operacyjny." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Używaj aktywacji głosowej" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Używaj sprawdzania pisowni dostępnego w Twoim systemie operacyjnym. W przeciwnym razie korzystaj ze wbudowanych słowników {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Najpierw zweryfikuj swój adres e-mail" @@ -39244,7 +39260,7 @@ msgstr "Wyświetl szczegóły" msgid "View devices that are signed in to your account" msgstr "Wyświetl urządzenia zalogowane do Twojego konta" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Wyświetl cały profil" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Kanał głosowy" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Potwierdzenie kanału głosowego" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Kanał głosowy pełny" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Zachowanie podczas dołączania do kanału głosowego" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Uczestnicy rozmowy głosowej" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Przetwarzanie głosu" @@ -39661,7 +39677,7 @@ msgstr "Włączenie dźwięku" msgid "Voice unmute" msgstr "Włączenie mikrofonu" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "W tej przeglądarce rozmowy głosowe korzystają z systemowego urządzenia wyjściowego. Zmień je w ustawieniach systemu." @@ -39675,7 +39691,7 @@ msgstr "Anulowano" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Odstęp między wiadomościami. Użytkownicy z uprawnieniem „{bypassSl msgid "Waiting for connection..." msgstr "Oczekiwanie na połączenie…" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Czekam na klucz dostępu…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Czekam, aż..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Oczekiwanie na środowisko graficzne…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Nie udało nam się odczytać tego motywu. Może być uszkodzony lub nieprawidłowy." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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ę." @@ -39914,7 +39930,7 @@ msgstr "Zmieniliśmy rozmiar i skompresowaliśmy tę naklejkę do 320x320 piksel msgid "We sent a code to {email}." msgstr "Wysłaliśmy kod na adres {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Wypełnimy wstępnie pole adresem {prefillEmail}, gdy otworzy się logowanie w przeglądarce." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Podglądy stron internetowych" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Witamy ponownie" @@ -40321,7 +40337,7 @@ msgstr "Które społeczności" msgid "Which conversations" msgstr "Które rozmowy" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Gdy funkcja „Naciśnij i mów” jest włączona, skrót steruje mikrofonem, więc przycisk wyciszenia jest nieaktywny." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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}." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Właśnie naciśnięto klawisz Tab. Tryb klawiatury jest teraz włączony, więc możesz nawigować po {productName} bez myszy." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Zachowasz korzyści do następnej daty odnowienia. Reaktywuj subskrypcję przed tym terminem, aby zachować historię subskrypcji." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Natychmiast tracisz wszystkie korzyści {PREMIUM_PRODUCT_NAME}, a historia subskrypcji zostaje zresetowana. Tej operacji nie można cofnąć." @@ -41137,8 +41153,8 @@ msgstr "Potrzebujesz uprawnienia „{permissionLabel}”, aby używać tutaj emo msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Aby używać naklejek z innych społeczności, potrzebujesz uprawnienia „{permissionLabel}”." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Musisz dokończyć rejestrację konta, zanim utworzysz społeczność." @@ -41155,8 +41171,8 @@ msgstr "Musisz dokończyć rejestrację konta, aby wysyłać wiadomości prywatn msgid "You need to claim your account to send messages in this community." msgstr "Musisz dokończyć rejestrację konta, aby wysyłać wiadomości w tej społeczności." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Musisz zweryfikować swój adres e-mail, zanim utworzysz społeczność." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Musisz zweryfikować swój adres e-mail, zanim kupisz {premiumProductFullName}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Inni będą widzieć Twój status jako offline" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Zostaniesz obciążony teraz. Twój pozostały czas prezentu zostanie dodany po okresie płatnym, więc nic się nie zmarnuje." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Masz już Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Zbyt szybko wysyłasz zgłoszenia. Spróbuj ponownie później." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Zalogowano Cię" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Twoje konto jest zbyt nowe, by wysyłać wiadomości w tej społecznośc msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Twoja prośba o konto oczekuje na zatwierdzenie. Możesz się zalogować po zatwierdzeniu jej przez administratora." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Twoje konto wymaga uwierzytelniania wieloskładnikowego, ale na tym urządzeniu nie skonfigurowano żadnych obsługiwanych metod. Zaloguj się na urządzeniu z aplikacją uwierzytelniającą lub kluczem bezpieczeństwa albo skontaktuj się z pomocą techniczną." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Twoje konto wymaga uwierzytelniania wieloskładnikowego, ale na tym urządzeniu nie skonfigurowano żadnych obsługiwanych metod. Zaloguj się na urządzeniu z aplikacją uwierzytelniającą lub kluczem bezpieczeństwa albo skontaktuj się z administratorami tej instancji." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Twoje konta i ustawienia nie zostały zmienione ani usunięte." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Nie udało się wykonać tej czynności, ponieważ nasze systemy bezpieczeństwa oznaczyły ją jako podejrzaną. Jeśli uważasz, że to pomyłka, skontaktuj się z pomocą techniczną." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Nie udało się wykonać tej czynności, ponieważ nasze systemy bezpieczeństwa oznaczyły ją jako podejrzaną. Jeśli uważasz, że to pomyłka, skontaktuj się z administratorami tej instancji." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Twój obecny zestaw przestanie działać, gdy tylko utworzysz nowy." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Środowisko graficzne nie skonfigurowało skrótów globalnych." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Środowisko graficzne rezerwuje te klawisze dla aplikacji {productName}, więc inne aplikacje nie mogą ich używać." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Środowisko graficzne rezerwuje te klawisze dla aplikacji {productName}, więc inne aplikacje nie mogą ich używać. Aby używać tego samego klawisza w innych aplikacjach, włącz poniżej bezpośredni dostęp do urządzeń wejściowych." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Środowisko graficzne uruchamia te skróty, nawet gdy okno {productName} nie jest aktywne." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Czas podarunku się zakończył. Zasubskrybuj, aby zachować {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Twój czas podarunkowy zostanie zachowany" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Twój okres karencji dobiegł końca." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Twoja instalacja jest uszkodzona. Aby wszystkie funkcje działały, musisz ponownie zainstalować aplikację." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Upłynął termin zwrotu za Twój ostatni zakup. Skontaktuj się z pomocą techniczną w przypadku problemów z płatnościami." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Nie udało się dostarczyć Twojej wiadomości, ponieważ nasze systemy bezpieczeństwa oznaczyły ją jako podejrzaną. Jeśli uważasz, że to pomyłka, skontaktuj się z pomocą techniczną." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Nie udało się dostarczyć Twojej wiadomości, ponieważ nasze systemy bezpieczeństwa oznaczyły ją jako podejrzaną. Jeśli uważasz, że to pomyłka, skontaktuj się z administratorami tej instancji." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Nie udało się dostarczyć Twojej wiadomości. Zazwyczaj dzieje się tak, ponieważ nie masz wspólnej społeczności z odbiorcą lub odbiorca przyjmuje wiadomości prywatne tylko od znajomych. Może być również konieczne dostosowanie własnych ustawień prywatności wiadomości prywatnych w {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Nie udało się dostarczyć Twojej wiadomości. Aby wysyłać wiadomości prywatne, musisz dokończyć rejestrację konta." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Nie udało się dostarczyć Twojej wiadomości. Aby wysyłać wiadomości, musisz dokończyć rejestrację konta." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Twoje zgłoszenie nie zostało wysłane. Spróbuj ponownie." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Twoje zapisane {savedResolution} przy {savedFrameRate} FPS wymaga {premiumProductName}, więc udostępnianie używa {resolution} przy {frameRate} FPS." 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 169ae473d..d674d3984 100644 --- a/fluxer_app/src/features/i18n/locales/pt-BR/messages.po +++ b/fluxer_app/src/features/i18n/locales/pt-BR/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} executa uma versão mais recente do Fluxer do que este app. Atualize o Fluxer e tente novamente." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} à sua frente" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} atrás de você" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, =0 {# horas atrás} one {# hora atrás} other {# horas a #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, =0 {# horas} one {# hora} other {# horas}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, =0 {# horas} one {# hora} other {# horas}} {minutes, plural, =0 {# minutos} one {# minuto} other {# minutos}}" @@ -1602,7 +1602,7 @@ msgstr "O arquivo {label} é muito grande. Escolha um arquivo menor que {maxSize msgid "{label} images cannot be animated. Use a static image." msgstr "Imagens {label} não podem ser animadas. Use uma imagem estática." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Bandeira: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, =0 {# minutos atrás} one {# minuto atrás} other {# m #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, =0 {# minutos} one {# minuto} many {# minutos} other {# minutos}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} encontrou um novo dispositivo de saída de áudio chamado msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "O {PRODUCT_NAME} precisa reiniciar antes que as configurações de rolagem nativas do Chromium alterem a forma como a rolagem funciona." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "O {PRODUCT_NAME} precisa ser reiniciado para que a aceleração de hardware entre em vigor." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "O {PRODUCT_NAME} precisa reiniciar para que a alteração na barra de título tenha efeito." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "O {PRODUCT_NAME} precisa reiniciar para desativar a aceleração de hardware do Chromium. Use isso apenas se você estiver solucionando problemas gráficos ou alto uso da GPU." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Caçador de bugs do {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "O {productName} pode pedir ao seu ambiente gráfico para executar os atalhos dele mesmo quando o {productName} não estiver em foco. Seu ambiente gráfico pedirá sua confirmação e deixará você escolher as teclas." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "O {productName} não consegue mais ler seu teclado, então passa a detectar os atalhos pelo X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "O {productName} não consegue mais ler seu teclado, então os atalhos do seu ambiente gráfico são usados no lugar." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "O {productName} não consegue mais ler seu teclado. Os atalhos só funcionam enquanto o {productName} estiver em foco." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "O {productName} pode registrar os atalhos dele no Hyprland para que funcionem mesmo quando o {productName} não estiver em foco. Depois, você define as teclas na configuração do Hyprland." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "O {productName} não pode usar um codificador de hardware para isso e usará o seu processador." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} fecha, instala a atualização e abre novamente." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} não conseguiu acessar o serviço de atualização. Verifique sua conexão e tente novamente." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "O {productName} mudou para {host}. Abra-o no seu navegador para instalar o novo app." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Membro do {productName} desde" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "O {productName} precisa de acesso ao seu microfone. Permita o acesso ao microfone nas configurações de privacidade do seu sistema operacional e reinicie o aplicativo." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "O {productName} precisa de acesso à câmera para listar seus dispositivos." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "O {productName} precisa de acesso ao microfone para listar seus dispositivos." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "Kit de recuperação do {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "O {productName} registrou os atalhos dele no Hyprland. Defina as teclas na configuração do Hyprland para usá-los quando o {productName} não estiver em foco." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 meses (1 ano)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12 horas" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 horas" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24 horas" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "um nome de host, por exemplo, {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Há uma atualização do aplicativo para Linux. Escolha o formato do pacote para este sistema e o {productName} salvará o arquivo localmente." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "um minuto" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Uma nova versão para computador está disponível. Baixe o instalador e execute-o para atualizar o {productName}." @@ -2817,7 +2817,7 @@ msgstr "Sobre o {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Sobre mim" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Compartilhamento de atividade" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Limite de atividade" @@ -3155,7 +3155,7 @@ msgstr "Tamanho real" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Adicionar" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Adicione um nome de usuário e senha à sua conta primeiro." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Adicionar uma palavra…" @@ -3244,7 +3244,7 @@ msgstr "Adicione uma chave da YouTube Data API para enriquecer os links do YouTu #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Adicionar conta" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Endereço" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Ajuste cada configuração: supressão de ruído, cancelamento de eco e ganho." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Avançado" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Configurações avançadas de vídeo" @@ -3906,22 +3906,22 @@ msgstr "Permitir" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Permitir {everyoneMention} e {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Permita que o {PRODUCT_NAME} acesse sua câmera em Ajustes do Sistema → Privacidade e Segurança → Câmera." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Permita que o {PRODUCT_NAME} acesse seu microfone em Ajustes do Sistema → Privacidade e Segurança → Microfone." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Permita que o {PRODUCT_NAME} acesse seu microfone. Verifique a barra de endereço ou as configurações do seu navegador." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Permita que o {productName} em Gravação de Tela nas Preferências do Sistema. Se já estiver permitido, reinicie o {productName2} para que o macOS aplique." @@ -3961,7 +3961,7 @@ msgstr "Permitir mensagens diretas de bots" msgid "Allow bots to send you direct messages?" msgstr "Permitir que bots enviem mensagens diretas para você?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Permitir acesso à câmera" @@ -4029,7 +4029,7 @@ msgstr "Permitir que membros sem a permissão {readMessageHistoryPermissionLabel msgid "Allow mentions for this role" msgstr "Permitir menções a este cargo" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Permitir acesso ao microfone" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Sempre sublinhar links" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Sempre usar os dicionários Hunspell do {productName}, baixados sob demanda." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Notificação no ícone do app" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Formato de hora conforme o idioma do aplicativo: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Aprovação necessária" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Aprove este app pelo app {productName} que você já usa. Nenhuma senha é necessária." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Autorizado em {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Automático" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Detectar idioma automaticamente" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Definir limite de atividade automaticamente" @@ -5534,7 +5534,7 @@ msgstr "AV1 (requer ativação)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Disponível" @@ -5608,11 +5608,11 @@ msgstr "Ausente no momento" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Melhor compressão. Use somente quando o WebRTC expuser um codificador e o relatório da GPU indicar que ele é baseado em hardware." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Melhor com o app para computador" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Página inicial do navegador" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Formato de hora do navegador: {format}" @@ -6545,8 +6545,8 @@ msgstr "Compre um presente {premiumProductName} na aba {premiumProductName} para msgid "Buy gift" msgstr "Comprar presente" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Ao criar uma comunidade, você concorda em seguir e fazer cumprir as <0>diretrizes da comunidade do {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Chamadas" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Prévia da câmera" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Qualidade da câmera" @@ -6809,8 +6809,8 @@ msgstr "Não é possível enviar arquivos aqui" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Cancelar mudança agendada" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Cancelar assinatura" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Cancelar assinatura?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Categoria" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Aviso de conteúdo da categoria" @@ -7131,15 +7131,15 @@ msgstr "Alterar apelido do grupo" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Alterar ícone" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Alterar nas configurações do sistema" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Selos do canal" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Aviso de conteúdo do canal" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Atalhos de chat" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Verificar novamente" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Verificando acesso..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Verificando a permissão de gravação de tela..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Finalização de compra indisponível" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Escolha como você quer pagar por esta assinatura." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Escolha a forma de pagamento" @@ -8174,7 +8174,7 @@ msgstr "Escolha seus padrões" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Escolha sua instância" @@ -8216,8 +8216,8 @@ msgstr "Resgatar presente" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Reivindique sua conta" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Selos da comunidade" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Aviso de conteúdo da comunidade" @@ -9089,8 +9089,8 @@ msgstr "Mensagem direta da comunidade" msgid "Community filter" msgstr "Filtro da comunidade" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Ícone da comunidade" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Comunidade atualizada" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Voz da comunidade" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Concluir pagamento" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Conclua a verificação de conteúdo adulto para desbloquear mídias adultas." @@ -9409,7 +9409,7 @@ msgstr "Confirmar" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Confirmar antes de entrar em canais de voz" @@ -9457,7 +9457,7 @@ msgstr "Confirme a declaração para enviar a denúncia." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Confirmar entrada no canal de voz" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Confirmação" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Confirmação ou duplo clique para entrar em canais de voz da comunidade" @@ -9476,7 +9476,7 @@ msgstr "Confirmação ou duplo clique para entrar em canais de voz da comunidade msgid "Conflicts with {conflictLabel}" msgstr "Conflita com {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Conecte uma câmera e tente novamente." @@ -9489,7 +9489,7 @@ msgstr "Conecte uma câmera ou dispositivo de captura virtual e tente novamente. msgid "Connect a display, then try again." msgstr "Conecte um monitor e tente novamente." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Conecte um microfone e tente novamente." @@ -9633,7 +9633,7 @@ msgstr "Conexão: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Contato" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Conteúdo bloqueado" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Continuar no seu navegador" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Continuar para o checkout" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Continuar com chave de acesso" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Copiar link de convite" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Copiar linhas" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Copiar linhas para hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Copiar linhas para hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Não foi possível alterar seu preço" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Não foi possível buscar atualizações" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Não foi possível excluir suas mensagens" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Não foi possível baixar a atualização para computador" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Não foi possível iniciar a compra" @@ -10932,7 +10932,7 @@ msgstr "Criar e compartilhar" msgid "Create a community" msgstr "Criar uma comunidade" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Crie uma comunidade para você e seus amigos conversarem." @@ -11365,7 +11365,7 @@ msgstr "Personalizado" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Áudio desativado pelos moderadores" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "Pacote DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Aplicativo para computador" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "O aplicativo para computador está atualizado" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Atualização {version} do aplicativo para computador disponível. Escolha um pacote Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Atualização do aplicativo para computador disponível" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Atualização para computador disponível. Escolha um pacote Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "A versão {version} do aplicativo para computador está disponível. Baixe o instalador e execute-o para atualizar o {productName}." @@ -12613,7 +12613,7 @@ msgstr "Detalhes: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Detectar ao digitar" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Ferramentas de desenvolvedor indisponíveis" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Versão de desenvolvimento" @@ -13455,8 +13455,8 @@ msgstr "Baixar" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Baixar {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification e coloque-o na sua pasta <1>.well-known para que possamos validar o domínio." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Baixar app" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Baixar o app" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Botão de download" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Baixar app para computador" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Baixar imagem" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Baixar instalador" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Baixar mídia" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Baixar pacote" @@ -13655,11 +13655,11 @@ msgstr "Soltar item" msgid "Drop to upload background" msgstr "Solte para enviar a imagem de fundo" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Devido às leis de conteúdo adulto em {regionName}, o conteúdo adulto está bloqueado até que você conclua a verificação de conteúdo adulto." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Devido às leis de conteúdo adulto em {regionName}, o conteúdo adulto não está disponível aqui. As verificações de conteúdo adulto estão disponíveis apenas no Reino Unido." @@ -13673,7 +13673,7 @@ msgstr "Devido às leis de conteúdo adulto em {regionName}, este conteúdo est msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Devido às leis de conteúdo adulto em {regionName}, este conteúdo não está disponível aqui. As verificações de conteúdo adulto estão disponíveis apenas no Reino Unido." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Devido às leis de conteúdo adulto em {regionName}, esta mídia não está disponível na sua região atual." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Cada código funciona uma vez no lugar do seu app autenticador." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Cada tecla pode executar apenas um atalho global." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Ativar" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Ativar a permissão {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Ativar atalho" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Ativar corretor ortográfico" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Encerrar período de carência agora" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Encerrar período de carência" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Encerrar período de carência agora?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Digite o PIN da sua chave de segurança para continuar." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Digite este código no seu navegador" @@ -14845,7 +14845,7 @@ msgstr "Digite este código no seu navegador" msgid "Enter this code in your browser to complete sign-in." msgstr "Insira este código no seu navegador para concluir o login." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Digite este código no seu app antigo do {PRODUCT_NAME} para concluir o login." @@ -14916,7 +14916,7 @@ msgstr "Áudio do sistema inteiro" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Som de entrada" @@ -15026,7 +15026,7 @@ msgstr "Noite" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Equilibra o volume do microfone para que sua voz não fique baixa demais." @@ -15249,7 +15249,7 @@ msgstr "Expira entre {earliest} e {latest}" msgid "Expires in {remaining}s" msgstr "Expira em {remaining}s" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Expira em {remainingSeconds}s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Favoritar canal" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Canais favoritos" @@ -16243,7 +16243,7 @@ msgstr "Por {threeHours} horas" msgid "For {twentyFourHours} hours" msgstr "Por {twentyFourHours} horas" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Apenas para britânicos..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Para mim" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Para \"Apertar para silenciar\", use uma única tecla sem Ctrl, Alt ou Shift. Com uma combinação, solte primeiro a tecla principal ou o microfone pode continuar silenciado." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Para \"Apertar para falar\", use uma única tecla sem Ctrl, Alt ou Shift. Com uma combinação, solte primeiro a tecla principal ou o microfone pode continuar ligado." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Para este atalho, use uma única tecla sem Ctrl, Alt ou Shift. Com uma combinação, solte primeiro a tecla principal ou o atalho pode permanecer ativo." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Para \"Prioridade de atividade de voz\", use uma única tecla sem Ctrl, Alt ou Shift. Com uma combinação, solte primeiro a tecla principal ou a prioridade pode continuar ativa." @@ -16460,14 +16460,14 @@ msgstr "Moldura" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Taxa de quadros" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Taxas de quadros acima de 30 FPS exigem {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Receba notificações quando você receber mensagens. Pode ser necessário permitir as notificações nas configurações do seu navegador. Para controles por canal/comunidade, clique com o botão direito no ícone de uma comunidade e abra as configurações de notificação." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Baixe o aplicativo do {productName} para computador e use \"Apertar para falar\" em todo o sistema, além de outras vantagens." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Baixar o app para computador" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Volte ao {productName} para continuar." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Voltar para o app {PRODUCT_NAME}. Ele termina o login sozinho." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Voltar para o app {PRODUCT_NAME}. Você pode fechar esta aba." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Ajuda" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Botão de ajuda" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Central de ajuda" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Central de Ajuda" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Ajude a traduzir o {PRODUCT_NAME} para o seu idioma em <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Ocultar chat" msgid "Hide community owner crown" msgstr "Ocultar coroa do proprietário da comunidade" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Ocultar botão de download" @@ -17860,7 +17860,7 @@ msgstr "Ocultar favoritos" msgid "Hide guidelines" msgstr "Ocultar diretrizes" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Ocultar botão da central de ajuda" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Ocultar mensagens de entrada" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Ocultar dicas do teclado" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Hiperlink" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "O Hyprland não tem uma janela de atalhos. Adicione as linhas da sua versão do Hyprland à configuração do Hyprland e substitua KEY pela tecla desejada." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "O Hyprland não tem uma janela de atalhos. Defina as teclas na configuração do Hyprland." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (antes do Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 ou posterior)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Confirmo de boa-fé que as informações e alegações neste aviso são precisas e completas." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Entendi" @@ -18598,11 +18598,11 @@ msgstr "Importando… Progresso: {processedCount, number} / {totalCount, number} msgid "In" msgstr "Em" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "No modo \"Sistema operacional\", os dicionários listados acima são apenas sugestões. O {PRODUCT_NAME} passará essas tags de idioma para o corretor ortográfico do seu SO quando compatível. As tags que ele não reconhece são ignoradas." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "No navegador, \"Apertar para falar\" só funciona enquanto a aba do {PRODUCT_NAME} estiver em foco. Instale o aplicativo para computador para usar esse recurso em todo o sistema." @@ -18650,7 +18650,7 @@ msgstr "No chat de voz" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Dicionários no app" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Entrada" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Entrada e saída" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Inserir emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Instale o {productName} para ter o seletor de fonte completo e controles de compartilhamento de tela mais fluidos." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Instalar o novo app" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Instalado" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Versão instalada: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Interface" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Idioma da interface" @@ -19467,13 +19467,13 @@ msgstr "Entrar" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Entrar em {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Participe de {communityName} para conversar com a equipe e ficar por dentro das novidades." @@ -19561,7 +19561,7 @@ msgstr "Entrar na chamada de vídeo" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Entrar na chamada de voz" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Mantenha os níveis gratuito e premium. Você pode personalizar os níveis, vender o premium via Stripe ou distribuir códigos de presente mais tarde no painel de administração." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Manter período de carência" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Continuar em execução" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Manter assinatura" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Guarde esta página em um local seguro. Se você esquecer sua senha, poderá usá-la para acessar sua conta novamente. Qualquer pessoa com esta chave de recuperação pode redefinir sua senha, portanto, nunca a compartilhe." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Continue transmitindo por um breve período após soltar o botão." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Teclado" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Não foi possível iniciar o acesso ao teclado. Os atalhos só funcionam enquanto o {productName} estiver em foco." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Modo teclado" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Atalhos de teclado nas dicas de ferramentas" @@ -19923,7 +19923,7 @@ msgstr "Configurações de idioma" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Idiomas" @@ -19971,7 +19971,7 @@ msgstr "Gráfico de latência" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Permitiu que o membro ouvisse os outros nesta comunidade novamente" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Permite que o {productName} leia seu teclado diretamente. Desative esta opção para configurar os atalhos pelo seu ambiente gráfico." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Permite que o {productName} leia seu teclado diretamente. Seu sistema já permite isso." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Dispositivo de áudio padrão do Linux" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Pacote Linux" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Arquivos locais" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Hora local" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Aparência" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Parece que você está usando {0}. Usar o processamento do {PRODUCT_NAME} em conjunto pode causar bombeamento ou distorção. A entrada direta passa seu áudio sem alterações." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Tornar proprietário do grupo" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Certifique-se de que este código corresponda ao do app {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Gerenciar sua assinatura" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Atualização manual do aplicativo para computador" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Volume principal" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Categoria adulta" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Canal adulto" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Comunidade adulta" @@ -21194,7 +21194,7 @@ msgstr "Verificação de conteúdo adulto enviada" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "A verificação de conteúdo adulto está disponível apenas no Reino Unido." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Cargos do membro atualizados" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Membro desde" @@ -22013,7 +22013,7 @@ msgstr "Microfone" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Teste de microfone" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Gato Neko que persegue seu cursor" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Novos usuários não podem entrar agora. Você ainda pode criar uma conta ou fazer login e tentar este link novamente mais tarde." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Nova versão" @@ -23465,7 +23465,7 @@ msgstr "Nenhuma mensagem salva" msgid "No bot banner" msgstr "Sem banner do bot" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Nenhuma câmera encontrada" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Sem descrição." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Nenhuma atualização do aplicativo para computador está disponível." @@ -23684,7 +23684,7 @@ msgstr "Nenhuma postagem correspondente" msgid "No mentions yet" msgstr "Nenhuma menção ainda" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Nenhum microfone encontrado" @@ -23731,7 +23731,7 @@ msgstr "Nenhum pedido pendente corresponde à pesquisa" msgid "No permissions found" msgstr "Nenhuma permissão encontrada" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Nenhuma palavra adicionada ao dicionário ainda." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Não permitido" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Não atribuído" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Ao clicar" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "No seu outro dispositivo, faça login em {signInAddress} e insira este código quando solicitado." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Abrir {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Abrir {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Abrir seletor de contas" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Abrir configurações avançadas de mídia" @@ -24788,7 +24788,7 @@ msgstr "Abrir opções do banner" msgid "Open bookmarks" msgstr "Abrir mensagens salvas" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Abrir navegador" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Abrir seletor de data" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Abrir downloads para computador" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Abrir configurações" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Abrir central de software" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Abrir Ajustes do Sistema" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Abra Ajustes do Sistema → Privacidade e Segurança → Gravação de Tela e, em seguida, permita o {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Abrir JSON do modelo" @@ -25089,7 +25089,7 @@ msgstr "Abrir JSON do modelo" msgid "Open the context menu" msgstr "Abrir o menu de contexto" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Abra o link abaixo no seu navegador, depois copie a resposta JSON inteira e cole na caixa." @@ -25167,11 +25167,11 @@ msgstr "Abrir configurações de voz e vídeo" msgid "Open with {accountName} on {instanceName}" msgstr "Abrir com {accountName} em {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Abra seu navegador, faça login e insira o código abaixo para vincular sua conta." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Abra seu app antigo do {PRODUCT_NAME} e escolha \"Vincular um novo dispositivo\", depois insira o código abaixo." @@ -25199,7 +25199,7 @@ msgstr "Abre a página de Membros. Pressione Espaço ou Enter para abrir." #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Sistema operacional" @@ -25629,7 +25629,7 @@ msgstr "Últimos 7 dias" msgid "Paste" msgstr "Colar" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Cole a URL de um modelo do {theOtherPlatform} para importar sua estrutura para uma nova comunidade." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Permissões para {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Dicionário pessoal" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Escolha pelo menos uma tag para esta postagem." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Escolha um ou mais dicionários. Palavras de qualquer dicionário selecionado são aceitas, o que é útil para conversas multilíngues." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "O preço ainda está carregando." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Compras indisponíveis" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Tecla para apertar e falar" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Apertar para falar" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Apertar para falar (limitado)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "\"Apertar para falar\" ainda não tem uma tecla global. Para definir uma, vá em Configurações > Aplicativos > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "\"Apertar para falar\" ainda não tem uma tecla global. Para definir uma, vá em Configurações do sistema > Teclado > Atalhos > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "\"Apertar para falar\" ainda não tem uma tecla global. Para definir uma, abra as configurações de atalhos de teclado do seu ambiente gráfico." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "\"Apertar para falar\" é ignorado no modo Entrada direta. Mude para Voz focada ou Personalizado para usar o recurso." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "\"Apertar para falar\" está ativado. Mantenha sua tecla de \"Apertar para falar\" pressionada para falar." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "\"Apertar para falar\" só funciona enquanto o {productName} estiver em foco porque seu ambiente gráfico não configurou os atalhos globais." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "O \"push-to-talk\" só funciona enquanto o {productName} estiver em foco até que o {permissionName} seja ativado." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "\"Apertar para falar\" só funciona enquanto o {productName} estiver em foco até você configurar os atalhos globais." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "O \"Apertar para falar\" só funciona enquanto a aba do navegador estiver em foco." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "\"Apertar para falar\" usará a tecla definida no {productName}. Defina uma primeiro ou seu microfone usará a atividade de voz." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "\"Apertar para falar\" não ativará seu microfone enquanto o áudio estiver desativado. Reative o áudio para falar." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "\"Apertar para falar\" só funciona fora do {productName} depois que você definir a tecla na configuração do Hyprland." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "\"Apertar para falar\" só funciona fora do {productName} depois que você definir a tecla na configuração do Hyprland. Adicione a linha da sua versão do Hyprland e substitua KEY pela tecla desejada." @@ -27533,12 +27533,12 @@ msgstr "Os destinatários serão direcionados para {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Recomendado" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Recomendado. Melhora o áudio do microfone para uma fala mais nítida." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Reconexão bem-sucedida. Escolha uma tela novamente se quiser retomar sua transmissão anterior." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Reconectando ao seu ambiente gráfico…" @@ -27836,7 +27836,7 @@ msgstr "Reiniciar para aplicar" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Atraso após soltar a tecla" @@ -27853,7 +27853,7 @@ msgstr "Relevante" msgid "Reload" msgstr "Recarregar" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Recarregue o {PRODUCT_NAME} para aplicar a mudança de mecanismo. Alternar entre o corretor ortográfico do aplicativo e o do sistema exige recarregar o renderizador, pois o Electron não consegue trocar de provedor durante a execução." @@ -27872,7 +27872,7 @@ msgstr "Recarregue o {productName} para usar a atualização da versão {version msgid "Reload app" msgstr "Recarregar app" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Recarregar agora" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Remover" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Remover \"{word}\" do dicionário" @@ -28086,8 +28086,8 @@ msgstr "Remover dos GIFs favoritos salvos por URL" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Remover ícone" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Linhas por página" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "Pacote RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Segurança" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Mesmo fuso horário que o seu" @@ -29770,7 +29770,7 @@ msgstr "Gravação de tela" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Permissão para gravar a tela é necessária" @@ -29858,7 +29858,7 @@ msgstr "Privacidade do compartilhamento de tela" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Qualidade do compartilhamento de tela" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Pesquisar código de idioma…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Pesquisar idiomas…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Selecionar GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Selecionar idioma da interface" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Selecione a conta com a qual você deseja entrar no seu novo dispositivo." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Selecionar modo de processamento de voz" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Envia o áudio bruto do microfone sem processamento." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Envia seu áudio sem alterações. Ideal se você estiver usando um software de áudio externo." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Definiu uma posição na lista de membros para o cargo" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Definido pelo preset {preset}. Escolher um valor aqui muda para Personalizado." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Definiu a região de voz como automática" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Configurar" @@ -31307,7 +31307,7 @@ msgstr "Compartilhar com um amigo" msgid "Share your screen" msgstr "Compartilhar tela" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Compartilhe sua tela em alta definição (1080p), Quad HD (1440p) ou resolução nativa, em até 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Códigos curtos" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Atalho" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Indicadores de atalhos" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Mostrar botão de favorito" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Mostrar favoritos em todo o aplicativo" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Entrar com seu navegador" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Entrar com seu app antigo do {productName}" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Sair?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Login cancelado" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Detalhes de login" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Fluxo de login" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Entrando como {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Fazendo login em outro dispositivo?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Sons" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Velocidade" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Verificação ortográfica" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Mecanismo de verificação ortográfica" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Animação de estrela" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Canais favoritos" @@ -33140,7 +33140,7 @@ msgstr "Iniciar uma chamada de voz?" msgid "Start call" msgstr "Iniciar chamada" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Iniciar teste da câmera e configurar efeitos" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Iniciar minimizado" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Inicialização" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Neko parado" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Ainda indexando — volte em um instante" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Neko parado" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Ainda aguardando acesso à gravação de tela" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Parar teste do microfone" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Impede que o Neko persiga seu cursor, mantendo-o arrastável e interativo." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Assinatura já existe" @@ -33957,7 +33957,7 @@ msgstr "Mudar para o layout confortável" msgid "Switch to dense layout" msgstr "Mudar para layout compacto" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Mudar para entrada direta" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "Conversas com o sistema não permitem chamadas de voz." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Formato de hora do sistema: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Bandeja do sistema" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Instalação gerenciada pelo sistema" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Atalhos do sistema" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Não foi possível configurar os atalhos globais." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Toque para adicionar uma nota" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "Arquivo tar.gz" @@ -34360,7 +34360,7 @@ msgstr "Notificação na barra de tarefas" msgid "Teleporting you to another voice region..." msgstr "Transferindo você para outra região de voz..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Modelo" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "O app {PRODUCT_NAME} no seu outro dispositivo mostra isso em \"Fazendo login em outro dispositivo\". Insira um código apenas de um dispositivo que você controla." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "O app {PRODUCT_NAME} não foi conectado. Você pode fechar esta aba." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "A comunidade que você procura pode ter sido excluída ou você não tem acesso a ela." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Não foi possível baixar a atualização para computador. Tente novamente no botão de atualização quando sua conexão estiver estável." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "O arquivo baixado é salvo no seu computador. Instale-o com seu gerenciador de pacotes normal." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Esta categoria já contém o número máximo de {maxChannelsPerCategory} canais." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Esta categoria está marcada para conteúdo adulto e pode conter material impróprio para alguns usuários." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Este canal tem um aviso de conteúdo. Atualizações só podem ir para canais com aviso de conteúdo ou restrição de idade." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Este canal está marcado para conteúdo adulto e pode conter material impróprio para alguns usuários." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Esta comunidade está cheia" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Esta comunidade está marcada para conteúdo adulto e pode conter material impróprio para alguns usuários." @@ -35324,14 +35324,14 @@ msgstr "Esta comunidade não está mais disponível" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Esta conexão foi verificada." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Esta conexão não foi verificada." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Esta conversa não está mais disponível." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Esta versão para computador não pode instalar atualizações dentro do {productName}. Baixe o instalador mais recente em vez disso." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Este ambiente gráfico não oferece atalhos globais. \"Apertar para falar\" só funciona enquanto o {productName} estiver em foco." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Este ambiente gráfico não oferece atalhos globais. Os atalhos continuam funcionando enquanto o {productName} estiver em foco." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Esta versão de desenvolvimento não pode se atualizar. Baixe um instalador para computador para testar o fluxo de atualização." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Esta imagem não pôde ser lida. Ela pode estar danificada." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Esta instalação é gerenciada pelo seu sistema. Atualize o {productName} a partir da sua central de softwares ou gerenciador de pacotes." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Esta instância já usa nomes de usuário para fazer login. Isso não pode mais ser alterado." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Esta instância permite compartilhamento de tela de até 720p a 30 FPS no momento." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Este link não é válido. Abra o link do seu e-mail novamente." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Esta categoria com conteúdo adulto não está disponível para sua conta." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Esta categoria com conteúdo adulto não está disponível para sua conta. <0>Saiba mais" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Este canal com conteúdo adulto não está disponível para sua conta." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Este canal com conteúdo adulto não está disponível para sua conta. <0>Saiba mais" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Esta comunidade com conteúdo adulto não está disponível para sua conta." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Esta comunidade com conteúdo adulto não está disponível para sua conta. <0>Saiba mais" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Esta mídia com conteúdo adulto não está disponível para sua conta." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Esta mídia com conteúdo adulto não está disponível para sua conta. <0>Saiba mais" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Este plano não está disponível. Entre em contato com o suporte." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Este plano não está disponível. Entre em contato com os administradores desta instância." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Esta compra não é elegível para reembolso." @@ -35837,7 +35853,7 @@ msgstr "Esta thread está bloqueada. Apenas moderadores podem enviar mensagens." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Este usuário limitou o perfil dele. Alguns detalhes estão ocultos para quem não é amigo." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Este usuário não tem cargos nesta comunidade." @@ -36050,14 +36066,14 @@ msgstr "Hora" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Formato da hora" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Seleção do formato da hora" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Plataforma da barra de título" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Para alterar as teclas, vá em Configurações > Aplicativos > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Para alterar as teclas, vá em Configurações do sistema > Teclado > Atalhos > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Para alterar as teclas, abra as configurações de atalhos de teclado do seu ambiente gráfico." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Barra de ferramentas" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Atalhos nas dicas de ferramentas" @@ -36864,7 +36880,7 @@ msgstr "24 horas" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Dois cliques" @@ -37263,7 +37279,7 @@ msgstr "Alternativa universal. Qualidade mais baixa, mas funciona em qualquer lu #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Desconhecido" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Desbloqueie emojis personalizados em mensagens diretas com o {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Desbloqueie o compartilhamento de tela HD com {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Até 720p a 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Atualize o {productName} para usar atalhos globais no Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Atualizar meu status" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Atualizar agora" @@ -38008,8 +38024,8 @@ msgstr "Envie arquivos e mídias neste canal." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Enviar ícone" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Usar {name} em {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Usar {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Usar {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Usar outro método" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Usar rolagem automática" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Usar cartão" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Usar padrão" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Usar acesso direto ao dispositivo de entrada" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Usar figurinhas de outras comunidades." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Usar o formato de hora do sistema" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Usar a moldura da janela do sistema operacional" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Usar o corretor ortográfico integrado ao sistema operacional." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Usar atividade de voz" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Use o corretor ortográfico do seu sistema operacional, se disponível. Caso contrário, use os dicionários integrados do {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Verifique seu e-mail primeiro" @@ -39244,7 +39260,7 @@ msgstr "Ver detalhes" msgid "View devices that are signed in to your account" msgstr "Ver dispositivos conectados à sua conta" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Ver perfil completo" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Canal de voz" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Confirmação de canal de voz" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Canal de voz cheio" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Comportamento ao entrar no canal de voz" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Participantes da chamada de voz" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Processamento de voz" @@ -39661,7 +39677,7 @@ msgstr "Áudio reativado" msgid "Voice unmute" msgstr "Microfone reativado" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Neste navegador, as chamadas de voz usam o dispositivo de saída do sistema. Altere-o nas configurações do sistema." @@ -39675,7 +39691,7 @@ msgstr "Anulado" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Intervalo entre mensagens. Membros com a permissão \"{bypassSlowmodePer msgid "Waiting for connection..." msgstr "Aguardando conexão..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Aguardando a chave de acesso…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Esperando você..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Aguardando seu ambiente gráfico…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Não conseguimos ler este tema. Ele pode estar corrompido ou ser inválido." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Redimensionamos e compactamos esta figurinha para 320x320 pixels, mas el msgid "We sent a code to {email}." msgstr "Enviamos um código para {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Vamos preencher automaticamente {prefillEmail} assim que o login no navegador abrir." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Pré-visualizações de sites" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Boas-vindas de volta" @@ -40321,7 +40337,7 @@ msgstr "Quais comunidades" msgid "Which conversations" msgstr "Quais conversas" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Enquanto apertar para falar estiver ativado, seu atalho controlará o microfone, por isso o botão de silenciar ficará desativado." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Você acabou de pressionar Tab. O modo de teclado está ativado para que você possa navegar no {productName} sem um mouse." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Você mantém seus benefícios até a próxima data de renovação. Reative sua assinatura antes disso para manter seu histórico de assinante." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Você perde todos os benefícios do {PREMIUM_PRODUCT_NAME} imediatamente e seu histórico de assinante é redefinido. Isso não pode ser desfeito." @@ -41137,8 +41153,8 @@ msgstr "Você precisa da permissão \"{permissionLabel}\" para usar emojis de ou msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Você precisa da permissão \"{permissionLabel}\" para usar figurinhas de outras comunidades aqui." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Você precisa reivindicar sua conta antes de criar uma comunidade." @@ -41155,8 +41171,8 @@ msgstr "Você precisa reivindicar sua conta para enviar mensagens diretas." msgid "You need to claim your account to send messages in this community." msgstr "Você precisa reivindicar sua conta para enviar mensagens nesta comunidade." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Você precisa verificar seu endereço de e-mail antes de criar uma comunidade." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Você precisa verificar seu e-mail antes de comprar {premiumProductFullName}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Você aparecerá offline" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Você será cobrado agora. Seu tempo de presente restante será adicionado após o período pago, para que nada seja perdido." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Você já é assinante Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Você está enviando denúncias rápido demais. Tente novamente mais tarde." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Você está conectado" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Sua conta é muito nova para enviar mensagens nesta comunidade." msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Sua solicitação de conta está aguardando aprovação. Você poderá entrar depois que um administrador aprová-la." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Sua conta exige autenticação multifator, mas nenhum método compatível está configurado neste dispositivo. Faça login em um dispositivo com seu aplicativo autenticador ou chave de segurança, ou entre em contato com o suporte." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Sua conta exige autenticação multifator, mas nenhum método compatível está configurado neste dispositivo. Faça login em um dispositivo com seu aplicativo autenticador ou chave de segurança, ou entre em contato com os administradores desta instância." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Suas contas e configurações não foram alteradas nem excluídas." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Não foi possível concluir sua ação porque ela foi sinalizada pelos nossos sistemas de segurança. Se você acredita que isso é um engano, entre em contato com o suporte." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Não foi possível concluir sua ação porque ela foi sinalizada pelos nossos sistemas de segurança. Se você acredita que isso é um engano, entre em contato com os administradores desta instância." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Seu kit atual para de funcionar assim que o novo for criado." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Seu ambiente gráfico não configurou os atalhos globais." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Seu ambiente gráfico reserva estas teclas para o {productName}, então outros apps não podem usá-las." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Seu ambiente gráfico reserva estas teclas para o {productName}, então outros apps não podem usá-las. Para usar a mesma tecla em outros apps, ative o acesso direto ao dispositivo de entrada abaixo." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Seu ambiente gráfico executa estes atalhos mesmo quando o {productName} não está em foco." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Seu tempo de presente acabou. Assine para manter o {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Seu tempo de presente será mantido" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Seu período de carência terminou." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Sua instalação está corrompida e você precisa reinstalar o app para que todas as funcionalidades funcionem." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Sua última compra está fora do período de reembolso. Entre em contato com o suporte para problemas de cobrança." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Sua mensagem não pôde ser entregue porque foi sinalizada pelos nossos sistemas de segurança. Se você acredita que isso é um engano, entre em contato com o suporte." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Sua mensagem não pôde ser entregue porque foi sinalizada pelos nossos sistemas de segurança. Se você acredita que isso é um engano, entre em contato com os administradores desta instância." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Sua mensagem não pôde ser entregue. Isso geralmente acontece porque você não compartilha uma comunidade com o destinatário ou porque o destinatário está aceitando mensagens diretas apenas de amigos. Você também pode precisar ajustar suas próprias configurações de privacidade de mensagens diretas em {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Sua mensagem não pôde ser entregue. Você precisa reivindicar sua conta para enviar mensagens diretas." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Sua mensagem não pôde ser entregue. Você precisa reivindicar sua conta para enviar mensagens." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Sua denúncia não foi enviada. Tente novamente." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Seu {savedResolution} salvo a {savedFrameRate} FPS precisa de {premiumProductName}, então o compartilhamento usa {resolution} a {frameRate} FPS." diff --git a/fluxer_app/src/features/i18n/locales/ro/messages.po b/fluxer_app/src/features/i18n/locales/ro/messages.po index 143f07855..7fece637f 100644 --- a/fluxer_app/src/features/i18n/locales/ro/messages.po +++ b/fluxer_app/src/features/i18n/locales/ro/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} rulează o versiune mai nouă de Fluxer decât această aplicație. Actualizează Fluxer, apoi încearcă din nou." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "cu {duration} înaintea ta" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "cu {duration} în urma ta" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# oră în urmă} few {# ore în urmă} other {# de #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# oră} few {# ore} other {# de ore}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# oră} few {# ore} other {# de ore}} {minutes, plural, one {# minut} few {# minute} other {# de minute}}" @@ -1602,7 +1602,7 @@ msgstr "Fișierul {label} este prea mare. Alege un fișier mai mic de {maxSizeLa msgid "{label} images cannot be animated. Use a static image." msgstr "Imaginile {label} nu pot fi animate. Folosește o imagine statică." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Steag: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# minut în urmă} few {# minute în urmă} other #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minut} few {# minute} other {# de minute}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} a găsit un nou dispozitiv de ieșire audio numit <0>{dev msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} trebuie să repornească înainte ca setările native de derulare ale Chromium să schimbe modul în care funcționează derularea." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} trebuie să repornească pentru ca accelerarea hardware să aibă efect." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} trebuie să repornească pentru ca modificarea barei de titlu să aibă efect." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} trebuie să repornească pentru a dezactiva accelerarea hardware a Chromium. Folosește această opțiune doar dacă depanezi erori grafice sau o utilizare ridicată a GPU-ului." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Vânător de buguri {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} poate cere mediului desktop să-i ruleze comenzile rapide cât timp {productName} nu este în prim-plan. Mediul desktop îți va cere confirmarea și te va lăsa să alegi tastele." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} nu îți mai poate citi tastatura, așa că ascultă comenzile rapide prin X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} nu îți mai poate citi tastatura, așa că sunt folosite comenzile rapide ale mediului desktop." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} nu îți mai poate citi tastatura. Comenzile rapide funcționează doar cât timp {productName} este în prim-plan." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} își poate înregistra comenzile rapide în Hyprland, ca să funcționeze cât timp {productName} nu este în prim-plan. Apoi atribui tastele în configurația Hyprland." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} nu poate utiliza un codificator hardware pentru aceasta, așa că va folosi procesorul." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} se va închide, va instala actualizarea și se va redeschide." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} nu a putut accesa serviciul de actualizare. Verifică conexiunea și încearcă din nou." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} s-a mutat pe {host}. Deschide-l în browser pentru a instala noua aplicație." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Membru {productName} din" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} are nevoie de acces la microfonul tău. Permite accesul la microfon în setările de confidențialitate ale sistemului de operare și repornește aplicația." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} are nevoie de acces la cameră pentru a-ți afișa dispozitivele." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} are nevoie de acces la microfon pentru a-ți afișa dispozitivele." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "Kit de recuperare {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} și-a înregistrat comenzile rapide în Hyprland. Atribuie-le taste în configurația Hyprland ca să le folosești cât timp {productName} nu este în prim-plan." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 luni (1 an)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12 ore" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 de ore" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24 ore" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "un nume de gazdă, de ex. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Este disponibilă o actualizare desktop pentru Linux. Alege formatul de pachet pentru acest sistem, iar {productName} îl va salva local." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "un minut" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Este disponibilă o nouă versiune pentru desktop. Descarcă programul de instalare și rulează-l pentru a actualiza {productName}." @@ -2817,7 +2817,7 @@ msgstr "Despre {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Despre mine" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Partajarea activității" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Prag de activitate" @@ -3155,7 +3155,7 @@ msgstr "Dimensiune reală" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Adaugă" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Mai întâi, adaugă un nume de utilizator și o parolă contului tău." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Adaugă un cuvânt…" @@ -3244,7 +3244,7 @@ msgstr "Adaugă o cheie API YouTube Data pentru a îmbogăți linkurile YouTube. #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Adaugă cont" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Adresă" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Ajustează manual fiecare setare: suprimarea zgomotului, anularea ecoului și amplificarea." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Avansat" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Setări video avansate" @@ -3906,22 +3906,22 @@ msgstr "Permite" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Permite {everyoneMention} și {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Permiteți accesul {PRODUCT_NAME} la camera dvs. în Setări sistem → Confidențialitate și securitate → Cameră." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Permiteți {PRODUCT_NAME} să vă acceseze microfonul în Setări sistem → Confidențialitate și securitate → Microfon." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Permite aplicației {PRODUCT_NAME} să îți acceseze microfonul. Verifică bara de adrese sau setările browserului." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Permite {productName} la Înregistrare ecran în Setări sistem. Dacă este deja permis, repornește {productName2} pentru ca macOS să aplice modificarea." @@ -3961,7 +3961,7 @@ msgstr "Permite mesaje directe de la boți" msgid "Allow bots to send you direct messages?" msgstr "Permiți boților să-ți trimită mesaje directe?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Permite accesul la cameră" @@ -4029,7 +4029,7 @@ msgstr "Permite membrilor fără permisiunea {readMessageHistoryPermissionLabel} msgid "Allow mentions for this role" msgstr "Permite menționări pentru acest rol" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Permite accesul la microfon" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Subliniază mereu linkurile" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Folosește întotdeauna dicționarele Hunspell ale {productName}, descărcate la cerere." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Insignă pe pictograma aplicației" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Formatul orei pentru limba aplicației: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Aprobare necesară" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Aprobă această aplicație din aplicația {productName} pe care o folosești deja. Nu este necesară parola." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Autorizat pe {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Automat" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Detectare automată a limbii" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Setează automat pragul de activitate" @@ -5534,7 +5534,7 @@ msgstr "AV1 (necesită activare)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Disponibil" @@ -5608,11 +5608,11 @@ msgstr "Plecat acum" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Cea mai bună compresie. Folosește-o doar când WebRTC expune un codificator și raportul GPU indică faptul că este susținut hardware." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Funcționează cel mai bine cu aplicația desktop" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Browser: pagina de pornire" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Formatul orei din browser: {format}" @@ -6545,8 +6545,8 @@ msgstr "Cumpără un cadou {premiumProductName} din fila {premiumProductName} pe msgid "Buy gift" msgstr "Cumpără cadou" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Prin crearea unei comunități, ești de acord să respecți și să susții <0>regulile comunității {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Apeluri" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Previzualizare cameră" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Calitatea camerei" @@ -6809,8 +6809,8 @@ msgstr "Nu se pot încărca fișiere aici" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Anulează schimbarea programată" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Anulează abonamentul" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Anulezi abonamentul?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Categorie" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Avertisment conținut categorie" @@ -7131,15 +7131,15 @@ msgstr "Schimbă pseudonimul în grup" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Schimbă pictograma" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Modifică în setările sistemului" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Insigne de canal" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Avertisment conținut canal" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Comenzi rapide pentru chat" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Verifică din nou" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Se verifică accesul..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Se verifică permisiunea de înregistrare a ecranului..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Finalizarea comenzii nu este disponibilă" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Alege cum vrei să plătești acest abonament." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Alege metoda de plată" @@ -8174,7 +8174,7 @@ msgstr "Alege-ți setările implicite" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Alege instanța ta" @@ -8216,8 +8216,8 @@ msgstr "Revendică cadoul" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Revendică-ți contul" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Insigne comunitare" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Avertisment conținut comunitate" @@ -9089,8 +9089,8 @@ msgstr "DM comunitate" msgid "Community filter" msgstr "Filtru de comunități" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Pictogramă comunitate" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Comunitate actualizată" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Voce în comunitate" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Finalizează plata" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Finalizează verificarea conținutului matur pentru a debloca conținutul matur." @@ -9409,7 +9409,7 @@ msgstr "Confirmă" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Confirmă înainte de a te alătura canalelor vocale" @@ -9457,7 +9457,7 @@ msgstr "Confirmă declarația pentru a trimite raportul." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Confirmare intrare în canalul vocal" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Confirmare" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Confirmare sau dublu clic pentru a intra în canalele vocale ale comunităților" @@ -9476,7 +9476,7 @@ msgstr "Confirmare sau dublu clic pentru a intra în canalele vocale ale comunit msgid "Conflicts with {conflictLabel}" msgstr "Intră în conflict cu {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Conectează o cameră și încearcă din nou." @@ -9489,7 +9489,7 @@ msgstr "Conectează o cameră sau un dispozitiv de captură virtual, apoi încea msgid "Connect a display, then try again." msgstr "Conectează un ecran, apoi încearcă din nou." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Conectează un microfon și încearcă din nou." @@ -9633,7 +9633,7 @@ msgstr "Conexiune: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Contact" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Conținut blocat" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Continuă în browserul tău" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Continuă la finalizarea comenzii" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Continuă cu cheia de acces" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Copiază URL-ul invitației" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Copiază liniile" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Copiază liniile pentru hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Copiază liniile pentru hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Nu s-a putut schimba prețul" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Nu s-a putut verifica dacă există actualizări" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Nu s-au putut șterge mesajele tale" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Nu s-a putut descărca actualizarea pentru desktop" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Nu s-a putut iniția plata" @@ -10932,7 +10932,7 @@ msgstr "Creează și distribuie" msgid "Create a community" msgstr "Creează o comunitate" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Creează o comunitate pentru tine și prietenii tăi, unde puteți discuta." @@ -11365,7 +11365,7 @@ msgstr "Personalizat" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Sunet dezactivat de moderatori" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "Pachet DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Aplicația desktop" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Aplicația desktop este actualizată" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Actualizare desktop {version} disponibilă. Alege un pachet Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Actualizare desktop disponibilă" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Actualizare desktop disponibilă. Alege un pachet Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Este disponibilă versiunea pentru desktop {version}. Descarcă programul de instalare și rulează-l pentru a actualiza {productName}." @@ -12613,7 +12613,7 @@ msgstr "Detalii: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Detectare în timpul tastării" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Instrumente pentru dezvoltatori indisponibile" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Versiune de dezvoltare" @@ -13455,8 +13455,8 @@ msgstr "Descarcă" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Descarcă {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification și plasează-l în folderul tău <1>.well-known pentru a putea valida domeniul." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Descarcă aplicația" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Descarcă aplicația" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Buton de descărcare" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Descarcă aplicația pentru desktop" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Descarcă imaginea" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Descarcă programul de instalare" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Descarcă media" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Descarcă pachetul" @@ -13655,11 +13655,11 @@ msgstr "Plasează elementul" msgid "Drop to upload background" msgstr "Trage aici pentru a încărca imaginea de fundal" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Din cauza legilor privind conținutul matur din {regionName}, conținutul matur este blocat până la finalizarea verificării conținutului matur." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Din cauza legilor privind conținutul matur din {regionName}, conținutul matur nu este disponibil de aici. Verificările de conținut matur sunt disponibile doar în Regatul Unit." @@ -13673,7 +13673,7 @@ msgstr "Din cauza legilor privind conținutul matur din {regionName}, acest con msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Din cauza legilor privind conținutul matur din {regionName}, acest conținut nu este disponibil de aici. Verificările de conținut matur sunt disponibile doar în Regatul Unit." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Din cauza legilor privind conținutul matur din {regionName}, acest fișier media nu este disponibil în regiunea ta actuală." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Fiecare cod funcționează o singură dată în locul aplicației tale de autentificare." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Fiecare tastă poate rula o singură comandă rapidă la nivel de sistem." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Activează" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Activează permisiunea {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Activează scurtătura" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Activează verificarea ortografică" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Încheie perioada de grație acum" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Încheie perioada de grație" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Închei perioada de grație acum?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Introdu codul PIN al cheii tale de securitate pentru a continua." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Introdu acest cod în browserul tău" @@ -14845,7 +14845,7 @@ msgstr "Introdu acest cod în browserul tău" msgid "Enter this code in your browser to complete sign-in." msgstr "Introdu acest cod în browser pentru a finaliza conectarea." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Introdu acest cod în aplicația ta veche {PRODUCT_NAME} pentru a finaliza autentificarea." @@ -14916,7 +14916,7 @@ msgstr "Sunetul întregului sistem" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Sunet de intrare" @@ -15026,7 +15026,7 @@ msgstr "Seara" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Nivelează volumul microfonului, ca să nu se audă prea încet." @@ -15249,7 +15249,7 @@ msgstr "Expiră între {earliest} și {latest}" msgid "Expires in {remaining}s" msgstr "Expiră în {remaining}s" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Expiră în {remainingSeconds}s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Adaugă canalul la favorite" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Canale favorite" @@ -16243,7 +16243,7 @@ msgstr "Timp de {threeHours} ore" msgid "For {twentyFourHours} hours" msgstr "Timp de {twentyFourHours} de ore" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Doar pentru ochii britanicilor..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Pentru mine" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Pentru Push-to-mute, folosește o singură tastă, fără Ctrl, Alt sau Shift. Dacă folosești o combinație, eliberează mai întâi tasta principală, altfel microfonul poate rămâne dezactivat." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Pentru Push-to-talk, folosește o singură tastă, fără Ctrl, Alt sau Shift. Dacă folosești o combinație, eliberează mai întâi tasta principală, altfel microfonul poate rămâne activat." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Pentru această comandă rapidă, folosește o singură tastă, fără Ctrl, Alt sau Shift. Dacă folosești o combinație, eliberează mai întâi tasta principală, altfel comanda rapidă poate rămâne activă." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Pentru prioritatea activității vocale, folosește o singură tastă, fără Ctrl, Alt sau Shift. Dacă folosești o combinație, eliberează mai întâi tasta principală, altfel prioritatea poate rămâne activă." @@ -16460,14 +16460,14 @@ msgstr "Ramă" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Rată de cadre" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Ratele de cadre de peste 30 FPS necesită {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Primești notificări când îți sosesc mesaje. S-ar putea să fie nevoie să permiți notificările în setările browserului. Pentru controlul pe canal sau pe comunitate, dă clic dreapta pe pictograma unei comunități și deschide setările de notificare." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Obține aplicația desktop {productName} pentru funcția push-to-talk la nivel de sistem și alte câteva avantaje." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Descarcă aplicația pentru desktop" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Revino la {productName} pentru a continua." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Înapoi la aplicația {PRODUCT_NAME}. Se finalizează autentificarea de la sine." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Înapoi la aplicația {PRODUCT_NAME}. Poți închide această filă." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Ajutor" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Buton Ajutor" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Centrul de ajutor" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Centrul de ajutor" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Ajută la traducerea {PRODUCT_NAME} în limba ta pe <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Ascunde chatul" msgid "Hide community owner crown" msgstr "Ascunde coroana proprietarului comunității" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Ascunde butonul de descărcare" @@ -17860,7 +17860,7 @@ msgstr "Ascunde favoritele" msgid "Hide guidelines" msgstr "Ascunde ghidurile" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Ascunde butonul centrului de ajutor" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Ascunde mesajele de alăturare" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Ascunde indicațiile de la tastatură" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Hiperlink" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland nu are o fereastră pentru comenzi rapide. Adaugă în configurația Hyprland liniile pentru versiunea ta de Hyprland și înlocuiește KEY cu tasta dorită." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland nu are o fereastră pentru comenzi rapide. Atribuie tastele în configurația Hyprland." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (înainte de Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 și versiuni ulterioare)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Confirm cu bună-credință că informațiile și afirmațiile din acest raport sunt exacte și complete." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Am înțeles" @@ -18598,11 +18598,11 @@ msgstr "Se importă… {processedCount, number} / {totalCount, number} procesate msgid "In" msgstr "În" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "În modul „Sistem de operare”, dicționarele enumerate mai sus sunt consultative. {PRODUCT_NAME} va transmite aceste etichete de limbă verificatorului ortografic al sistemului tău de operare, atunci când este acceptat. Etichetele pe care nu le recunoaște sunt ignorate." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "Într-un browser, push-to-talk funcționează doar când fila {PRODUCT_NAME} este activă. Instalează aplicația desktop pentru push-to-talk la nivel de sistem." @@ -18650,7 +18650,7 @@ msgstr "În chatul vocal" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Dicționare în aplicație" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Introducere" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Intrare și ieșire" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Inserează emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Instalează {productName} pentru selectorul complet de surse și controale mai fluide pentru partajarea ecranului." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Instalează aplicația nouă" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Instalat" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Versiune instalată: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Interfață" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Limba interfeței" @@ -19467,13 +19467,13 @@ msgstr "Alăturare" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Alătură-te {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Alătură-te {communityName} pentru a discuta cu echipa și a fi la curent cu noutățile." @@ -19561,7 +19561,7 @@ msgstr "Alătură-te apelului video" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Alătură-te conversației vocale" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Păstrează nivelurile gratuit și premium. Poți personaliza nivelurile, poți vinde premium prin Stripe sau poți oferi ulterior coduri cadou din panoul de administrare." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Păstrează perioada de grație" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Rulează în fundal" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Păstrează abonamentul" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Păstrează această pagină într-un loc sigur. Dacă uiți parola, o poți folosi pentru a-ți recupera accesul la cont. Oricine deține această cheie de recuperare îți poate reseta parola, așa că nu o împărtăși niciodată." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Continuă transmisia pentru scurt timp după eliberare." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Tastatură" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Accesul la tastatură nu a putut porni. Comenzile rapide funcționează doar cât timp {productName} este în prim-plan." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Mod tastatură" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Indicații pentru comenzile rapide de la tastatură în tooltip-uri" @@ -19923,7 +19923,7 @@ msgstr "Setări de limbă" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Limbi" @@ -19971,7 +19971,7 @@ msgstr "Grafic de latență" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "A permis membrului să îi audă din nou pe ceilalți în această comunitate" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Permite aplicației {productName} să-ți citească direct tastatura. Dezactivează această opțiune pentru a configura comenzile rapide prin mediul desktop." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Permite aplicației {productName} să-ți citească direct tastatura. Sistemul tău permite deja acest lucru." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Implicit Linux" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Pachet Linux" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Fișiere locale" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Ora locală" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Aspect și stil" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Se pare că folosești {0}. Suprapunerea procesării audio de la {PRODUCT_NAME} poate cauza distorsiuni sau efecte de pompare. Intrarea directă transmite sunetul netratat." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Numește proprietar al grupului" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Asigură-te că acest cod corespunde celui din aplicația {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Gestionează-ți abonamentul" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Actualizare manuală pentru desktop" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Volum principal" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Categorie pentru adulți" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Canal pentru adulți" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Comunitate pentru adulți" @@ -21194,7 +21194,7 @@ msgstr "Verificare conținut matur trimisă" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Verificările de conținut matur sunt disponibile momentan doar în Regatul Unit." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Rolurile membrilor au fost actualizate" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Membru din" @@ -22013,7 +22013,7 @@ msgstr "Microfon" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Test microfon" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Pisica Neko care îți urmărește cursorul" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Utilizatorii noi nu se pot alătura momentan. Poți crea în continuare un cont sau te poți conecta, apoi încearcă din nou acest link mai târziu." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Versiune nouă" @@ -23465,7 +23465,7 @@ msgstr "Niciun mesaj salvat" msgid "No bot banner" msgstr "Fără banner de bot" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Nu s-a găsit nicio cameră" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Fără descriere." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Nicio actualizare pentru desktop nu este disponibilă." @@ -23684,7 +23684,7 @@ msgstr "Niciun mesaj corespunzător" msgid "No mentions yet" msgstr "Încă nu există mențiuni" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Nu s-a găsit niciun microfon" @@ -23731,7 +23731,7 @@ msgstr "Nicio cerere în așteptare nu corespunde căutării" msgid "No permissions found" msgstr "Nu s-au găsit permisiuni" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Încă nu ai cuvinte personale." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Nepermis" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Neatribuit" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "La clic" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "Pe celălalt dispozitiv, conectează-te la {signInAddress} și introdu acest cod când ți se cere." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Deschide {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Deschide {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Deschide comutatorul de cont" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Deschide setările avansate pentru media" @@ -24788,7 +24788,7 @@ msgstr "Deschide opțiunile bannerului" msgid "Open bookmarks" msgstr "Deschide mesajele salvate" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Deschide browserul" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Deschide selectorul de dată" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Deschide descărcările pentru desktop" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Deschide setările" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Deschide centrul software" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Deschide Setări sistem" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Deschide Setări sistem → Confidențialitate și securitate → Înregistrare ecran, apoi permite {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Deschide șablonul JSON" @@ -25089,7 +25089,7 @@ msgstr "Deschide șablonul JSON" msgid "Open the context menu" msgstr "Deschide meniul contextual" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Deschide linkul de mai jos în browser, apoi copiază întregul răspuns JSON și lipește-l în căsuță." @@ -25167,11 +25167,11 @@ msgstr "Deschide setările de voce și video" msgid "Open with {accountName} on {instanceName}" msgstr "Deschide cu {accountName} pe {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Deschide browserul, conectează-te, apoi introdu codul de mai jos pentru a-ți asocia contul." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Deschide vechea ta aplicație {PRODUCT_NAME} și alege „Asociază un dispozitiv nou”, apoi introdu codul de mai jos." @@ -25199,7 +25199,7 @@ msgstr "Deschide pagina Membri. Apasă bara de spațiu sau Enter pentru a deschi #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Sistem de operare" @@ -25629,7 +25629,7 @@ msgstr "Ultimele 7 zile" msgid "Paste" msgstr "Lipește" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Lipește un URL de șablon {theOtherPlatform} pentru a-i importa structura într-o comunitate nouă." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Permisiuni pentru {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Dicționar personal" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Alege cel puțin o etichetă pentru acest mesaj." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Alege unul sau mai multe dicționare. Cuvintele din orice dicționar selectat sunt acceptate, ceea ce este util pentru conversațiile multilingve." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Prețurile încă se încarcă." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Achizițiile nu sunt disponibile" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Tastă push-to-talk" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Push-to-talk" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Push-to-talk (limitat)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Push-to-talk nu are încă o tastă la nivel de sistem. Pentru a seta una, accesează Setări > Aplicații > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Push-to-talk nu are încă o tastă la nivel de sistem. Pentru a seta una, accesează Setări sistem > Tastatură > Scurtături > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Push-to-talk nu are încă o tastă la nivel de sistem. Pentru a seta una, deschide setările pentru comenzile rapide de la tastatură ale mediului desktop." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Push-to-talk este ignorat în modul intrare directă. Comută pe voce focalizată sau pe profilul personalizat ca să îl poți folosi." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Push-to-talk este activat. Ține apăsată tasta push-to-talk ca să vorbești." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Push-to-talk funcționează doar cât timp {productName} este în prim-plan, deoarece mediul desktop nu a configurat comenzile rapide la nivel de sistem." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Push-to-talk funcționează doar cât timp {productName} este activ până când {permissionName} este activată." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Push-to-talk funcționează doar cât timp {productName} este în prim-plan, până când configurezi comenzile rapide la nivel de sistem." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Push-to-talk funcționează doar când fila browserului este activă." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Push-to-talk va folosi tasta setată în {productName}. Setează mai întâi una, altfel microfonul va folosi activitatea vocală." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Push-to-talk nu îți reactivează microfonul cât timp ai sunetul dezactivat. Anulează dezactivarea sunetului ca să poți vorbi." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Push-to-talk funcționează în afara aplicației {productName} doar după ce îi atribui o tastă în configurația Hyprland." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Push-to-talk funcționează în afara aplicației {productName} doar după ce îi atribui o tastă în configurația Hyprland. Adaugă linia pentru versiunea ta de Hyprland și înlocuiește KEY cu tasta dorită." @@ -27533,12 +27533,12 @@ msgstr "Destinatarii vor fi direcționați către {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Recomandat" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Recomandat. Îți curăță sunetul microfonului pentru o voce clară." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Reconectare reușită. Alege din nou un ecran dacă vrei să reiei transmisiunea anterioară." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Se reconectează la mediul desktop…" @@ -27836,7 +27836,7 @@ msgstr "Repornește pentru a aplica" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Întârziere la eliberare" @@ -27853,7 +27853,7 @@ msgstr "Relevante" msgid "Reload" msgstr "Reîncarcă" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Reîncarcă {PRODUCT_NAME} pentru a aplica complet schimbarea motorului. Trecerea între verificarea ortografică din aplicație și cea a sistemului necesită reîncărcarea componentei de redare, deoarece Electron nu poate schimba furnizorii în timp ce rulează." @@ -27872,7 +27872,7 @@ msgstr "Reîncarcă {productName} pentru a utiliza actualizarea web {version}" msgid "Reload app" msgstr "Reîncarcă aplicația" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Reîncarcă acum" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Elimină" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Elimină „{word}” din dicționar" @@ -28086,8 +28086,8 @@ msgstr "Elimină din favoritele GIF salvate doar prin URL" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Elimină pictograma" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Rânduri pe pagină" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "Pachet RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Siguranță" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Același fus orar ca al tău" @@ -29770,7 +29770,7 @@ msgstr "Înregistrare ecran" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Este necesară permisiunea de înregistrare a ecranului" @@ -29858,7 +29858,7 @@ msgstr "Confidențialitate partajare ecran" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Calitatea partajării ecranului" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Caută codul limbii…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Caută limbi…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Selectează GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Selectează limba interfeței" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Selectează contul cu care vrei să te conectezi pe noul tău dispozitiv." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Selectează modul de procesare a vocii" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Trimite sunetul brut al microfonului, fără procesare." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Trimite sunetul tău nemodificat. Cel mai bine dacă folosești software audio extern." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "A setat o poziție în lista de membri pentru rol" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Setat de presetarea {preset}. Alegerea unei valori aici comută la Personalizat." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "A setat regiunea vocală la automat" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Configurează" @@ -31307,7 +31307,7 @@ msgstr "Trimite unui prieten" msgid "Share your screen" msgstr "Partajează-ți ecranul" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Partajează-ți ecranul la rezoluție înaltă (1080p), Quad HD (1440p) sau rezoluția sursă nativă, la până la 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Coduri scurte" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Comandă rapidă" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Insigne pentru comenzi rapide" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Afișează butonul de favorite" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Afișează favoritele în toată aplicația" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Autentifică-te cu browserul tău" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Conectează-te cu vechea ta aplicație {productName}" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Deconectare?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Autentificare anulată" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Detalii de conectare" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Flux de conectare" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Autentificare ca {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Te conectezi pe alt dispozitiv?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Sunete" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Viteză" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Verificare ortografică" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Motor de verificare ortografică" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Animație stea" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Canale favorite" @@ -33140,7 +33140,7 @@ msgstr "Începi un apel vocal?" msgid "Start call" msgstr "Inițiază apelul" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Pornește testul camerei și configurează efectele" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Pornește minimizat" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Pornire" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Static Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Se indexează în continuare — revino în scurt timp" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Neko nemișcat" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Încă așteptăm accesul la înregistrarea ecranului" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Oprește testul microfonului" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Oprește-l pe Neko din urmărirea cursorului, dar îl poți trage în continuare și rămâne interactiv." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Abonamentul există deja" @@ -33957,7 +33957,7 @@ msgstr "Treci la aspectul confortabil" msgid "Switch to dense layout" msgstr "Treci la aspectul compact" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Treci la intrarea directă" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "DM-urile de sistem nu pot găzdui apeluri vocale." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Formatul orei din sistem: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Bară de sistem" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Instalare gestionată de sistem" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Comenzi rapide la nivel de sistem" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Nu s-au putut configura comenzile rapide la nivel de sistem." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Atinge pentru a adăuga o notă" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "Arhivă tar.gz" @@ -34360,7 +34360,7 @@ msgstr "Insignă în bara de activități" msgid "Teleporting you to another voice region..." msgstr "Te teleportăm în altă regiune vocală..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Șablon" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "Aplicația {PRODUCT_NAME} de pe celălalt dispozitiv o afișează la „Autentificare pe alt dispozitiv”. Introdu doar un cod de pe un dispozitiv pe care îl controlezi." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "Aplicația {PRODUCT_NAME} nu a fost autentificată. Poți închide această filă." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Comunitatea pe care o cauți ar fi putut fi ștearsă sau este posibil să nu ai acces la ea." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Actualizarea pentru desktop nu a putut fi descărcată. Încearcă din nou de la butonul de actualizare când conexiunea ta este stabilă." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Fișierul descărcat este salvat pe computerul tău. Instalează-l cu managerul tău de pachete obișnuit." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Această categorie conține deja numărul maxim de {maxChannelsPerCategory} canale." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Această categorie este marcată pentru conținut matur și poate conține materiale care ar putea fi nepotrivite pentru unii utilizatori." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Acest canal are un avertisment de conținut. Actualizările pot fi trimise doar către canale cu un avertisment de conținut sau o restricție de vârstă." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Acest canal este marcat pentru conținut matur și poate conține materiale care ar putea fi nepotrivite pentru unii utilizatori." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Această comunitate este plină" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Această comunitate este marcată pentru conținut matur și poate conține materiale care ar putea fi nepotrivite pentru unii utilizatori." @@ -35324,14 +35324,14 @@ msgstr "Această comunitate nu mai este disponibilă" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Această conexiune a fost verificată." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Această conexiune nu a fost verificată." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Această conversație nu mai este disponibilă." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Această versiune pentru desktop nu poate instala actualizări în cadrul aplicației {productName}. Descarcă cea mai recentă versiune a programului de instalare pentru desktop." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Acest mediu desktop nu oferă comenzi rapide la nivel de sistem. Push-to-talk funcționează doar cât timp {productName} este în prim-plan." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Acest mediu desktop nu oferă comenzi rapide la nivel de sistem. Comenzile rapide funcționează în continuare cât timp {productName} este în prim-plan." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Această versiune de dezvoltare nu se poate actualiza singură. Descarcă un program de instalare pentru desktop pentru a testa fluxul de actualizare." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Imaginea nu a putut fi citită. S-ar putea să fie coruptă." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Această instalare este gestionată de sistemul tău. Actualizează {productName} din centrul de software sau prin intermediul managerului de pachete." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Instanța aceasta folosește deja nume de utilizator pentru autentificare. Acest lucru nu se mai poate schimba." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Instanța curentă permite partajarea ecranului până la 720p la 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Acest link nu este valid. Deschide din nou linkul din email." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Această categorie pentru adulți nu este disponibilă pentru contul tău." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Această categorie pentru adulți nu este disponibilă pentru contul tău. <0>Află mai multe" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Acest canal pentru adulți nu este disponibil pentru contul tău." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Acest canal pentru adulți nu este disponibil pentru contul tău. <0>Află mai multe" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Această comunitate pentru adulți nu este disponibilă pentru contul tău." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Această comunitate pentru adulți nu este disponibilă pentru contul tău. <0>Află mai multe" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Acest conținut media pentru adulți nu este disponibil pentru contul tău." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Acest conținut media pentru adulți nu este disponibil pentru contul tău. <0>Află mai multe" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Acest plan nu este disponibil. Contactează asistența." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Acest plan nu este disponibil. Contactează administratorii acestei instanțe." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Această achiziție nu este eligibilă pentru o rambursare." @@ -35837,7 +35853,7 @@ msgstr "Acest fir de discuție este blocat. Doar moderatorii pot trimite mesaje. msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Acest utilizator și-a limitat profilul. Unele detalii sunt ascunse celor care nu îi sunt prieteni." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Acest utilizator nu are roluri în această comunitate." @@ -36050,14 +36066,14 @@ msgstr "Ora" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Format oră" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Selectare format oră" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Platformă bară de titlu" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Pentru a schimba tastele, accesează Setări > Aplicații > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Pentru a schimba tastele, accesează Setări sistem > Tastatură > Scurtături > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Pentru a schimba tastele, deschide setările pentru comenzile rapide de la tastatură ale mediului desktop." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Bară de instrumente" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Scurtături în tooltip-uri" @@ -36864,7 +36880,7 @@ msgstr "Douăzeci și patru de ore" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Două clicuri" @@ -37263,7 +37279,7 @@ msgstr "Soluție universală. Cea mai slabă calitate, dar funcționează peste #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Necunoscut" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Deblochează emoji-urile personalizate în DM-uri cu {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Deblochează partajarea ecranului HD cu {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Până la 720p la 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Actualizează {productName} ca să folosești comenzi rapide la nivel de sistem pe Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Actualizează-mi starea" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Actualizează acum" @@ -38008,8 +38024,8 @@ msgstr "Încarcă fișiere și media în acest canal." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Încarcă pictogramă" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Folosește {name} pe {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Folosește {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Folosește {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Folosește o metodă alternativă" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Folosește derularea automată" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Folosește cardul" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Folosește valoarea implicită" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Folosește accesul direct la dispozitivele de intrare" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Folosește stickere din alte comunități." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Folosește setările regionale ale sistemului pentru formatul orei" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Folosește chenarul ferestrei sistemului de operare" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Folosește verificatorul ortografic încorporat în sistemul de operare." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Folosește activitatea vocală" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Folosește verificatorul ortografic al sistemului tău de operare, dacă este disponibil. Altfel, folosește dicționarele din aplicație ale {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Verifică-ți mai întâi adresa de e-mail" @@ -39244,7 +39260,7 @@ msgstr "Vezi detalii" msgid "View devices that are signed in to your account" msgstr "Vezi dispozitivele conectate la contul tău" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Vezi profilul complet" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Canal vocal" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Confirmare canal vocal" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Canal vocal plin" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Comportamentul la intrarea în canalul vocal" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Participanți la apelul vocal" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Procesarea vocii" @@ -39661,7 +39677,7 @@ msgstr "Activare sunet" msgid "Voice unmute" msgstr "Activare microfon" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "În acest browser, apelurile vocale folosesc dispozitivul de ieșire al sistemului. Schimbă-l din setările sistemului." @@ -39675,7 +39691,7 @@ msgstr "Anulată" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Așteaptă între mesaje. Membrii cu permisiunea „{bypassSlowmodePermi msgid "Waiting for connection..." msgstr "Se așteaptă conexiunea..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Se așteaptă cheia de acces…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Te așteaptă să..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Se așteaptă mediul desktop…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Nu am putut citi această temă. Poate fi coruptă sau nevalidă." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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ă." @@ -39914,7 +39930,7 @@ msgstr "Am redimensionat și am comprimat acest sticker la 320x320 pixeli, dar a msgid "We sent a code to {email}." msgstr "Am trimis un cod la {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Vom precompleta {prefillEmail} odată ce se deschide autentificarea în browser." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Previzualizări site-uri web" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Bine ai revenit" @@ -40321,7 +40337,7 @@ msgstr "Ce comunități" msgid "Which conversations" msgstr "Ce conversații" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Cât timp push-to-talk este activat, microfonul este controlat de scurtătură, așa că butonul de dezactivare a microfonului nu este disponibil." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Tocmai ai apăsat Tab. Modul tastatură este acum activ, ca să poți naviga în {productName} fără mouse." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Îți păstrezi beneficiile până la următoarea dată de reînnoire. Reactivează abonamentul înainte de această dată pentru a-ți păstra istoricul de abonat." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Pierzi imediat toate beneficiile {PREMIUM_PRODUCT_NAME}, iar istoricul tău de abonat se resetează. Această acțiune nu poate fi anulată." @@ -41137,8 +41153,8 @@ msgstr "Ai nevoie de permisiunea „{permissionLabel}” pentru a folosi emoji d msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Ai nevoie de permisiunea „{permissionLabel}” pentru a folosi stickere din alte comunități aici." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Trebuie să-ți revendici contul înainte de a putea crea o comunitate." @@ -41155,8 +41171,8 @@ msgstr "Trebuie să-ți revendici contul pentru a trimite mesaje directe." msgid "You need to claim your account to send messages in this community." msgstr "Trebuie să-ți revendici contul pentru a trimite mesaje în această comunitate." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Trebuie să-ți verifici adresa de e-mail înainte de a putea crea o comunitate." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 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}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Vei apărea offline" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Vei fi taxat acum. Timpul tău cadou rămas se adaugă după perioada plătită, astfel încât nimic din el să nu se piardă." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Ești deja Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Trimiți rapoarte prea repede. Încearcă din nou mai târziu." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Te-ai autentificat" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Contul tău este prea nou pentru a trimite mesaje în această comunitat msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Solicitarea ta de cont așteaptă aprobare. Te poți conecta după ce un administrator o aprobă." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Contul tău necesită autentificare multi-factor, dar nu sunt configurate metode acceptate pe acest dispozitiv. Conectează-te pe un dispozitiv cu aplicația de autentificare sau cu cheia de securitate, sau contactează asistența." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Contul tău necesită autentificare multi-factor, dar nu sunt configurate metode acceptate pe acest dispozitiv. Conectează-te pe un dispozitiv cu aplicația de autentificare sau cu cheia de securitate, sau contactează administratorii acestei instanțe." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Conturile și setările tale nu au fost modificate sau șterse." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Acțiunea ta nu a putut fi finalizată deoarece a fost semnalată de sistemele noastre de siguranță. Dacă crezi că este o greșeală, te rugăm să contactezi asistența." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Acțiunea ta nu a putut fi finalizată deoarece a fost semnalată de sistemele noastre de siguranță. Dacă crezi că este o greșeală, te rugăm să contactezi administratorii acestei instanțe." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Kitul tău actual nu va mai funcționa imediat ce cel nou va fi creat." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Mediul desktop nu a configurat comenzile rapide la nivel de sistem." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Mediul desktop rezervă aceste taste pentru {productName}, așa că alte aplicații nu le pot folosi." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Mediul desktop rezervă aceste taste pentru {productName}, așa că alte aplicații nu le pot folosi. Pentru a folosi aceeași tastă în alte aplicații, activează mai jos accesul direct la dispozitivele de intrare." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Mediul desktop rulează aceste comenzi rapide chiar și când {productName} nu este în prim-plan." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Timpul tău cadou s-a încheiat. Abonează-te pentru a păstra {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Timpul tău cadou este păstrat" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Perioada de grație s-a încheiat." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Instalarea ta este coruptă și trebuie să reinstalezi aplicația pentru ca toate funcțiile să meargă corect." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Ultima achiziție este în afara perioadei de rambursare. Contactează asistența pentru probleme de facturare." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Mesajul tău nu a putut fi livrat deoarece a fost semnalat de sistemele noastre de siguranță. Dacă crezi că este o greșeală, te rugăm să contactezi asistența." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Mesajul tău nu a putut fi livrat deoarece a fost semnalat de sistemele noastre de siguranță. Dacă crezi că este o greșeală, te rugăm să contactezi administratorii acestei instanțe." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Mesajul tău nu a putut fi livrat. Acest lucru se întâmplă de obicei deoarece nu ești în aceeași comunitate cu destinatarul sau destinatarul acceptă mesaje directe doar de la prieteni. S-ar putea să fie nevoie să îți ajustezi și propriile setări de confidențialitate pentru mesaje directe în {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Mesajul tău nu a putut fi livrat. Trebuie să-ți revendici contul pentru a trimite mesaje directe." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Mesajul tău nu a putut fi livrat. Trebuie să-ți revendici contul pentru a trimite mesaje." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Raportul tău nu a fost trimis. Încearcă din nou." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Calitatea salvată de {savedResolution} la {savedFrameRate} FPS necesită {premiumProductName}, așa că partajările folosesc {resolution} la {frameRate} FPS." diff --git a/fluxer_app/src/features/i18n/locales/ru/messages.po b/fluxer_app/src/features/i18n/locales/ru/messages.po index 4995b1eb1..a8da3feae 100644 --- a/fluxer_app/src/features/i18n/locales/ru/messages.po +++ b/fluxer_app/src/features/i18n/locales/ru/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} использует более новую версию Fluxer, чем это приложение. Обновите Fluxer и попробуйте снова." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "На {duration} впереди вас" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "На {duration} позади вас" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} кадров/с" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# час назад} few {# часа назад} ma #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# час} few {# часа} many {# часов} other {# часа}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# час} few {# часа} many {# часов} other {# часа}} {minutes, plural, one {# минута} few {# минуты} many {# минут} other {# минуты}}" @@ -1602,7 +1602,7 @@ msgstr "Файл «{label}» слишком большой. Выберите ф msgid "{label} images cannot be animated. Use a static image." msgstr "Изображения для «{label}» не могут быть анимированными. Используйте статичное изображение." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Флаг: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# минуту назад} few {# минуты н #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# минута} few {# минуты} many {# минут} other {# минуты}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} обнаружил новое устройство выв msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} нужно перезапустить, чтобы нативные настройки прокрутки Chromium вступили в силу." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "Чтобы аппаратное ускорение вступило в силу, {PRODUCT_NAME} нужно перезапустить." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "Чтобы изменения в строке заголовка вступили в силу, {PRODUCT_NAME} необходимо перезапустить." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} нужно перезапустить, чтобы отключить аппаратное ускорение Chromium. Используйте это, только если устраняете графические сбои или высокую нагрузку на GPU." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Охотник за ошибками {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} может попросить систему выполнять его сочетания клавиш, даже когда {productName} не в фокусе. Система попросит подтвердить это и позволит выбрать клавиши." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} больше не может считывать клавиатуру, поэтому отслеживает сочетания клавиш через X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} больше не может считывать клавиатуру, поэтому используются системные сочетания клавиш." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} больше не может считывать клавиатуру. Сочетания клавиш работают, только когда {productName} в фокусе." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} может зарегистрировать свои сочетания клавиш в Hyprland, чтобы они работали, даже когда {productName} не в фокусе. Затем назначьте клавиши в конфигурации Hyprland." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} не может использовать для этого аппаратный кодировщик, поэтому будет задействован процессор." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} закроется, установит обновление и откроется снова." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} не удалось связаться со службой обновлений. Проверьте подключение к интернету и повторите попытку." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} переехал на {host}. Откройте его в браузере, чтобы установить новое приложение." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Участник {productName} с" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} требуется доступ к микрофону. Разрешите доступ к микрофону в настройках конфиденциальности операционной системы и перезапустите приложение." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} требуется доступ к камере, чтобы показать список ваших устройств." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} требуется доступ к микрофону, чтобы показать список ваших устройств." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "Ключ восстановления {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} зарегистрировал свои сочетания клавиш в Hyprland. Назначьте для них клавиши в конфигурации Hyprland, чтобы использовать их, когда {productName} не в фокусе." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 месяцев (1 год)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12-часовой" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 часа" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24-часовой" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "имя хоста, например {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Доступно обновление для Linux. Выберите формат пакета для этой системы, и {productName} сохранит его локально." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "минуту" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Доступна новая версия для компьютера. Загрузите установщик и запустите его, чтобы обновить {productName}." @@ -2817,7 +2817,7 @@ msgstr "О приложении {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "О себе" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Показ активности" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Порог активности" @@ -3155,7 +3155,7 @@ msgstr "Реальный размер" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Добавить" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Сначала добавьте имя пользователя и пароль к своей учётной записи." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Добавить слово…" @@ -3244,7 +3244,7 @@ msgstr "Добавьте API-ключ YouTube Data, чтобы дополнят #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Добавить аккаунт" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Адрес" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Настройте каждый параметр самостоятельно: шумоподавление, эхоподавление и усиление." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Дополнительно" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Дополнительные настройки видео" @@ -3906,22 +3906,22 @@ msgstr "Разрешить" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Разрешить {everyoneMention} и {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Разрешите {PRODUCT_NAME} доступ к камере в «Системных настройках» → «Конфиденциальность и безопасность» → «Камера»." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Разрешите {PRODUCT_NAME} доступ к микрофону в «Системных настройках» → «Конфиденциальность и безопасность» → «Микрофон»." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Разрешите {PRODUCT_NAME} доступ к микрофону. Проверьте адресную строку или настройки браузера." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Разрешите {productName} в разделе «Запись экрана» в «Системных настройках». Если разрешение уже предоставлено, перезапустите {productName2}, чтобы macOS применила его." @@ -3961,7 +3961,7 @@ msgstr "Разрешить личные сообщения от ботов" msgid "Allow bots to send you direct messages?" msgstr "Разрешить ботам отправлять вам личные сообщения?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Разрешить доступ к камере" @@ -4029,7 +4029,7 @@ msgstr "Разрешить участникам без разрешения «{r msgid "Allow mentions for this role" msgstr "Разрешить упоминания для этой роли" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Разрешить доступ к микрофону" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Всегда подчеркивать ссылки" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Всегда использовать словари Hunspell для {productName}, загружаемые по требованию." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Значок приложения" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Формат времени языка приложения: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Требуется одобрение" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Подтвердите это приложение из приложения {productName}, которое вы уже используете. Пароль не требуется." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Авторизовано {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Авто" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Автоопределение языка" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Автоматически устанавливать порог активности" @@ -5534,7 +5534,7 @@ msgstr "AV1 (требуется согласие)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Доступно" @@ -5608,11 +5608,11 @@ msgstr "Сейчас нет на месте" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Лучшее сжатие. Используйте, только если WebRTC предоставляет кодировщик, а отчёт GPU подтверждает аппаратную поддержку." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Лучше работает в приложении для ПК" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Браузер: домашняя страница" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Формат времени браузера: {format}" @@ -6545,8 +6545,8 @@ msgstr "Купите подарок {premiumProductName} на вкладке {pr msgid "Buy gift" msgstr "Купить подарок" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Создавая сообщество, вы соглашаетесь соблюдать <0>правила сообщества {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Звонки" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Предпросмотр камеры" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Качество камеры" @@ -6809,8 +6809,8 @@ msgstr "Сюда нельзя загружать файлы" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Отменить запланированный переход" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Отменить подписку" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Отменить подписку?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Категория" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Предупреждение о контенте категории" @@ -7131,15 +7131,15 @@ msgstr "Изменить никнейм в группе" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Изменить значок" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Изменить в системных настройках" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Значки канала" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Предупреждение о контенте канала" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Быстрые клавиши в чате" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Проверить снова" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Проверка доступа..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Проверка разрешения на запись экрана..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Оформление заказа недоступно" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Выберите способ оплаты подписки." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Выберите способ оплаты" @@ -8174,7 +8174,7 @@ msgstr "Выберите настройки по умолчанию" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Выберите ваш экземпляр" @@ -8216,8 +8216,8 @@ msgstr "Забрать подарок" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Подтвердите аккаунт" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Значки сообщества" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Предупреждение о контенте сообщества" @@ -9089,8 +9089,8 @@ msgstr "Личные сообщения из сообществ" msgid "Community filter" msgstr "Фильтр сообществ" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Значок сообщества" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Сообщество обновлено" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Голосовой чат сообщества" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Завершить оплату" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Пройдите проверку контента для взрослых, чтобы разблокировать медиафайлы для взрослых." @@ -9409,7 +9409,7 @@ msgstr "Подтвердить" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Запрашивать подтверждение перед входом в голосовые каналы" @@ -9457,7 +9457,7 @@ msgstr "Подтвердите заявление, чтобы отправить #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Подтверждение входа в голосовой канал" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Подтверждение" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Подтверждение или двойной щелчок для входа в голосовой канал сообщества" @@ -9476,7 +9476,7 @@ msgstr "Подтверждение или двойной щелчок для в msgid "Conflicts with {conflictLabel}" msgstr "Конфликтует с {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Подключите камеру и попробуйте снова." @@ -9489,7 +9489,7 @@ msgstr "Подключите камеру или виртуальное устр msgid "Connect a display, then try again." msgstr "Подключите дисплей и попробуйте снова." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Подключите микрофон и попробуйте снова." @@ -9633,7 +9633,7 @@ msgstr "Подключение: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Контакты" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Контент заблокирован" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Продолжить в браузере" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Перейти к оформлению заказа" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Продолжить с ключом доступа" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Скопировать ссылку-приглашение" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Скопировать строки" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Скопировать строки для hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Скопировать строки для hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Не удалось изменить вашу цену" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Не удалось проверить наличие обновлений" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Не удалось удалить ваши сообщения" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Не удалось загрузить обновление для ПК" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Не удалось начать оформление заказа" @@ -10932,7 +10932,7 @@ msgstr "Создать и поделиться" msgid "Create a community" msgstr "Создать сообщество" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Создайте сообщество для общения с друзьями." @@ -11365,7 +11365,7 @@ msgstr "Другой источник" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Звук отключён модераторами" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "Пакет DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Приложение для ПК" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "У вас последняя версия приложения для ПК" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Доступно обновление для ПК {version}. Выберите пакет Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Доступно обновление для ПК" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Доступно обновление для ПК. Выберите пакет Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Доступна версия для ПК {version}. Загрузите установщик и запустите его, чтобы обновить {productName}." @@ -12613,7 +12613,7 @@ msgstr "Подробности: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Определять при вводе" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Инструменты разработчика недоступны" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Сборка для разработки" @@ -13455,8 +13455,8 @@ msgstr "Скачать" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Скачать {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification и поместите его в папку <1>.well-known, чтобы мы могли подтвердить домен." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Скачать приложение" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Скачать приложение" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Кнопка «Скачать»" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Скачать приложение для компьютера" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Скачать изображение" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Скачать установщик" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Скачать медиа" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Скачать пакет" @@ -13655,11 +13655,11 @@ msgstr "Отпустить элемент" msgid "Drop to upload background" msgstr "Перетащите, чтобы загрузить фон" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Из-за законов о контенте для взрослых в регионе {regionName} такой контент заблокирован, пока вы не пройдете проверку контента для взрослых." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Из-за законов о контенте для взрослых в регионе {regionName} такой контент здесь недоступен. Проверка контента для взрослых доступна только в Великобритании." @@ -13673,7 +13673,7 @@ msgstr "Из-за законов о контенте для взрослых в msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Из-за законов о контенте для взрослых в регионе {regionName} этот контент здесь недоступен. Проверка контента для взрослых доступна только в Великобритании." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Из-за законов о контенте для взрослых в регионе {regionName} этот медиафайл недоступен в вашем текущем регионе." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Каждый код можно использовать один раз вместо приложения для аутентификации." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Одна клавиша может запускать только одно системное сочетание клавиш." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Включить" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Включить разрешение «{permissionName}»" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Включить сочетание клавиш" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Включить проверку орфографии" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Завершить льготный период" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Завершить льготный период" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Завершить льготный период сейчас?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Введите PIN-код ключа безопасности, чтобы продолжить." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Введите этот код в браузере" @@ -14845,7 +14845,7 @@ msgstr "Введите этот код в браузере" msgid "Enter this code in your browser to complete sign-in." msgstr "Введите этот код в браузере, чтобы завершить вход." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Введите этот код в старом приложении {PRODUCT_NAME}, чтобы завершить вход." @@ -14916,7 +14916,7 @@ msgstr "Весь звук системы" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Звук входа" @@ -15026,7 +15026,7 @@ msgstr "Вечер" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Выравнивает громкость вашего микрофона, чтобы вас было хорошо слышно." @@ -15249,7 +15249,7 @@ msgstr "Истекает между {earliest} и {latest}" msgid "Expires in {remaining}s" msgstr "Истекает через {remaining} с" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Истекает через {remainingSeconds}с" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Добавить канал в избранное" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Избранные каналы" @@ -16243,7 +16243,7 @@ msgstr "На {threeHours} часа" msgid "For {twentyFourHours} hours" msgstr "На {twentyFourHours} часов" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Только для британцев..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Для меня" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Для режима «Нажми и молчи» используйте одну клавишу без Ctrl, Alt или Shift. Если используете сочетание, сначала отпускайте основную клавишу, иначе микрофон может остаться выключенным." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Для режима «Нажми и говори» используйте одну клавишу без Ctrl, Alt или Shift. Если используете сочетание, сначала отпускайте основную клавишу, иначе микрофон может остаться включенным." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Для этого сочетания используйте одну клавишу без Ctrl, Alt или Shift. Если используете сочетание, сначала отпускайте основную клавишу, иначе оно может остаться активным." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Для сочетания «Приоритет голосовой активности» используйте одну клавишу без Ctrl, Alt или Shift. Если используете сочетание, сначала отпускайте основную клавишу, иначе приоритет может остаться включенным." @@ -16460,14 +16460,14 @@ msgstr "Рамка" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Частота кадров" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Для частоты кадров выше 30 FPS требуется {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Получайте уведомления о новых сообщениях. Возможно, вам потребуется разрешить уведомления в настройках браузера. Чтобы настроить уведомления для отдельных каналов/сообществ, нажмите правой кнопкой мыши на значок сообщества и откройте настройки уведомлений." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Установите приложение {productName} для ПК, чтобы использовать «Нажми и говори» во всей системе и получить другие приятные возможности." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Скачать приложение для компьютера" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Вернитесь в {productName}, чтобы продолжить." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Вернуться в приложение {PRODUCT_NAME}. Вход завершится автоматически." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Вернуться в приложение {PRODUCT_NAME}. Вы можете закрыть эту вкладку." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Справка" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Кнопка справки" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Справочный центр" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Справочный центр" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Помогите перевести {PRODUCT_NAME} на ваш язык на сайте <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Скрыть чат" msgid "Hide community owner crown" msgstr "Скрыть корону владельца сообщества" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Скрыть кнопку загрузки" @@ -17860,7 +17860,7 @@ msgstr "Скрыть избранное" msgid "Hide guidelines" msgstr "Скрыть правила" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Скрыть кнопку справочного центра" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Скрыть сообщения о присоединении" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Скрыть подсказки по клавиатуре" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Гиперссылка" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "В Hyprland нет окна настройки сочетаний клавиш. Добавьте строки для вашей версии Hyprland в конфигурацию Hyprland и замените KEY на нужную клавишу." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "В Hyprland нет окна настройки сочетаний клавиш. Назначьте клавиши в конфигурации Hyprland." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (до Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 и новее)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Настоящим добросовестно подтверждаю, что сведения и утверждения в этом уведомлении точны и полны." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Понятно" @@ -18598,11 +18598,11 @@ msgstr "Импорт… Обработано: {processedCount, number} из {tot msgid "In" msgstr "В канале" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "В режиме «Операционная система» перечисленные выше словари являются рекомендательными. {PRODUCT_NAME} будет передавать эти языковые теги системной проверке орфографии, если она это поддерживает. Теги, которые она не распознаёт, игнорируются." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "В браузере режим «Нажми и говори» работает только при активной вкладке {PRODUCT_NAME}. Установите приложение для ПК, чтобы использовать его во всей системе." @@ -18650,7 +18650,7 @@ msgstr "В голосовом чате" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Встроенные словари" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Ввод" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Ввод и вывод" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Вставить эмодзи" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Установите {productName}, чтобы получить полный выбор источников и более плавное управление демонстрацией экрана." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Установить новое приложение" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Установлено" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Установленная версия: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Интерфейс" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Язык интерфейса" @@ -19467,13 +19467,13 @@ msgstr "Присоединиться" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Присоединиться к {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Присоединяйтесь к {communityName}, чтобы общаться с командой и быть в курсе событий." @@ -19561,7 +19561,7 @@ msgstr "Присоединиться к видеозвонку" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Присоединиться к голосовому чату" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Сохраняйте бесплатные и премиум-уровни. Вы можете настроить уровни, продавать премиум через Stripe или позже раздавать подарочные коды из панели администратора." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Сохранить льготный период" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Работать в фоне" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Оставить подписку" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Сохраните эту страницу в надежном месте. Если вы забудете пароль, вы сможете использовать ее, чтобы снова войти в свою учетную запись. Любой, у кого есть этот ключ восстановления, может сбросить ваш пароль, поэтому никогда никому его не передавайте." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Продолжает передавать звук ещё немного после отпускания клавиши." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Клавиатура" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Не удалось получить доступ к клавиатуре. Сочетания клавиш работают, только когда {productName} в фокусе." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Режим клавиатуры" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Всплывающие подсказки для сочетаний клавиш" @@ -19923,7 +19923,7 @@ msgstr "Настройки языка" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Языки" @@ -19971,7 +19971,7 @@ msgstr "График задержки" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Участнику снова разрешено слышать других в этом сообществе" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Позволяет {productName} считывать клавиатуру напрямую. Отключите этот параметр, чтобы настроить сочетания клавиш через окружение рабочего стола." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Позволяет {productName} считывать клавиатуру напрямую. Ваша система уже это разрешает." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Linux (устройство по умолчанию)" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Пакет для Linux" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Локальные файлы" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Местное время" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Внешний вид" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Похоже, вы используете {0}. Дополнительная обработка звука в {PRODUCT_NAME} может привести к искажениям. Прямой ввод передает ваш звук без изменений." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Сделать владельцем группы" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Убедитесь, что этот код совпадает с кодом в приложении {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Управление подпиской" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Обновление десктопной версии вручную" @@ -21145,15 +21145,15 @@ msgstr "Массачусетс" msgid "Master volume" msgstr "Общая громкость" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Категория для взрослых" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Канал для взрослых" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Сообщество для взрослых" @@ -21194,7 +21194,7 @@ msgstr "Проверка контента для взрослых отправл #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Проверка контента для взрослых в настоящее время доступна только в Великобритании." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Роли участника обновлены" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Участник с" @@ -22013,7 +22013,7 @@ msgstr "Микрофон" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Тест микрофона" @@ -22127,7 +22127,7 @@ msgstr "Миннесота" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Неко" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Кот Неко, который гоняется за курсором" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Новые пользователи пока не могут присоединиться. Вы можете создать аккаунт или войти, а затем попробовать эту ссылку позже." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Новая версия" @@ -23465,7 +23465,7 @@ msgstr "Нет закладок" msgid "No bot banner" msgstr "Без баннера бота" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Камера не найдена" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Без описания." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Нет доступных обновлений для компьютера." @@ -23684,7 +23684,7 @@ msgstr "Нет подходящих сообщений" msgid "No mentions yet" msgstr "Пока нет упоминаний" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Микрофон не найден" @@ -23731,7 +23731,7 @@ msgstr "Нет ожидающих запросов, соответствующи msgid "No permissions found" msgstr "Разрешения не найдены" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Пока нет личных слов." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Запрещено" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Не назначено" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "По нажатию" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "На другом устройстве войдите на сайт {signInAddress} и введите этот код, когда потребуется." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Открыть {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Открыть {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Открыть переключатель аккаунтов" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Открыть расширенные настройки мультимедиа" @@ -24788,7 +24788,7 @@ msgstr "Открыть параметры баннера" msgid "Open bookmarks" msgstr "Открыть закладки" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Открыть браузер" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Открыть выбор даты" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Открыть загрузки для ПК" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Открыть настройки" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Открыть центр приложений" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Открыть Системные настройки" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Откройте «Системные настройки» → «Конфиденциальность и безопасность» → «Запись экрана» и разрешите доступ для {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Открыть JSON шаблона" @@ -25089,7 +25089,7 @@ msgstr "Открыть JSON шаблона" msgid "Open the context menu" msgstr "Открыть контекстное меню" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Откройте ссылку ниже в браузере, затем скопируйте весь JSON-ответ и вставьте его в поле." @@ -25167,11 +25167,11 @@ msgstr "Открыть настройки аудио и видео" msgid "Open with {accountName} on {instanceName}" msgstr "Открыть с {accountName} на {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Откройте браузер, войдите в аккаунт, затем введите код ниже, чтобы привязать свой аккаунт." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Откройте старое приложение {PRODUCT_NAME} и выберите «Привязать новое устройство», затем введите код ниже." @@ -25199,7 +25199,7 @@ msgstr "Открывает страницу участников. Нажмите #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Операционная система" @@ -25629,7 +25629,7 @@ msgstr "Последние 7 дней" msgid "Paste" msgstr "Вставить" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Вставьте URL шаблона {theOtherPlatform}, чтобы импортировать его структуру в новое сообщество." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Разрешения для {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Личный словарь" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Выберите хотя бы один тег для этой записи." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Выберите один или несколько словарей. Слова из любого выбранного словаря будут приняты, что удобно для многоязычных чатов." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Цены ещё загружаются." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Покупки недоступны" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Клавиша «Нажми и говори»" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Нажми и говори" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Нажми и говори (с ограничениями)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Для режима «Нажми и говори» еще не назначена системная клавиша. Чтобы назначить ее, откройте «Параметры» > «Приложения» > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Для режима «Нажми и говори» еще не назначена системная клавиша. Чтобы назначить ее, откройте «Параметры системы» > «Клавиатура» > «Комбинации клавиш» > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Для режима «Нажми и говори» еще не назначена системная клавиша. Чтобы назначить ее, откройте настройки сочетаний клавиш вашей системы." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Режим «Нажми и говори» игнорируется при прямом вводе. Переключитесь на «Фокусировку голоса» или «Пользовательский», чтобы использовать его." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Включен режим «Нажми и говори». Удерживайте клавишу «Нажми и говори», чтобы говорить." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Режим «Нажми и говори» работает, только когда {productName} в фокусе, так как ваша система не настроила системные сочетания клавиш." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Функция Push-to-talk работает, только когда {productName} активен, пока не будет включен {permissionName}." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Пока вы не настроите системные сочетания клавиш, режим «Нажми и говори» работает, только когда {productName} в фокусе." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Режим «Нажми и говори» работает только при активной вкладке браузера." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Режим «Нажми и говори» будет использовать клавишу, назначенную в {productName}. Сначала назначьте ее, иначе микрофон будет работать по голосовой активности." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "«Нажми и говори» не включит микрофон, пока у вас отключён звук. Включите звук, чтобы говорить." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Режим «Нажми и говори» работает вне {productName} только после того, как вы назначите для него клавишу в конфигурации Hyprland." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Режим «Нажми и говори» работает вне {productName} только после того, как вы назначите для него клавишу в конфигурации Hyprland. Добавьте строку для вашей версии Hyprland и замените KEY на нужную клавишу." @@ -27533,12 +27533,12 @@ msgstr "Получатели перейдут в {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Рекомендуется" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Рекомендуется. Очищает звук микрофона для чёткой речи." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Подключение восстановлено. Выберите экран ещё раз, если хотите возобновить предыдущую трансляцию." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Переподключение к системе…" @@ -27836,7 +27836,7 @@ msgstr "Перезапустить для применения" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Задержка отпускания" @@ -27853,7 +27853,7 @@ msgstr "Подходящие" msgid "Reload" msgstr "Перезагрузить" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Перезагрузите {PRODUCT_NAME}, чтобы полностью применить смену движка. Переключение между встроенной и системной проверкой орфографии требует перезагрузки рендерера, потому что Electron не может менять поставщиков на лету." @@ -27872,7 +27872,7 @@ msgstr "Перезагрузите {productName}, чтобы применить msgid "Reload app" msgstr "Перезагрузить приложение" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Перезагрузить сейчас" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Удалить" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Удалить «{word}» из словаря" @@ -28086,8 +28086,8 @@ msgstr "Удалить из избранных GIF (только по URL)" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Удалить значок" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Строк на странице" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "Пакет RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Безопасность" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Время совпадает с вашим" @@ -29770,7 +29770,7 @@ msgstr "Запись экрана" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Требуется разрешение на запись экрана" @@ -29858,7 +29858,7 @@ msgstr "Конфиденциальность демонстрации экран #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Качество демонстрации экрана" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Поиск кода языка…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Поиск языков…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Выбрать GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Выберите язык интерфейса" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Выберите аккаунт, с которым хотите войти на новом устройстве." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Выберите режим обработки голоса" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Отправляет звук с микрофона без какой-либо обработки." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Отправляет ваш звук без изменений. Лучший вариант, если вы используете внешние аудиопрограммы." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Для роли задана позиция в списке участников" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Установлено пресетом {preset}. Выбор значения здесь переключит на «Другое»." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Установлен автоматический выбор голосового региона" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Настроить" @@ -31307,7 +31307,7 @@ msgstr "Поделиться с другом" msgid "Share your screen" msgstr "Начать демонстрацию экрана" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Демонстрируйте свой экран в высоком разрешении (1080p), Quad HD (1440p) или исходном разрешении с частотой до 60 кадров в секунду." @@ -31399,7 +31399,7 @@ msgstr "Шорткоды" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Сочетание клавиш" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Значки сочетаний клавиш" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Показывать кнопку «Избранное»" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Показывать избранное во всем приложении" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Войти через браузер" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Войти через старое приложение {productName}" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Выйти?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Вход отменен" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Данные для входа" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Вход в аккаунт" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Вход как {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Входите с другого устройства?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Что-то пошло не так при запуске оформления заказа. Повторите попытку через минуту." @@ -32812,7 +32812,7 @@ msgstr "Звуки" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Скорость" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Проверка орфографии" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Модуль проверки орфографии" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Добавить анимацию в избранное" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Каналы со звёздочкой" @@ -33140,7 +33140,7 @@ msgstr "Начать голосовой звонок?" msgid "Start call" msgstr "Начать звонок" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Запустить тест камеры и настроить эффекты" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Начинать свернутым" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Запуск" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Статичный Неко" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Индексация продолжается — попробуйте позже" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Неподвижный Неко" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Всё ещё ждём доступ к записи экрана" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Остановить проверку микрофона" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Запретить Неко преследовать курсор, но оставить его перетаскиваемым и интерактивным." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Подписка уже оформлена" @@ -33957,7 +33957,7 @@ msgstr "Переключиться на просторный вид" msgid "Switch to dense layout" msgstr "Переключиться на компактный вид" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Переключиться на прямой ввод" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "В системных чатах нельзя совершать голосовые звонки." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Формат времени системы: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Область уведомлений" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Установка через системный менеджер" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Системные сочетания клавиш" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Системные сочетания клавиш не удалось настроить." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Нажмите, чтобы добавить заметку" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "Архив tar.gz" @@ -34360,7 +34360,7 @@ msgstr "Значок на панели задач" msgid "Teleporting you to another voice region..." msgstr "Перемещаем вас в другой голосовой регион..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Шаблон" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "Приложение {PRODUCT_NAME} на другом вашем устройстве отображается в разделе «Вход с другого устройства». Вводите код только с устройства, которое вы контролируете." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "Приложение {PRODUCT_NAME} не было авторизовано. Вы можете закрыть эту вкладку." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Возможно, сообщество, которое вы ищете, было удалено или у вас нет к нему доступа." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Не удалось загрузить обновление для ПК. Повторите попытку с помощью кнопки обновления, когда соединение станет стабильным." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Загруженный файл сохранен на вашем компьютере. Установите его с помощью обычного менеджера пакетов." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "В этой категории уже максимальное количество каналов: {maxChannelsPerCategory}." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Эта категория помечена как содержащая контент для взрослых и может содержать материалы, неприемлемые для некоторых пользователей." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Этот канал содержит предупреждение о контенте. Обновления могут отправляться только в каналы с предупреждением о контенте или возрастным ограничением." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Этот канал помечен как содержащий контент для взрослых и может содержать материалы, которые могут быть неприемлемы для некоторых пользователей." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Это сообщество заполнено" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Это сообщество помечено как содержащее контент для взрослых и может содержать материалы, которые могут быть неприемлемы для некоторых пользователей." @@ -35324,14 +35324,14 @@ msgstr "Это сообщество больше недоступно" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Это подключение подтверждено." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Это подключение не подтверждено." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Эта переписка больше недоступна." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Эта сборка для ПК не может устанавливать обновления внутри {productName}. Вместо этого скачайте последний установщик для ПК." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Это окружение рабочего стола не поддерживает системные сочетания клавиш. Режим «Нажми и говори» работает, только когда {productName} в фокусе." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Это окружение рабочего стола не поддерживает системные сочетания клавиш. Сочетания клавиш по-прежнему работают, когда {productName} в фокусе." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Эта сборка для разработки не может обновиться сама. Загрузите установщик для ПК, чтобы протестировать процесс обновления." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Не удалось прочитать это изображение. Оно может быть повреждено." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Эта установка управляется вашей системой. Обновите {productName} через центр программного обеспечения или менеджер пакетов." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Этот экземпляр уже использует имена пользователей для входа. Это нельзя изменить." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "В этом экземпляре демонстрация экрана ограничена качеством 720p при 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Эта ссылка недействительна. Попробуйте открыть ссылку из письма ещё раз." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Эта категория для взрослых недоступна для вашего аккаунта." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Эта категория для взрослых недоступна для вашего аккаунта. <0>Подробнее" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Этот канал для взрослых недоступен для вашего аккаунта." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Этот канал для взрослых недоступен для вашего аккаунта. <0>Подробнее" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Это сообщество для взрослых недоступно для вашего аккаунта." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Это сообщество для взрослых недоступно для вашего аккаунта. <0>Подробнее" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Этот медиафайл для взрослых недоступен для вашего аккаунта." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Этот медиафайл для взрослых недоступен для вашего аккаунта. <0>Подробнее" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Этот тариф недоступен. Обратитесь в поддержку." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Этот тариф недоступен. Обратитесь к администраторам этого экземпляра." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Эта покупка не подлежит возврату." @@ -35837,7 +35853,7 @@ msgstr "Этот тред заблокирован. Только модерат msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Этот пользователь ограничил свой профиль. Некоторые данные скрыты от тех, кто не является его другом." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "У этого пользователя нет ролей в этом сообществе." @@ -36050,14 +36066,14 @@ msgstr "Время" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Формат времени" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Выбор формата времени" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Платформа строки заголовка" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Чтобы изменить клавиши, откройте «Параметры» > «Приложения» > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Чтобы изменить клавиши, откройте «Параметры системы» > «Клавиатура» > «Комбинации клавиш» > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Чтобы изменить клавиши, откройте настройки сочетаний клавиш вашей системы." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Панель инструментов" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Сочетания клавиш" @@ -36864,7 +36880,7 @@ msgstr "24-часовой" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "В два клика" @@ -37263,7 +37279,7 @@ msgstr "Универсальный вариант. Низкое качество #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Неизвестно" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Разблокируйте пользовательские эмодзи в личных сообщениях с {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Разблокируйте демонстрацию экрана в HD с {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "До 720p при 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Обновите {productName}, чтобы использовать системные сочетания клавиш в Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Обновить мой статус" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Обновить сейчас" @@ -38008,8 +38024,8 @@ msgstr "Загружать файлы и медиа в этом канале." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Загрузить значок" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Использовать {name} на {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Использовать {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Использовать {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Использовать другой способ" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Использовать автопрокрутку" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Использовать карту" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Использовать по умолчанию" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Использовать прямой доступ к устройству ввода" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Использовать стикеры из других сообществ." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Использовать региональные настройки системы для формата времени" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Использовать системные рамки окна" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Использовать встроенную в ОС проверку орфографии." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Использовать активацию голосом" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Используйте проверку орфографии вашей операционной системы, если она доступна. В противном случае используйте встроенные словари {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Сначала подтвердите почту" @@ -39244,7 +39260,7 @@ msgstr "Посмотреть детали" msgid "View devices that are signed in to your account" msgstr "Просмотр устройств, на которых выполнен вход в ваш аккаунт" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Посмотреть полный профиль" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "В Visionary уже есть постоянный доступ, поэтому регулярная подписка не нужна. Вы всё ещё можете покупать подарки для других." @@ -39535,7 +39551,7 @@ msgstr "Голосовой канал" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Подтверждение голосового канала" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Голосовой канал заполнен" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Как присоединяться к голосовым каналам" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Участники голосового чата" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Обработка голоса" @@ -39661,7 +39677,7 @@ msgstr "Включение звука" msgid "Voice unmute" msgstr "Включение микрофона" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "В этом браузере для голосовых вызовов используется системное устройство вывода. Измените его в настройках системы." @@ -39675,7 +39691,7 @@ msgstr "Аннулировано" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Интервал между сообщениями. Участники msgid "Waiting for connection..." msgstr "Ожидание подключения..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Ожидание ключа доступа…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Ждём, пока вы..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Ожидание ответа системы…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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} для этого аккаунта. Управляйте ею на защищённом портале оплаты, чтобы обновить платёжные данные или проверить статус продления. Если вы только что оплатили, подождите минуту и снова откройте эту страницу." @@ -39914,7 +39930,7 @@ msgstr "Мы изменили размер и сжали этот стикер msgid "We sent a code to {email}." msgstr "Мы отправили код на {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Мы автоматически заполним поле с адресом {prefillEmail}, как только откроется окно входа в браузере." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Предпросмотр ссылок" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "С возвращением" @@ -40321,7 +40337,7 @@ msgstr "Какие сообщества" msgid "Which conversations" msgstr "Какие чаты" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Когда включён режим «Нажми и говори», микрофоном управляет сочетание клавиш, поэтому кнопка отключения микрофона неактивна." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Вы переходите на сайт {paymentProviderName} для завершения оплаты. Вернитесь в {productName} после завершения." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Вы только что нажали Tab. Режим клавиатуры включен, теперь вы можете перемещаться по {productName} без мыши." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Вы сохраните свои преимущества до следующей даты продления. Возобновите подписку до этой даты, чтобы сохранить историю подписок." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Вы немедленно потеряете все преимущества {PREMIUM_PRODUCT_NAME}, а история вашей подписки будет сброшена. Это действие невозможно отменить." @@ -41137,8 +41153,8 @@ msgstr "Чтобы использовать здесь эмодзи из дру msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Чтобы использовать здесь стикеры из других сообществ, вам нужно разрешение «{permissionLabel}»." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Чтобы создать сообщество, нужно сначала подтвердить аккаунт." @@ -41155,8 +41171,8 @@ msgstr "Чтобы отправлять личные сообщения, нуж msgid "You need to claim your account to send messages in this community." msgstr "Чтобы отправлять сообщения в этом сообществе, нужно подтвердить аккаунт." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Чтобы создать сообщество, подтвердите адрес электронной почты." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Чтобы приобрести {premiumProductFullName}, вам нужно подтвердить адрес электронной почты." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Вы будете отображаться офлайн" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "С вас спишутся средства. Оставшееся подарочное время будет добавлено после окончания оплаченного периода, так что оно не пропадет." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Вы уже Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Вы отправляете жалобы слишком часто. Попробуйте позже." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Вы вошли в систему" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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}, чтобы сменить план или проверить статус продления." @@ -41559,10 +41575,14 @@ msgstr "Ваш аккаунт слишком новый, чтобы отправ msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Ваш запрос на создание аккаунта ожидает одобрения. Вы сможете войти после одобрения администратором." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Для вашего аккаунта требуется многофакторная аутентификация, но на этом устройстве не настроены поддерживаемые методы. Войдите на устройстве с приложением-аутентификатором или ключом безопасности либо обратитесь в службу поддержки." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Для вашего аккаунта требуется многофакторная аутентификация, но на этом устройстве не настроены поддерживаемые методы. Войдите на устройстве с приложением-аутентификатором или ключом безопасности либо обратитесь к администраторам этого экземпляра." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Ваши аккаунты и настройки не были изменены или удалены." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Ваше действие не удалось выполнить, так как оно было отмечено нашими системами безопасности. Если вы считаете, что это ошибка, обратитесь в поддержку." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Ваше действие не удалось выполнить, так как оно было отмечено нашими системами безопасности. Если вы считаете, что это ошибка, обратитесь к администраторам этого экземпляра." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Ваш текущий комплект перестанет работать, как только будет создан новый." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Системные сочетания клавиш не были настроены." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Окружение рабочего стола резервирует эти клавиши для {productName}, поэтому другие приложения не могут их использовать." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Окружение рабочего стола резервирует эти клавиши для {productName}, поэтому другие приложения не могут их использовать. Чтобы использовать ту же клавишу в других приложениях, включите ниже прямой доступ к устройству ввода." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Ваша система выполняет эти сочетания клавиш, даже когда {productName} не в фокусе." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Время вашего подарка истекло. Оформите подписку, чтобы сохранить {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Ваше подарочное время сохранено" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Ваш льготный период окончен." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Установка приложения повреждена. Переустановите приложение, чтобы все функции работали." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "С момента последней покупки прошло слишком много времени для возврата средств. По вопросам оплаты обратитесь в службу поддержки." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Ваше сообщение не было доставлено, так как оно было помечено нашей системой безопасности. Если вы считаете, что это ошибка, обратитесь в службу поддержки." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Ваше сообщение не было доставлено, так как оно было помечено нашей системой безопасности. Если вы считаете, что это ошибка, обратитесь к администраторам этого экземпляра." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Ваше сообщение не удалось доставить. Обычно это происходит потому, что у вас нет общих сообществ с получателем или получатель принимает личные сообщения только от друзей. Возможно, вам также потребуется изменить собственные настройки конфиденциальности личных сообщений в {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Ваше сообщение не удалось доставить. Чтобы отправлять личные сообщения, нужно подтвердить аккаунт." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Ваше сообщение не удалось доставить. Чтобы отправлять сообщения, вам нужно подтвердить аккаунт." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Ваша жалоба не была отправлена. Повторите попытку." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Ваше сохраненное качество {savedResolution} при {savedFrameRate} FPS требует {premiumProductName}, поэтому используется качество {resolution} при {frameRate} FPS." 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 563a0dc38..3ba3e6f99 100644 --- a/fluxer_app/src/features/i18n/locales/sv-SE/messages.po +++ b/fluxer_app/src/features/i18n/locales/sv-SE/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} kör en nyare version av Fluxer än den här appen. Uppdatera Fluxer och försök sedan igen." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "{duration} före dig" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "{duration} efter dig" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} bilder/sek" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# timme sedan} other {# timmar sedan}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# timme} other {# timmar}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# timme} other {# timmar}} {minutes, plural, one {# minut} other {# minuter}}" @@ -1602,7 +1602,7 @@ msgstr "Filen för {label} är för stor. Välj en fil som är mindre än {maxSi msgid "{label} images cannot be animated. Use a static image." msgstr "{label}-bilder kan inte vara animerade. Använd en statisk bild." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Flagga: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# minut sedan} other {# minuter sedan}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# minut} other {# minuter}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} har hittat en ny ljudutgångsenhet med namnet <0>{deviceN msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} måste startas om innan Chromiums inbyggda rullningsinställningar börjar gälla." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} måste startas om för att maskinvaruaccelerationen ska börja gälla." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} behöver startas om för att ändringen av namnlisten ska börja gälla." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} måste startas om för att inaktivera Chromiums hårdvaruacceleration. Använd detta endast om du felsöker grafikproblem eller hög GPU-användning." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "{productName}-buggjägare" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} kan be din skrivbordsmiljö att köra appens genvägar även när {productName} inte är i fokus. Skrivbordsmiljön ber dig bekräfta och låter dig välja tangenterna." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} kan inte längre läsa ditt tangentbord, så appen lyssnar i stället efter genvägar via X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} kan inte längre läsa ditt tangentbord, så skrivbordsmiljöns genvägar används i stället." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} kan inte längre läsa ditt tangentbord. Genvägar fungerar bara när {productName} är i fokus." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} kan registrera sina genvägar i Hyprland så att de körs även när {productName} inte är i fokus. Du binder sedan tangenterna i din Hyprland-konfiguration." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} kan inte använda en hårdvarukodare för det här och använder därför din processor." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} stängs, installerar uppdateringen och öppnas igen." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} kunde inte ansluta till uppdateringstjänsten. Kontrollera din anslutning och försök igen." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} har flyttat till {host}. Öppna det i webbläsaren för att installera den nya appen." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Medlem i {productName} sedan" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} behöver åtkomst till din mikrofon. Tillåt mikrofonåtkomst i operativsystemets sekretessinställningar och starta om appen." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} behöver åtkomst till kameran för att visa dina enheter." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} behöver mikrofonåtkomst för att visa dina enheter." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "{productName} återställningskit" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} har registrerat sina genvägar i Hyprland. Bind dem i din Hyprland-konfiguration för att använda dem när {productName} inte är i fokus." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 månader (1 år)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12-timmarsformat" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 timmar" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24-timmarsformat" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "ett värdnamn, t.ex. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "En uppdatering av datorappen för Linux är tillgänglig. Välj paketformatet för det här systemet så sparar {productName} paketet lokalt." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "en minut" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "En ny version av datorappen är tillgänglig. Ladda ner installationsprogrammet och kör det för att uppdatera {productName}." @@ -2817,7 +2817,7 @@ msgstr "Om {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Om mig" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Delning av aktivitet" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Aktivitetströskel" @@ -3155,7 +3155,7 @@ msgstr "Faktisk storlek" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Lägg till" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Lägg till ett användarnamn och lösenord till ditt konto först." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Lägg till ett ord…" @@ -3244,7 +3244,7 @@ msgstr "Lägg till en YouTube Data API-nyckel för att visa utökade förhandsvi #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Lägg till konto" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Adress" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Justera varje inställning själv: brusreducering, ekoreducering och förstärkning." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Avancerat" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Avancerade videoinställningar" @@ -3906,22 +3906,22 @@ msgstr "Tillåt" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Tillåt {everyoneMention} och {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Tillåt {PRODUCT_NAME} att komma åt din kamera i Systeminställningar → Integritet och säkerhet → Kamera." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Tillåt {PRODUCT_NAME} att komma åt din mikrofon i Systeminställningar → Integritet och säkerhet → Mikrofon." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Tillåt {PRODUCT_NAME} att komma åt din mikrofon. Kontrollera webbläsarens adressfält eller inställningar." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Tillåt {productName} under Skärminspelning i Systeminställningar. Om det redan är tillåtet, starta om {productName2} så att macOS tillämpar det." @@ -3961,7 +3961,7 @@ msgstr "Tillåt direktmeddelanden från botar" msgid "Allow bots to send you direct messages?" msgstr "Tillåt botar att skicka direktmeddelanden till dig?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Tillåt kamera" @@ -4029,7 +4029,7 @@ msgstr "Tillåt medlemmar utan behörigheten {readMessageHistoryPermissionLabel} msgid "Allow mentions for this role" msgstr "Tillåt omnämnanden för den här rollen" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Tillåt mikrofon" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Alltid understrukna länkar" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Använd alltid {productName}s Hunspell-ordlistor, som laddas ned vid behov." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Märke på appikonen" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Tidsformat för appens språk: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Godkännande krävs" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Godkänn den här appen från {productName}-appen som du redan använder. Inget lösenord behövs." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Auktoriserad den {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Automatisk" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Identifiera språk automatiskt" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Ställ in aktivitetströskel automatiskt" @@ -5534,7 +5534,7 @@ msgstr "AV1 (kräver aktivering)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Tillgänglig" @@ -5608,11 +5608,11 @@ msgstr "Borta just nu" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Bäst komprimering. Använd endast när WebRTC exponerar en kodare och GPU-rapporten säger att den är hårdvarubaserad." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Fungerar bäst med datorappen" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Webbläsare: startsida" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Webbläsarens tidsformat: {format}" @@ -6545,8 +6545,8 @@ msgstr "Köp en {premiumProductName}-present på fliken {premiumProductName} fö msgid "Buy gift" msgstr "Köp present" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Genom att skapa en community godkänner du att följa och upprätthålla <0>{PRODUCT_NAME}s communityriktlinjer." @@ -6658,7 +6658,7 @@ msgstr "Samtal" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Kameraförhandsvisning" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Kamerakvalitet" @@ -6809,8 +6809,8 @@ msgstr "Kan inte ladda upp filer här" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Avbryt schemalagt byte" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Säg upp abonnemanget" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Säga upp abonnemanget?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Kategori" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Varning för innehåll i kategori" @@ -7131,15 +7131,15 @@ msgstr "Ändra gruppsmeknamn" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Ändra ikon" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Ändra i systeminställningar" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Kanalmärken" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Varning för kanalens innehåll" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Chattgenvägar" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Kontrollera igen" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Kontrollerar åtkomst..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Kontrollerar skärminspelningsbehörigheten…" @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Kassan är inte tillgänglig" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Välj hur du vill betala för abonnemanget." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Välj betalningsmetod" @@ -8174,7 +8174,7 @@ msgstr "Välj dina standardinställningar" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Välj din instans" @@ -8216,8 +8216,8 @@ msgstr "Lös in present" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Säkra ditt konto" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Communitymärken" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Varning för innehåll från communityn" @@ -9089,8 +9089,8 @@ msgstr "DM för community" msgid "Community filter" msgstr "Communityfilter" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Communityikon" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Communityn uppdaterad" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Röstchatt i communityn" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Slutför betalning" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Slutför kontrollen för vuxet innehåll för att låsa upp medier med vuxet innehåll." @@ -9409,7 +9409,7 @@ msgstr "Bekräfta" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Bekräfta innan du går med i röstkanaler" @@ -9457,7 +9457,7 @@ msgstr "Bekräfta försäkran för att skicka anmälan." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Bekräfta röstanslutning" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Bekräftelse" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Bekräftelse eller dubbelklick för att ansluta till röstkanaler i communities" @@ -9476,7 +9476,7 @@ msgstr "Bekräftelse eller dubbelklick för att ansluta till röstkanaler i comm msgid "Conflicts with {conflictLabel}" msgstr "Konflikter med {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Anslut en kamera och försök igen." @@ -9489,7 +9489,7 @@ msgstr "Anslut en kamera eller virtuell inspelningsenhet och försök igen." msgid "Connect a display, then try again." msgstr "Anslut en skärm och försök igen." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Anslut en mikrofon och försök igen." @@ -9633,7 +9633,7 @@ msgstr "Anslutning: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Kontakt" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Innehåll blockerat" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Fortsätt i webbläsaren" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Fortsätt till kassan" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Fortsätt med lösennyckel" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Kopiera inbjudningslänk" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Kopiera rader" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Kopiera rader för hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Kopiera rader för hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Kunde inte ändra ditt pris" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Kunde inte söka efter uppdateringar" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Kunde inte radera dina meddelanden" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Kunde inte ladda ner uppdateringen för datorappen" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Kunde inte starta betalning" @@ -10932,7 +10932,7 @@ msgstr "Skapa och dela" msgid "Create a community" msgstr "Skapa en community" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Skapa en community där du och dina vänner kan chatta." @@ -11365,7 +11365,7 @@ msgstr "Anpassad källa" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Ljudet avstängt av moderatorer" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB-paket" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Datorapp" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Datorappen är uppdaterad" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Uppdatering {version} för datorappen är tillgänglig. Välj ett Linux-paket." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Uppdatering för datorappen är tillgänglig" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Uppdatering för datorappen är tillgänglig. Välj ett Linux-paket." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "En ny version för datorn, {version}, är tillgänglig. Ladda ner installationsprogrammet och kör det för att uppdatera {productName}." @@ -12613,7 +12613,7 @@ msgstr "Detaljer: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Identifiera medan du skriver" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Utvecklarverktyg är inte tillgängliga" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Utvecklingsversion" @@ -13455,8 +13455,8 @@ msgstr "Ladda ner" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Ladda ner {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification och placera den i din <1>.well-known-mapp så att vi kan validera domänen." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Ladda ner app" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Ladda ner app-knapp i sidofältet" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Nedladdningsknapp" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Ladda ner datorappen" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Ladda ner bild" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Ladda ner installationsprogram" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Ladda ner medieobjekt" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Ladda ner paket" @@ -13655,11 +13655,11 @@ msgstr "Släpp objekt" msgid "Drop to upload background" msgstr "Släpp för att ladda upp bakgrund" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "På grund av lagar om vuxet innehåll i {regionName} blockeras vuxet innehåll tills du har slutfört kontrollen av vuxet innehåll." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "På grund av lagar om vuxet innehåll i {regionName} är vuxet innehåll inte tillgängligt härifrån. Kontroller av vuxet innehåll är endast tillgängliga i Storbritannien." @@ -13673,7 +13673,7 @@ msgstr "På grund av lagar om vuxet innehåll i {regionName} är detta innehåll msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "På grund av lagar om vuxet innehåll i {regionName} är detta innehåll inte tillgängligt härifrån. Kontroller av vuxet innehåll är endast tillgängliga i Storbritannien." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "På grund av lagar om vuxet innehåll i {regionName} är det här mediet inte tillgängligt från din nuvarande region." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Varje kod fungerar en gång istället för din autentiseringsapp." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Varje tangent kan bara köra en systemövergripande genväg." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Aktivera" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Aktivera behörigheten {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Aktivera genväg" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Aktivera stavningskontroll" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Avsluta respitperioden nu" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Avsluta respitperiod" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Avsluta respitperioden nu?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Ange PIN-koden för din säkerhetsnyckel för att fortsätta." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Ange den här koden i webbläsaren" @@ -14845,7 +14845,7 @@ msgstr "Ange den här koden i webbläsaren" msgid "Enter this code in your browser to complete sign-in." msgstr "Ange den här koden i din webbläsare för att slutföra inloggningen." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Ange den här koden i din gamla {PRODUCT_NAME}-app för att slutföra inloggningen." @@ -14916,7 +14916,7 @@ msgstr "Hela systemljudet" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Anslutningsljud" @@ -15026,7 +15026,7 @@ msgstr "Kvällstid" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Jämnar ut din mikrofonvolym så att du inte är för tyst." @@ -15249,7 +15249,7 @@ msgstr "Går ut mellan {earliest} och {latest}" msgid "Expires in {remaining}s" msgstr "Giltig i {remaining} sekunder" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Giltigt i {remainingSeconds}s" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Favoritmarkera kanal" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Favoritkanaler" @@ -16243,7 +16243,7 @@ msgstr "I {threeHours} timmar" msgid "For {twentyFourHours} hours" msgstr "I {twentyFourHours} timmar" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Bara för brittiska ögon..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "För mig" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Använd en enskild tangent utan Ctrl, Alt eller Shift för ”Tryck för att tysta mikrofonen”. Släpp huvudtangenten först om du använder en kombination, annars kan mikrofonen förbli avstängd." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Använd en enskild tangent utan Ctrl, Alt eller Shift för ”Tryck för att prata”. Släpp huvudtangenten först om du använder en kombination, annars kan mikrofonen förbli på." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Använd en enskild tangent utan Ctrl, Alt eller Shift för den här genvägen. Släpp huvudtangenten först om du använder en kombination, annars kan genvägen förbli aktiv." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Använd en enskild tangent utan Ctrl, Alt eller Shift för ”Prioritet för röstaktivitet”. Släpp huvudtangenten först om du använder en kombination, annars kan prioriteten förbli på." @@ -16460,14 +16460,14 @@ msgstr "Ram" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Bildfrekvens" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Bildfrekvenser över 30 FPS kräver {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Få aviseringar när du får meddelanden. Du kan behöva tillåta aviseringar i webbläsarens inställningar. För aviseringar per kanal/community, högerklicka på en community-ikon och öppna aviseringsinställningarna." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Skaffa datorappen för {productName} för att använda tryck för att prata i hela systemet och få några andra extra funktioner." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Skaffa datorappen" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Gå tillbaka till {productName} för att fortsätta." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Gå tillbaka till {PRODUCT_NAME}-appen. Den loggar in sig själv strax." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Gå tillbaka till {PRODUCT_NAME}-appen. Du kan stänga den här fliken." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Hjälp" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Hjälpknapp" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Hjälpcenter" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Hjälpcenterknapp i sidofältet" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Hjälp till att översätta {PRODUCT_NAME} till ditt språk på <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Dölj chatt" msgid "Hide community owner crown" msgstr "Dölj communityägarens krona" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Dölj nedladdningsknappen" @@ -17860,7 +17860,7 @@ msgstr "Dölj favoriter" msgid "Hide guidelines" msgstr "Dölj riktlinjer" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Dölj hjälpcenterknappen" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Dölj meddelanden om att någon har gått med" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Dölj tangentbordshjälp" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Hyperlänk" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland har ingen genvägsdialog. Lägg till raderna för din Hyprland-version i din Hyprland-konfiguration och ersätt KEY med den tangent du vill använda." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland har ingen dialogruta för genvägar. Bind tangenterna i din Hyprland-konfiguration." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (före Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 och senare)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Jag försäkrar i god tro att uppgifterna och påståendena i denna anmälan är korrekta och fullständiga." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Jag förstår" @@ -18598,11 +18598,11 @@ msgstr "Importerar… {processedCount, number} av {totalCount, number} bearbetad msgid "In" msgstr "I" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "I läget \"Operativsystem\" är ordlistorna ovan vägledande. {PRODUCT_NAME} skickar dessa språktaggar till din OS-stavningskontroll om det stöds. Taggar som inte känns igen ignoreras." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "I en webbläsare fungerar tryck för att prata bara när fliken {PRODUCT_NAME} har fokus. Installera datorappen för att använda tryck för att prata i hela systemet." @@ -18650,7 +18650,7 @@ msgstr "I röstchatt" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Inbyggda ordlistor" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Inmatning" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "In- och utdata" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Infoga emoji" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Installera {productName} för att få hela källväljaren och smidigare kontroller för skärmdelning." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Installera den nya appen" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Installerad" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Installerad version: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Gränssnitt" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Gränssnittspråk" @@ -19467,13 +19467,13 @@ msgstr "Gå med" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Gå med i {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Gå med i {communityName} för att chatta med teamet och hålla dig uppdaterad." @@ -19561,7 +19561,7 @@ msgstr "Gå med i videosamtal" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Gå med i röstchatt" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Behåll gratis- och premiumnivåer. Du kan anpassa nivåerna, sälja premium via Stripe eller dela ut presentkoder senare från administrationspanelen." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Behåll respitperiod" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Fortsätt köra" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Behåll abonnemanget" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Spara den här sidan på en säker plats. Om du glömmer ditt lösenord kan du använda den för att komma tillbaka till ditt konto. Vem som helst med den här återställningsnyckeln kan återställa ditt lösenord, så dela den aldrig." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Fortsätt sända en kort stund efter att knappen släppts." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Tangentbord" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Tangentbordsåtkomsten kunde inte startas. Genvägar fungerar bara när {productName} är i fokus." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Tangentbordsläge" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Visa kortkommandon i verktygstips" @@ -19923,7 +19923,7 @@ msgstr "Språkinställningar" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Språk" @@ -19971,7 +19971,7 @@ msgstr "Latensgraf" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Lät medlemmen höra andra i den här communityn igen" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Låter {productName} läsa ditt tangentbord direkt. Stäng av detta för att ställa in genvägar via din skrivbordsmiljö i stället." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Låter {productName} läsa ditt tangentbord direkt. Ditt system tillåter redan detta." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Standard för Linux" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Linux-paket" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Lokala filer" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Lokal tid" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Utseende och känsla" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Det verkar som att du använder {0}. Om du lägger till ljudbehandlingen i {PRODUCT_NAME} ovanpå den kan det orsaka pumpning eller distorsion. Direktinmatning skickar ditt ljud oförändrat." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Gör till gruppägare" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Se till att den här koden matchar den i appen {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Hantera ditt abonnemang" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Manuell uppdatering av datorappen" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Huvudvolym" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Kategori med vuxet innehåll" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Kanal med vuxet innehåll" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Community med vuxet innehåll" @@ -21194,7 +21194,7 @@ msgstr "Kontrollen för vuxet innehåll skickad" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Kontroller för vuxet innehåll är för närvarande bara tillgängliga i Storbritannien." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Medlemsroller uppdaterade" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Medlem sedan" @@ -22013,7 +22013,7 @@ msgstr "Mikrofon" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Mikrofontest" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Neko-katt som jagar din muspekare" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Nya användare kan inte gå med just nu. Du kan fortfarande skapa ett konto eller logga in och sedan försöka med den här länken igen senare." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Ny version" @@ -23465,7 +23465,7 @@ msgstr "Inga bokmärken" msgid "No bot banner" msgstr "Ingen bot-banner" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Ingen kamera hittades" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Ingen beskrivning." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Ingen uppdatering för datorappen är tillgänglig." @@ -23684,7 +23684,7 @@ msgstr "Inga inlägg matchade" msgid "No mentions yet" msgstr "Inga omnämnanden än" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Ingen mikrofon hittades" @@ -23731,7 +23731,7 @@ msgstr "Inga väntande förfrågningar matchar sökningen" msgid "No permissions found" msgstr "Inga behörigheter hittades" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Inga personliga ord än." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Inte tillåten" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Inte tilldelad" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Vid klick" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "På din andra enhet, logga in på {signInAddress} och ange den här koden när du blir ombedd." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Öppna {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Öppna {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Öppna kontoväxlare" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Öppna avancerade medieinställningar" @@ -24788,7 +24788,7 @@ msgstr "Öppna banneralternativ" msgid "Open bookmarks" msgstr "Öppna bokmärken" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Öppna webbläsaren" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Öppna datumväljaren" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Öppna nedladdningar för dator" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Öppna inställningar" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Öppna programcenter" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Öppna Systeminställningar" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Öppna Systeminställningar → Integritet och säkerhet → Skärminspelning, och tillåt sedan {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Öppna mall-JSON" @@ -25089,7 +25089,7 @@ msgstr "Öppna mall-JSON" msgid "Open the context menu" msgstr "Öppna snabbmenyn" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Öppna länken nedan i din webbläsare, kopiera sedan hela JSON-svaret och klistra in det i rutan." @@ -25167,11 +25167,11 @@ msgstr "Öppna inställningar för ljud och video" msgid "Open with {accountName} on {instanceName}" msgstr "Öppna med {accountName} på {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Öppna din webbläsare, logga in och ange sedan koden nedan för att länka ditt konto." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Öppna din gamla {PRODUCT_NAME}-app, välj Länka en ny enhet och ange sedan koden nedan." @@ -25199,7 +25199,7 @@ msgstr "Öppnar sidan Medlemmar. Tryck på mellanslag eller Enter för att öppn #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Operativsystem" @@ -25629,7 +25629,7 @@ msgstr "Senaste 7 dagarna" msgid "Paste" msgstr "Klistra in" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Klistra in en {theOtherPlatform}-mall-URL för att importera dess struktur till en ny community." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Behörigheter för {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Personlig ordlista" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Välj minst en tagg för det här inlägget." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Välj en eller flera ordlistor. Ord från valda ordlistor accepteras, vilket är användbart för flerspråkiga chattar." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Priser laddas fortfarande." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Köp är inte tillgängliga" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Tangent för tryck för att prata" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Tryck för att prata" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Tryck för att prata (begränsat)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Tryck för att prata har ingen systemövergripande tangent än. Gå till Inställningar > Appar > {productName} för att ställa in en." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Tryck för att prata har ingen systemövergripande tangent än. Gå till Systeminställningar > Tangentbord > Genvägar > {productName} för att ställa in en." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Tryck för att prata har ingen systemövergripande tangent än. Öppna inställningarna för tangentbordsgenvägar i din skrivbordsmiljö för att ställa in en." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Tryck för att prata ignoreras vid direktinmatning. Växla till fokuserat röstläge eller anpassat läge för att använda funktionen." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Tryck för att prata är på. Håll ned din tangent för att prata." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Tryck för att prata fungerar bara när {productName} är i fokus eftersom din skrivbordsmiljö inte ställde in några systemövergripande genvägar." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Tryck-och-tala fungerar bara medan {productName} är aktivt tills {permissionName} har aktiverats." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Tryck för att prata fungerar bara när {productName} är i fokus tills du ställer in systemövergripande genvägar." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Tryck för att prata fungerar bara när webbläsarfliken har fokus." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Tryck för att prata använder tangenten du har ställt in i {productName}. Ställ in en först, annars använder mikrofonen röstaktivitet." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Tryck för att prata slår inte på mikrofonen när ljudet är avstängt. Slå på ljudet för att prata." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Tryck för att prata fungerar utanför {productName} först när du har bundit det i din Hyprland-konfiguration." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Tryck för att prata fungerar utanför {productName} först när du har bundit det i din Hyprland-konfiguration. Lägg till raden för din Hyprland-version och ersätt KEY med den tangent du vill använda." @@ -27533,12 +27533,12 @@ msgstr "Mottagarna kommer att skickas till {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Rekommenderas" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Rekommenderas. Rensar mikrofonsignalen för tydligt tal." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Återanslutningen lyckades. Välj en skärm igen om du vill återuppta din tidigare sändning." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Ansluter till skrivbordsmiljön igen…" @@ -27836,7 +27836,7 @@ msgstr "Starta om för att tillämpa" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Fördröjning efter att tangenten släpps" @@ -27853,7 +27853,7 @@ msgstr "Relevant" msgid "Reload" msgstr "Ladda om" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Ladda om {PRODUCT_NAME} för att motorbytet ska börja gälla fullt ut. Att växla mellan stavningskontroll i appen och systemets stavningskontroll kräver att renderaren laddas om eftersom Electron inte kan byta leverantör under körning." @@ -27872,7 +27872,7 @@ msgstr "Ladda om {productName} för att använda webbaserad uppdatering {version msgid "Reload app" msgstr "Ladda om appen" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Ladda om nu" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Ta bort" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Ta bort \"{word}\" från ordlistan" @@ -28086,8 +28086,8 @@ msgstr "Ta bort från URL-baserade GIF-favoriter" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Ta bort ikon" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Rader per sida" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM-paket" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Säkerhet" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Samma tid som du" @@ -29770,7 +29770,7 @@ msgstr "Skärminspelning" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Skärminspelningsbehörighet krävs" @@ -29858,7 +29858,7 @@ msgstr "Sekretess vid skärmdelning" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Skärmdelningskvalitet" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Sök språkkod…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Sök språk…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Välj GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Välj språk för gränssnittet" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Välj det konto du vill logga in med på din nya enhet." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Välj röstbehandlingsläge" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Skickar rått mikrofonljud utan bearbetning." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Skickar ditt ljud oförändrat. Bäst om du använder extern ljudprogramvara." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Ställde in en position i medlemslistan för rollen" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Ställs in av förinställningen {preset}. Att välja ett värde här växlar till Anpassad." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Ställde in röstregionen till automatisk" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Ställ in" @@ -31307,7 +31307,7 @@ msgstr "Dela med en vän" msgid "Share your screen" msgstr "Dela din skärm" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Dela din skärm i HD (1080p), Quad HD (1440p) eller källans ursprungliga upplösning, med upp till 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Kortkoder" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Genväg" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Märken för kortkommandon" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Visa favoritknapp" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Visa favoriter i hela appen" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Logga in med din webbläsare" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Logga in med din gamla {productName}-app" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Logga ut?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Inloggning avbruten" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Inloggningsuppgifter" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Inloggningsflöde" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Loggar in som {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Loggar du in på en annan enhet?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Ljud" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Hastighet" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Stavningskontroll" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Motor för stavningskontroll" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Stjärnanimation" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Stjärnmärkta kanaler" @@ -33140,7 +33140,7 @@ msgstr "Starta ett röstsamtal?" msgid "Start call" msgstr "Starta samtal" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Starta kameratest och konfigurera effekter" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Starta minimerad" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Start" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Statisk Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Indexerar fortfarande – titta tillbaka om en stund" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Stillastående Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Väntar fortfarande på åtkomst till skärminspelning" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Stoppa mikrofontest" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Hindra Neko från att jaga muspekaren, men behåll möjligheten att dra och interagera med katten." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Abonnemanget finns redan" @@ -33957,7 +33957,7 @@ msgstr "Byt till rymlig layout" msgid "Switch to dense layout" msgstr "Växla till kompakt layout" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Byt till direktinmatning" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "Röstsamtal kan inte startas i system-DM." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Systemets tidsformat: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Meddelandefältet" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Systemhanterad installation" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Systemövergripande genvägar" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Systemövergripande genvägar kunde inte ställas in." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Tryck för att lägga till en anteckning" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz-arkiv" @@ -34360,7 +34360,7 @@ msgstr "Märke på aktivitetsfältets ikon" msgid "Teleporting you to another voice region..." msgstr "Teleporterar dig till en annan röstregion..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Mall" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "Appen {PRODUCT_NAME} på din andra enhet visas under \"Loggar in på en annan enhet\". Ange endast en kod från en enhet som du kontrollerar." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "Appen {PRODUCT_NAME} loggades inte in. Du kan stänga den här fliken." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Communityn du letar efter kan ha raderats eller så har du inte åtkomst till den." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Uppdateringen för datorappen kunde inte laddas ner. Försök igen via uppdateringsknappen när anslutningen är stabil." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Den nedladdade filen sparas på din dator. Installera den med din vanliga pakethanterare." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Den här kategorin innehåller redan det maximala antalet kanaler: {maxChannelsPerCategory}." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Den här kategorin är markerad för vuxet innehåll och kan innehålla material som kan vara olämpligt för vissa användare." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Kanalen har en innehållsvarning. Uppdateringar kan bara skickas till kanaler med en innehållsvarning eller åldersgräns." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Den här kanalen är markerad för vuxet innehåll och kan innehålla material som kan vara olämpligt för vissa användare." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Den här communityn är full" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Den här communityn är markerad för vuxet innehåll och kan innehålla material som är olämpligt för vissa användare." @@ -35324,14 +35324,14 @@ msgstr "Den här communityn är inte längre tillgänglig" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Den här anslutningen har verifierats." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Den här anslutningen har inte verifierats." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Den här konversationen är inte längre tillgänglig." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Den här versionen av datorappen kan inte installera uppdateringar inifrån {productName}. Ladda ner det senaste installationsprogrammet för datorappen i stället." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Den här skrivbordsmiljön har inte stöd för systemövergripande genvägar. Tryck för att prata fungerar bara när {productName} är i fokus." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Den här skrivbordsmiljön har inte stöd för systemövergripande genvägar. Genvägar fungerar fortfarande när {productName} är i fokus." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Den här utvecklingsversionen kan inte uppdatera sig själv. Ladda ner ett installationsprogram för datorappen för att prova uppdateringsflödet." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Bilden kunde inte läsas. Den kan vara skadad." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Den här installationen hanteras av ditt system. Uppdatera {productName} via din programhanterare eller pakethanterare." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Den här instansen använder redan användarnamn för inloggning. Det går inte att ändra detta." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Den här instansen tillåter för närvarande skärmdelning upp till 720p vid 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Den här länken är inte giltig. Öppna länken från ditt mejl igen." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Den här kategorin med vuxet innehåll är inte tillgänglig för ditt konto." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Den här kategorin med vuxet innehåll är inte tillgänglig för ditt konto. <0>Läs mer" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Den här kanalen med vuxet innehåll är inte tillgänglig för ditt konto." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Den här kanalen med vuxet innehåll är inte tillgänglig för ditt konto. <0>Läs mer" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Den här communityn med vuxet innehåll är inte tillgänglig för ditt konto." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Den här communityn med vuxet innehåll är inte tillgänglig för ditt konto. <0>Läs mer" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Det här medieobjektet med vuxet innehåll är inte tillgängligt för ditt konto." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Det här medieobjektet med vuxet innehåll är inte tillgängligt för ditt konto. <0>Läs mer" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Den här planen är inte tillgänglig. Kontakta supporten." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Den här planen är inte tillgänglig. Kontakta administratörerna för den här instansen." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Det här köpet kan inte återbetalas." @@ -35837,7 +35853,7 @@ msgstr "Den här tråden är låst. Endast moderatorer kan skicka meddelanden." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Den här användaren har begränsat sin profil. Vissa detaljer är dolda för personer som inte är deras vänner." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Den här användaren har inga roller i den här communityn." @@ -36050,14 +36066,14 @@ msgstr "Tid" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Tidsformat" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Välj tidsformat" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Plattform för namnlist" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Gå till Inställningar > Appar > {productName} för att ändra tangenterna." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Gå till Systeminställningar > Tangentbord > Genvägar > {productName} för att ändra tangenterna." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Öppna inställningarna för tangentbordsgenvägar i din skrivbordsmiljö för att ändra tangenterna." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Verktygsfält" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Kortkommandon i verktygstips" @@ -36864,7 +36880,7 @@ msgstr "24-timmarsformat" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Två klick" @@ -37263,7 +37279,7 @@ msgstr "Universell reserv. Lägsta kvalitet, men fungerar överallt." #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Okänt" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Lås upp anpassade emojier i DM med {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Lås upp HD-skärmdelning med {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Upp till 720p i 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Uppdatera {productName} för att använda systemövergripande genvägar i Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Uppdatera min status" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Uppdatera nu" @@ -38008,8 +38024,8 @@ msgstr "Ladda upp filer och medier i den här kanalen." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Ladda upp ikon" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Använd {name} på {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Använd {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Använd {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Använd en annan metod" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Använd automatisk rullning" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Använd kort" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Använd standard" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Använd direkt åtkomst till indataenheter" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Använd klistermärken från andra communities." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Använd systemets språkinställning för tidsformat" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Använd operativsystemets fönsterram" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Använd operativsystemets inbyggda stavningskontroll." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Använd röstaktivering" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Använd operativsystemets stavningskontroll när den är tillgänglig. Annars används de inbyggda ordlistorna i {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Verifiera din e-postadress först" @@ -39244,7 +39260,7 @@ msgstr "Visa detaljer" msgid "View devices that are signed in to your account" msgstr "Visa enheter som är inloggade på ditt konto" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Visa hela profilen" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Röstkanal" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Bekräftelse av röstkanal" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Röstkanalen är full" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Beteende vid anslutning till röstkanal" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Röstdeltagare" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Röstbearbetning" @@ -39661,7 +39677,7 @@ msgstr "Slå på ljudet" msgid "Voice unmute" msgstr "Slå på mikrofonen" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Röstsamtal använder systemets ljudutgång i den här webbläsaren. Ändra den i systeminställningarna." @@ -39675,7 +39691,7 @@ msgstr "Ogiltig" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Vänta mellan meddelanden. Medlemmar med behörigheten ”{bypassSlowmod msgid "Waiting for connection..." msgstr "Väntar på anslutning…" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Väntar på lösennyckel…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Väntar på att du ska..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Väntar på skrivbordsmiljön…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Vi kunde inte läsa det här temat. Det kan vara skadat eller ogiltigt." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Vi skalade och komprimerade klistermärket till 320x320 pixlar, men det msgid "We sent a code to {email}." msgstr "Vi skickade en kod till {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Vi fyller i {prefillEmail} automatiskt när inloggningen öppnas i webbläsaren." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Förhandsvisningar av webbplatser" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Välkommen tillbaka" @@ -40321,7 +40337,7 @@ msgstr "Vilka communities" msgid "Which conversations" msgstr "Vilka konversationer" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "När tryck för att prata är på styr kortkommandot mikrofonen, så knappen för att stänga av mikrofonen är inaktiverad." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Du tryckte precis på Tab. Tangentbordsläget är nu aktiverat så att du kan navigera i {productName} utan mus." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Du behåller dina förmåner till nästa förnyelsedatum. Återaktivera innan dess för att behålla din abonnemangshistorik." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Du förlorar alla {PREMIUM_PRODUCT_NAME}-förmåner direkt och din abonnemangshistorik återställs. Detta kan inte ångras." @@ -41137,8 +41153,8 @@ msgstr "Du behöver behörigheten ”{permissionLabel}” för att använda emoj msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Du behöver behörigheten ”{permissionLabel}” för att använda klistermärken från andra communities här." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Du måste säkra ditt konto innan du kan skapa en community." @@ -41155,8 +41171,8 @@ msgstr "Du måste säkra ditt konto för att skicka direktmeddelanden." msgid "You need to claim your account to send messages in this community." msgstr "Du måste säkra ditt konto för att skicka meddelanden i den här communityn." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Du måste verifiera din e-postadress innan du kan skapa en community." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 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}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Du visas som offline" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Du debiteras nu. Din återstående gåvotid läggs till efter din betalda period, så inget går förlorat." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Du är redan Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Du skickar anmälningar för snabbt. Försök igen senare." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Du är inloggad" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Ditt konto är för nytt för att skicka meddelanden i den här communit msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Din kontobegäran väntar på godkännande. Du kan logga in efter att en administratör har godkänt den." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Ditt konto kräver multifaktorautentisering, men ingen metod som stöds är konfigurerad på den här enheten. Logga in på en enhet med din autentiseringsapp eller säkerhetsnyckel eller kontakta supporten." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Ditt konto kräver multifaktorautentisering, men ingen metod som stöds är konfigurerad på den här enheten. Logga in på en enhet med din autentiseringsapp eller säkerhetsnyckel eller kontakta administratörerna för den här instansen." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Dina konton och inställningar har inte ändrats eller raderats." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Din åtgärd kunde inte slutföras eftersom den flaggades av våra säkerhetssystem. Om du tror att detta är ett misstag, vänligen kontakta support." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Din åtgärd kunde inte slutföras eftersom den flaggades av våra säkerhetssystem. Om du tror att detta är ett misstag, vänligen kontakta administratörerna för den här instansen." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Ditt nuvarande kit slutar fungera så fort det nya skapas." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Din skrivbordsmiljö ställde inte in några systemövergripande genvägar." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Din skrivbordsmiljö reserverar dessa tangenter åt {productName}, så andra appar kan inte använda dem." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Din skrivbordsmiljö reserverar dessa tangenter åt {productName}, så andra appar kan inte använda dem. Slå på direkt åtkomst till indataenheter nedan om du vill använda samma tangent i andra appar." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Din skrivbordsmiljö kör de här genvägarna även när {productName} inte är i fokus." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Din gåvotid har tagit slut. Prenumerera för att behålla {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Din gåvotid sparas" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Din respitperiod har löpt ut." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Din installation är skadad. Du behöver installera om appen för att all funktionalitet ska fungera." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Ditt senaste köp ligger utanför återbetalningsperioden. Kontakta supporten vid faktureringsproblem." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Ditt meddelande kunde inte levereras eftersom det flaggades av våra säkerhetssystem. Om du tror att detta är ett misstag, kontakta supporten." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Ditt meddelande kunde inte levereras eftersom det flaggades av våra säkerhetssystem. Om du tror att detta är ett misstag, kontakta administratörerna för den här instansen." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Ditt meddelande kunde inte levereras. Det beror oftast på att du inte delar en community med mottagaren eller att mottagaren bara accepterar direktmeddelanden från vänner. Du kan också behöva justera dina egna inställningar för direktmeddelanden i {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Ditt meddelande kunde inte levereras. Du måste säkra ditt konto för att skicka direktmeddelanden." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Ditt meddelande kunde inte levereras. Du måste säkra ditt konto för att skicka meddelanden." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Din anmälan gick inte igenom. Försök igen." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Din sparade {savedResolution} med {savedFrameRate} FPS kräver {premiumProductName}, så delningar använder {resolution} med {frameRate} FPS." diff --git a/fluxer_app/src/features/i18n/locales/th/messages.po b/fluxer_app/src/features/i18n/locales/th/messages.po index b7114c08c..6c1ca717c 100644 --- a/fluxer_app/src/features/i18n/locales/th/messages.po +++ b/fluxer_app/src/features/i18n/locales/th/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} ใช้ Fluxer เวอร์ชันที่ใหม่กว่าแอปนี้ โปรดอัปเดต Fluxer แล้วลองอีกครั้ง" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "เร็วกว่าคุณ {duration}" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "ช้ากว่าคุณ {duration}" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} เฟรมต่อวินาที" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# ชั่วโมงที่แล้ว} other #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# ชั่วโมง} other {# ชั่วโมง}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# ชั่วโมง} other {# ชั่วโมง}} {minutes, plural, one {# นาที} other {# นาที}}" @@ -1602,7 +1602,7 @@ msgstr "ไฟล์ {label} มีขนาดใหญ่เกินไป msgid "{label} images cannot be animated. Use a static image." msgstr "{label} ไม่สามารถเป็นภาพเคลื่อนไหวได้ ใช้ภาพนิ่ง" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "ธงของ {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# นาทีที่แล้ว} other {# น #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, other {# นาที}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} ตรวจพบอุปกรณ์เอาต์พ msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} ต้องรีสตาร์ทก่อนที่การตั้งค่าการเลื่อนแบบเนทีฟของ Chromium จะมีผลต่อการเลื่อนหน้าจอ" -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} ต้องรีสตาร์ทเพื่อให้การเร่งฮาร์ดแวร์มีผล" -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} ต้องรีสตาร์ทเพื่อให้การเปลี่ยนแปลงแถบชื่อเรื่องมีผล" -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} ต้องรีสตาร์ทเพื่อปิดการเร่งฮาร์ดแวร์ของ Chromium ใช้ตัวเลือกนี้เฉพาะเมื่อคุณกำลังแก้ปัญหาภาพกราฟิกผิดปกติหรือการใช้งาน GPU สูง" @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "นักล่าบั๊ก {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} สามารถขอให้เดสก์ท็อปของคุณเรียกใช้ปุ่มลัดของแอปได้แม้ {productName} ไม่ได้อยู่ในโฟกัส เดสก์ท็อปจะขอให้คุณยืนยันและให้คุณเลือกปุ่มเอง" #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} อ่านคีย์บอร์ดของคุณไม่ได้แล้ว จึงรับปุ่มลัดผ่าน X11 แทน" #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} อ่านคีย์บอร์ดของคุณไม่ได้แล้ว จึงใช้ปุ่มลัดของเดสก์ท็อปแทน" #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} อ่านคีย์บอร์ดของคุณไม่ได้แล้ว ปุ่มลัดจะทำงานเมื่อ {productName} อยู่ในโฟกัสเท่านั้น" #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} สามารถลงทะเบียนปุ่มลัดกับ Hyprland เพื่อให้ทำงานได้แม้ {productName} ไม่ได้อยู่ในโฟกัส จากนั้นให้ผูกคีย์ในไฟล์กำหนดค่า Hyprland ของคุณ" @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} ไม่สามารถใช้ตัวเข้ารหัสฮาร์ดแวร์กับตัวเลือกนี้ได้ จึงจะใช้ CPU ของคุณแทน" #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} จะปิดเพื่อติดตั้งอัปเดต จากนั้นจะเปิดขึ้นมาใหม่" #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} ไม่สามารถเชื่อมต่อกับบริการอัปเดตได้ โปรดตรวจสอบการเชื่อมต่อของคุณและลองใหม่อีกครั้ง" @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} ย้ายไปที่ {host} แล้ว เปิดในเบราว์เซอร์ของคุณเพื่อติดตั้งแอปใหม่" #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "เป็นสมาชิก {productName} ตั้งแต่" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} ต้องการสิทธิ์เข้าถึงไมโครโฟนของคุณ โปรดอนุญาตการเข้าถึงไมโครโฟนในการตั้งค่าความเป็นส่วนตัวของระบบปฏิบัติการ แล้วรีสตาร์ทแอป" #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} ต้องการสิทธิ์เข้าถึงกล้องเพื่อแสดงรายการอุปกรณ์ของคุณ" #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} ต้องการสิทธิ์เข้าถึงไมโครโฟนเพื่อแสดงรายการอุปกรณ์ของคุณ" @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "ชุดกู้คืน {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} ลงทะเบียนปุ่มลัดกับ Hyprland แล้ว ผูกคีย์ในไฟล์กำหนดค่า Hyprland เพื่อใช้ปุ่มลัดเหล่านี้ขณะที่ {productName} ไม่ได้อยู่ในโฟกัส" @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 เดือน (1 ปี)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12 ชั่วโมง" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 ชั่วโมง" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24 ชั่วโมง" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "ชื่อโฮสต์ เช่น {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "มีการอัปเดตเดสก์ท็อปสำหรับ Linux แล้ว เลือกรูปแบบแพ็กเกจสำหรับระบบนี้ แล้ว {productName} จะบันทึกไฟล์ไว้ในเครื่อง" @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "1 นาที" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "มีเวอร์ชันเดสก์ท็อปใหม่พร้อมให้ดาวน์โหลดแล้ว โปรดดาวน์โหลดไฟล์ติดตั้งและเรียกใช้เพื่ออัปเดต {productName}" @@ -2817,7 +2817,7 @@ msgstr "เกี่ยวกับ {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "เกี่ยวกับฉัน" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "การแชร์กิจกรรม" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "เกณฑ์กิจกรรม" @@ -3155,7 +3155,7 @@ msgstr "ขนาดจริง" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "เพิ่ม" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "โปรดเพิ่มชื่อผู้ใช้และรหัสผ่านให้กับบัญชีของคุณก่อน" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "เพิ่มคำ…" @@ -3244,7 +3244,7 @@ msgstr "เพิ่มคีย์ YouTube Data API เพื่อปรับ #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "เพิ่มบัญชี" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "ที่อยู่" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "ปรับการตั้งค่าแต่ละรายการด้วยตัวเอง: การลดเสียงรบกวน การตัดเสียงสะท้อน และเกน" @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "ขั้นสูง" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "การตั้งค่าวิดีโอขั้นสูง" @@ -3906,22 +3906,22 @@ msgstr "อนุญาต" msgid "Allow {everyoneMention} and {hereMention}" msgstr "อนุญาต {everyoneMention} และ {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "อนุญาตให้ {PRODUCT_NAME} เข้าถึงกล้องของคุณได้ใน การตั้งค่าระบบ → ความเป็นส่วนตัวและความปลอดภัย → กล้อง" -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "อนุญาตให้ {PRODUCT_NAME} เข้าถึงไมโครโฟนของคุณได้ใน System Settings → Privacy & Security → Microphone" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "อนุญาตให้ {PRODUCT_NAME} เข้าถึงไมโครโฟนของคุณ ตรวจสอบแถบที่อยู่หรือการตั้งค่าของเบราว์เซอร์ของคุณ" #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "อนุญาตให้ {productName} ในส่วนการบันทึกหน้าจอ (Screen Recording) ในการตั้งค่าระบบ (System Settings) หากได้รับอนุญาตแล้ว ให้เปิดใช้งาน {productName2} ใหม่เพื่อให้ macOS นำไปใช้" @@ -3961,7 +3961,7 @@ msgstr "อนุญาตให้บอทส่งข้อความส่ msgid "Allow bots to send you direct messages?" msgstr "อนุญาตให้บอทส่งข้อความส่วนตัวถึงคุณหรือไม่" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "อนุญาตให้เข้าถึงกล้อง" @@ -4029,7 +4029,7 @@ msgstr "อนุญาตให้สมาชิกที่ไม่มีส msgid "Allow mentions for this role" msgstr "อนุญาตให้กล่าวถึงบทบาทนี้" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "อนุญาตให้ใช้ไมโครโฟน" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "ขีดเส้นใต้ลิงก์เสมอ" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "ใช้พจนานุกรม Hunspell ของ {productName} เสมอ ซึ่งจะดาวน์โหลดเมื่อมีการเรียกใช้" @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "ป้ายไอคอนแอป" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "รูปแบบเวลาตามภาษาของแอป: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "ต้องได้รับการอนุมัติ" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "อนุมัติแอปนี้จากแอป {productName} ที่คุณใช้อยู่แล้ว ไม่ต้องใช้รหัสผ่าน" @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "อนุญาตเมื่อ {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "อัตโนมัติ" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "ตรวจจับภาษาอัตโนมัติ" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "ตั้งค่าเกณฑ์กิจกรรมอัตโนมัติ" @@ -5534,7 +5534,7 @@ msgstr "AV1 (ต้องเปิดใช้งานก่อน)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "พร้อมใช้งาน" @@ -5608,11 +5608,11 @@ msgstr "ไม่อยู่ตอนนี้" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "บีบอัดได้ดีที่สุด ใช้เฉพาะเมื่อ WebRTC แสดงตัวเข้ารหัสและรายงาน GPU ระบุว่าใช้ฮาร์ดแวร์" #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "ใช้ดีที่สุดบนแอปเดสก์ท็อป" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "เบราว์เซอร์: หน้าแรก" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "รูปแบบเวลาตามเบราว์เซอร์: {format}" @@ -6545,8 +6545,8 @@ msgstr "ซื้อของขวัญ {premiumProductName} จากแท msgid "Buy gift" msgstr "ซื้อของขวัญ" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "การสร้างคอมมูนิตี้แสดงว่าคุณยอมรับที่จะปฏิบัติตามและรักษา<0>หลักเกณฑ์คอมมูนิตี้ของ {PRODUCT_NAME}" @@ -6658,7 +6658,7 @@ msgstr "การโทร" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "ตัวอย่างกล้อง" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "คุณภาพกล้อง" @@ -6809,8 +6809,8 @@ msgstr "อัปโหลดไฟล์ที่นี่ไม่ได้" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "ยกเลิกการเปลี่ยนที่กำหนด #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "ยกเลิกการสมัครสมาชิก" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "ยกเลิกการสมัครสมาชิกใช่หรือไม่" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "หมวดหมู่" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "คำเตือนเนื้อหาหมวดหมู่" @@ -7131,15 +7131,15 @@ msgstr "เปลี่ยนชื่อเล่นกลุ่ม" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "เปลี่ยนไอคอน" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "เปลี่ยนในการตั้งค่าระบบ" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "ป้ายกำกับช่อง" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "คำเตือนเนื้อหาช่อง" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "ปุ่มลัดแชท" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "ตรวจสอบอีกครั้ง" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "กำลังตรวจสอบสิทธิ์..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "กำลังตรวจสอบสิทธิ์การบันทึกหน้าจอ…" @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "ไม่สามารถชำระเงินได้" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "เลือกช่องทางชำระเงินสำหรับการสมัครสมาชิกนี้" @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "เลือกช่องทางการชำระเงิน" @@ -8174,7 +8174,7 @@ msgstr "เลือกค่าเริ่มต้นของคุณ" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "เลือกอินสแตนซ์ของคุณ" @@ -8216,8 +8216,8 @@ msgstr "รับของขวัญ" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "ยืนยันบัญชีของคุณ" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "แบดจ์คอมมูนิตี้" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "คำเตือนเนื้อหาของคอมมูนิตี้" @@ -9089,8 +9089,8 @@ msgstr "DM คอมมูนิตี้" msgid "Community filter" msgstr "ตัวกรองคอมมูนิตี้" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "ไอคอนคอมมูนิตี้" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "อัปเดตคอมมูนิตี้แล้ว" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "เสียงคอมมูนิตี้" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "ชำระเงินให้เสร็จสมบูรณ์" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "ทำการตรวจสอบเนื้อหาสำหรับผู้ใหญ่ให้เสร็จสิ้นเพื่อปลดล็อกสื่อสำหรับผู้ใหญ่" @@ -9409,7 +9409,7 @@ msgstr "ยืนยัน" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "ยืนยันก่อนเข้าร่วมช่องเสียง" @@ -9457,7 +9457,7 @@ msgstr "ยืนยันคำรับรองเพื่อส่งรา #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "ยืนยันการเข้าร่วมช่องเสียง" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "การยืนยัน" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "ยืนยันหรือดับเบิลคลิกเพื่อเข้าร่วมช่องเสียงของคอมมูนิตี้" @@ -9476,7 +9476,7 @@ msgstr "ยืนยันหรือดับเบิลคลิกเพื msgid "Conflicts with {conflictLabel}" msgstr "ขัดแย้งกับ {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "เชื่อมต่อกล้องแล้วลองอีกครั้ง" @@ -9489,7 +9489,7 @@ msgstr "เชื่อมต่อกล้องหรืออุปกรณ msgid "Connect a display, then try again." msgstr "เชื่อมต่อจอแสดงผล แล้วลองอีกครั้ง" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "เชื่อมต่อไมโครโฟนแล้วลองอีกครั้ง" @@ -9633,7 +9633,7 @@ msgstr "การเชื่อมต่อ: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "ติดต่อ" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "เนื้อหาถูกบล็อก" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "ดำเนินการต่อในเบราว์เซอร์ของคุณ" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "ดำเนินการต่อเพื่อชำระเงิน" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "ดำเนินการต่อด้วยพาสคีย์" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "คัดลอก URL คำเชิญ" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "คัดลอกบรรทัด" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "คัดลอกบรรทัดสำหรับ hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "คัดลอกบรรทัดสำหรับ hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "เปลี่ยนราคาของคุณไม่ได้" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "ตรวจสอบการอัปเดตไม่สำเร็จ" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "ลบข้อความของคุณไม่ได้" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "ดาวน์โหลดการอัปเดตเดสก์ท็อปไม่ได้" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "ไม่สามารถเริ่มชำระเงินได้" @@ -10932,7 +10932,7 @@ msgstr "สร้างและแชร์" msgid "Create a community" msgstr "สร้างคอมมูนิตี้" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "สร้างคอมมูนิตี้ให้คุณและเพื่อนๆ ได้แชทกัน" @@ -11365,7 +11365,7 @@ msgstr "กำหนดเอง" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "ปิดเสียงทั้งหมดโดยผู้ดูแล" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "แพ็กเกจ DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "แอปเดสก์ท็อป" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "แอปเดสก์ท็อปเป็นเวอร์ชันล่าสุดแล้ว" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "มีอัปเดตเดสก์ท็อป {version} ให้ใช้งาน เลือกแพ็กเกจ Linux" #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "มีอัปเดตสำหรับเดสก์ท็อป" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "มีการอัปเดตเดสก์ท็อป เลือกแพ็กเกจ Linux" #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "มีเวอร์ชันเดสก์ท็อป {version} แล้ว ดาวน์โหลดตัวติดตั้ง จากนั้นเรียกใช้เพื่ออัปเดต {productName}" @@ -12613,7 +12613,7 @@ msgstr "รายละเอียด: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "ตรวจจับขณะพิมพ์" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "เครื่องมือสำหรับนักพัฒนาไม่พร้อมใช้งาน" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "บิลด์สำหรับนักพัฒนา" @@ -13455,8 +13455,8 @@ msgstr "ดาวน์โหลด" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "ดาวน์โหลด {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification แล้ววางในโฟลเดอร์ <1>.well-known ของคุณ เพื่อให้เราตรวจสอบยืนยันโดเมนได้" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "ดาวน์โหลดแอป" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "ปุ่มดาวน์โหลดแอปในแถบด้านข้าง" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "ปุ่มดาวน์โหลด" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "ดาวน์โหลดแอปเดสก์ท็อป" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "ดาวน์โหลดรูปภาพ" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "ดาวน์โหลดตัวติดตั้ง" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "ดาวน์โหลดสื่อ" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "ดาวน์โหลดแพ็กเกจ" @@ -13655,11 +13655,11 @@ msgstr "วางไอเทม" msgid "Drop to upload background" msgstr "วางเพื่ออัปโหลดภาพพื้นหลัง" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "เนื่องจากกฎหมายเนื้อหาสำหรับผู้ใหญ่ใน {regionName} เนื้อหาสำหรับผู้ใหญ่จะถูกบล็อกจนกว่าคุณจะดำเนินการตรวจสอบเนื้อหาสำหรับผู้ใหญ่เสร็จสิ้น" -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "เนื่องจากกฎหมายเนื้อหาสำหรับผู้ใหญ่ใน {regionName} เนื้อหาสำหรับผู้ใหญ่จึงไม่สามารถใช้งานได้จากที่นี่ การตรวจสอบเนื้อหาสำหรับผู้ใหญ่มีให้ใช้งานเฉพาะในสหราชอาณาจักรเท่านั้น" @@ -13673,7 +13673,7 @@ msgstr "เนื่องจากกฎหมายเนื้อหาสำ msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "เนื่องจากกฎหมายเนื้อหาสำหรับผู้ใหญ่ใน {regionName} เนื้อหานี้จึงไม่สามารถใช้งานได้จากที่นี่ การตรวจสอบเนื้อหาสำหรับผู้ใหญ่มีให้ใช้งานเฉพาะในสหราชอาณาจักรเท่านั้น" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "เนื่องจากกฎหมายเนื้อหาสำหรับผู้ใหญ่ใน {regionName} สื่อนี้จึงไม่สามารถใช้งานได้ในภูมิภาคปัจจุบันของคุณ" @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "แต่ละรหัสใช้ได้ครั้งเดียวแทนแอปยืนยันตัวตนของคุณ" #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "แต่ละคีย์ใช้กับปุ่มลัดทั่วทั้งระบบได้เพียงรายการเดียว" @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "เปิดใช้งาน" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "เปิดใช้งานสิทธิ์ {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "เปิดใช้ปุ่มลัด" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "เปิดใช้งานการตรวจสอบการสะกดคำ" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "สิ้นสุดช่วงผ่อนผันตอนนี้" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "สิ้นสุดช่วงผ่อนผัน" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "สิ้นสุดช่วงผ่อนผันตอนนี้ใช่ไหม" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "ป้อนรหัส PIN ของคีย์ความปลอดภัยของคุณเพื่อดำเนินการต่อ" #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "ป้อนรหัสนี้ในเบราว์เซอร์ของคุณ" @@ -14845,7 +14845,7 @@ msgstr "ป้อนรหัสนี้ในเบราว์เซอร์ msgid "Enter this code in your browser to complete sign-in." msgstr "ป้อนรหัสนี้ในเบราว์เซอร์เพื่อลงชื่อเข้าใช้ให้เสร็จสมบูรณ์" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "กรอกรหัสนี้ในแอป {PRODUCT_NAME} เดิมของคุณเพื่อดำเนินการลงชื่อเข้าใช้ให้เสร็จสมบูรณ์" @@ -14916,7 +14916,7 @@ msgstr "เสียงทั้งระบบ" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "เสียงเข้าห้อง" @@ -15026,7 +15026,7 @@ msgstr "ช่วงเย็น" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "ปรับระดับเสียงไมโครโฟนของคุณให้สม่ำเสมอ เพื่อไม่ให้เสียงเบาเกินไป" @@ -15249,7 +15249,7 @@ msgstr "หมดอายุระหว่าง {earliest} ถึง {latest} msgid "Expires in {remaining}s" msgstr "หมดอายุใน {remaining} วินาที" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "หมดอายุใน {remainingSeconds} วินาที" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "เพิ่มช่องในรายการโปรด" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "ช่องโปรด" @@ -16243,7 +16243,7 @@ msgstr "เป็นเวลา {threeHours} ชั่วโมง" msgid "For {twentyFourHours} hours" msgstr "เป็นเวลา {twentyFourHours} ชั่วโมง" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "สำหรับชาวอังกฤษเท่านั้น..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "สำหรับฉัน" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "สำหรับกดเพื่อปิดไมโครโฟน ให้ใช้ปุ่มเดียวที่ไม่มี Ctrl, Alt หรือ Shift หากใช้ปุ่มผสม ให้ปล่อยปุ่มหลักก่อน มิฉะนั้นไมโครโฟนอาจยังปิดอยู่" #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "สำหรับกดเพื่อพูด ให้ใช้ปุ่มเดียวที่ไม่มี Ctrl, Alt หรือ Shift หากใช้ปุ่มผสม ให้ปล่อยปุ่มหลักก่อน มิฉะนั้นไมโครโฟนอาจยังเปิดอยู่" #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "สำหรับปุ่มลัดนี้ ให้ใช้ปุ่มเดียวที่ไม่มี Ctrl, Alt หรือ Shift หากใช้ปุ่มผสม ให้ปล่อยปุ่มหลักก่อน มิฉะนั้นปุ่มลัดอาจยังทำงานอยู่" #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "สำหรับการตรวจจับเสียงพูด (สำคัญ) ให้ใช้ปุ่มเดียวที่ไม่มี Ctrl, Alt หรือ Shift หากใช้ปุ่มผสม ให้ปล่อยปุ่มหลักก่อน มิฉะนั้นลำดับความสำคัญอาจยังเปิดอยู่" @@ -16460,14 +16460,14 @@ msgstr "กรอบหน้าต่าง" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "อัตราเฟรม" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "อัตราเฟรมที่สูงกว่า 30 FPS ต้องใช้ {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "รับการแจ้งเตือนเมื่อมีข้อความเข้า คุณอาจต้องอนุญาตการแจ้งเตือนในการตั้งค่าเบราว์เซอร์ หากต้องการควบคุมการแจ้งเตือนแต่ละช่อง/แต่ละคอมมูนิตี้ ให้คลิกขวาที่ไอคอนคอมมูนิตี้แล้วเปิดการตั้งค่าการแจ้งเตือน" #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "รับแอปเดสก์ท็อป {productName} เพื่อใช้กดเพื่อพูดได้ทั่วทั้งระบบ และลูกเล่นดี ๆ อีกเล็กน้อย" #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "รับแอปเดสก์ท็อป" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "กลับไปที่ {productName} เพื่อดำเนินการต่อ" #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "กลับไปที่แอป {PRODUCT_NAME} การลงชื่อเข้าใช้จะเสร็จสมบูรณ์เอง" #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "กลับไปที่แอป {PRODUCT_NAME} คุณสามารถปิดแท็บนี้ได้" @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "ช่วยเหลือ" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "ปุ่มช่วยเหลือ" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "ศูนย์ช่วยเหลือ" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "ศูนย์ช่วยเหลือ" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "ช่วยแปล {PRODUCT_NAME} เป็นภาษาของคุณบน <0>{I18N_WEBLATE_DOMAIN}" @@ -17841,7 +17841,7 @@ msgstr "ซ่อนแชท" msgid "Hide community owner crown" msgstr "ซ่อนมงกุฎเจ้าของคอมมูนิตี้" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "ซ่อนปุ่มดาวน์โหลด" @@ -17860,7 +17860,7 @@ msgstr "ซ่อนรายการโปรด" msgid "Hide guidelines" msgstr "ซ่อนแนวทาง" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "ซ่อนปุ่มศูนย์ช่วยเหลือ" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "ซ่อนข้อความเข้าร่วม" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "ซ่อนคำแนะนำแป้นพิมพ์" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "ไฮเปอร์ลิงก์" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland ไม่มีหน้าต่างตั้งค่าปุ่มลัด เพิ่มบรรทัดสำหรับเวอร์ชัน Hyprland ของคุณลงในไฟล์กำหนดค่า Hyprland แล้วแทนที่ KEY ด้วยคีย์ที่ต้องการ" #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland ไม่มีหน้าต่างตั้งค่าปุ่มลัด ให้ผูกคีย์ในไฟล์กำหนดค่า Hyprland ของคุณ" #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (ก่อน Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 ขึ้นไป)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "ข้าพเจ้ายืนยันโดยสุจริตว่าข้อมูลและข้อกล่าวหาในรายงานนี้ถูกต้องและครบถ้วน" #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "ฉันเข้าใจ" @@ -18598,11 +18598,11 @@ msgstr "กำลังนำเข้า… ดำเนินการแล msgid "In" msgstr "ใน" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "ในโหมด \"ระบบปฏิบัติการ\" พจนานุกรมที่แสดงด้านบนเป็นเพียงคำแนะนำ {PRODUCT_NAME} จะส่งแท็กภาษาเหล่านี้ไปยังโปรแกรมตรวจการสะกดของระบบปฏิบัติการของคุณ หากระบบปฏิบัติการรองรับ แท็กที่ระบบไม่รู้จักจะถูกละเว้น" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "ในเบราว์เซอร์ การกดเพื่อพูดจะทำงานเมื่อแท็บ {PRODUCT_NAME} โฟกัสอยู่เท่านั้น ติดตั้งแอปเดสก์ท็อปเพื่อใช้การกดเพื่อพูดได้ทั่วทั้งระบบ" @@ -18650,7 +18650,7 @@ msgstr "อยู่ในแชทเสียง" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "พจนานุกรมในแอป" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "การป้อนข้อความ" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "อินพุตและเอาต์พุต" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "แทรกอิโมจิ" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "ติดตั้ง {productName} เพื่อใช้ตัวเลือกแหล่งที่มาแบบเต็มและควบคุมการแชร์หน้าจอได้ราบรื่นยิ่งขึ้น" @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "ติดตั้งแอปใหม่" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "ติดตั้งแล้ว" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "เวอร์ชันที่ติดตั้ง: {currentVersion}" @@ -19031,7 +19031,7 @@ msgstr "อินเทอร์เฟซ" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "ภาษาของแอป" @@ -19467,13 +19467,13 @@ msgstr "เข้าร่วม" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "เข้าร่วม {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "เข้าร่วม {communityName} เพื่อแชทกับทีมและติดตามข่าวสารล่าสุด" @@ -19561,7 +19561,7 @@ msgstr "เข้าร่วมวิดีโอคอล" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "เข้าร่วมช่องเสียง" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "คงระดับฟรีและระดับพรีเมียมไว้ คุณสามารถปรับแต่งระดับต่างๆ ขายแบบพรีเมียมผ่าน Stripe หรือแจกโค้ดของขวัญในภายหลังจากแผงผู้ดูแลระบบ" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "คงช่วงผ่อนผัน" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "ทำงานเบื้องหลัง" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "คงการสมัครสมาชิก" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "เก็บหน้านี้ไว้ในที่ปลอดภัย หากคุณลืมรหัสผ่าน คุณสามารถใช้หน้านี้เพื่อกลับเข้าสู่บัญชีของคุณได้ ใครก็ตามที่มีคีย์การกู้คืนนี้สามารถรีเซ็ตรหัสผ่านของคุณได้ ดังนั้นอย่าแชร์ให้ใคร" #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "ยังคงส่งสัญญาณต่อสักครู่หลังปล่อยปุ่มค้างไว้" @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "แป้นพิมพ์" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "ไม่สามารถเริ่มการเข้าถึงคีย์บอร์ดได้ ปุ่มลัดจะทำงานเมื่อ {productName} อยู่ในโฟกัสเท่านั้น" @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "โหมดแป้นพิมพ์" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "แสดงปุ่มลัดแป้นพิมพ์ในคำแนะนำเครื่องมือ" @@ -19923,7 +19923,7 @@ msgstr "การตั้งค่าภาษา" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "ภาษา" @@ -19971,7 +19971,7 @@ msgstr "กราฟเวลาแฝง" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "ให้สมาชิกได้ยินผู้อื่นในคอมมูนิตี้นี้อีกครั้ง" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "ให้ {productName} อ่านคีย์บอร์ดของคุณโดยตรงได้ ปิดตัวเลือกนี้เพื่อตั้งค่าปุ่มลัดผ่านเดสก์ท็อปของคุณแทน" #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "ให้ {productName} อ่านคีย์บอร์ดของคุณโดยตรงได้ ระบบของคุณอนุญาตสิ่งนี้อยู่แล้ว" @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "ค่าเริ่มต้นของ Linux" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "แพ็กเกจ Linux" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "ไฟล์ในเครื่อง" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "เวลาท้องถิ่น" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "รูปลักษณ์และการแสดงผล" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "ดูเหมือนว่าคุณกำลังใช้ {0} การประมวลผลของ {PRODUCT_NAME} เพิ่มเติมอาจทำให้เกิดเสียงปั๊มหรือเสียงผิดเพี้ยนได้ อินพุตโดยตรงจะส่งสัญญาณเสียงของคุณไปโดยไม่มีการเปลี่ยนแปลง" @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "ตั้งเป็นเจ้าของกลุ่ม" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "ตรวจสอบให้แน่ใจว่าโค้ดนี้ตรงกับโค้ดในแอป {PRODUCT_NAME}" @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "จัดการการสมัครสมาชิกของคุณ" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "อัปเดตเดสก์ท็อปด้วยตนเอง" @@ -21145,15 +21145,15 @@ msgstr "แมสซาชูเซตส์" msgid "Master volume" msgstr "ระดับเสียงหลัก" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "หมวดหมู่สำหรับผู้ใหญ่" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "ช่องสำหรับผู้ใหญ่" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "คอมมูนิตี้สำหรับผู้ใหญ่" @@ -21194,7 +21194,7 @@ msgstr "ส่งการตรวจสอบเนื้อหาสำหร #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "การตรวจสอบเนื้อหาสำหรับผู้ใหญ่มีให้บริการเฉพาะในสหราชอาณาจักรเท่านั้น" @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "อัปเดตบทบาทสมาชิกแล้ว" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "สมาชิกตั้งแต่" @@ -22013,7 +22013,7 @@ msgstr "ไมค์" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "ทดสอบไมโครโฟน" @@ -22127,7 +22127,7 @@ msgstr "มินนิโซตา" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "เนโกะ" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "แมวเนโกะที่ไล่ตามเคอร์เซอร์ของคุณ" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "ผู้ใช้ใหม่ไม่สามารถเข้าร่วมได้ในขณะนี้ คุณยังสามารถสร้างบัญชีหรือลงชื่อเข้าใช้ แล้วลองใช้ลิงก์นี้อีกครั้งในภายหลังได้" #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "เวอร์ชันใหม่" @@ -23465,7 +23465,7 @@ msgstr "ไม่มีบุ๊กมาร์ก" msgid "No bot banner" msgstr "ไม่มีแบนเนอร์บอท" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "ไม่พบกล้อง" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "ไม่มีคำอธิบาย" #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "ไม่มีการอัปเดตเดสก์ท็อป" @@ -23684,7 +23684,7 @@ msgstr "ไม่พบโพสต์ที่ตรงกัน" msgid "No mentions yet" msgstr "ยังไม่มีการกล่าวถึง" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "ไม่พบไมโครโฟน" @@ -23731,7 +23731,7 @@ msgstr "ไม่มีคำขอที่รอดำเนินการต msgid "No permissions found" msgstr "ไม่พบสิทธิ์" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "ยังไม่มีคำส่วนตัว" @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "ไม่อนุญาต" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "ไม่ได้กำหนด" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "เมื่อคลิก" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "บนอุปกรณ์อื่นของคุณ ลงชื่อเข้าใช้ที่ {signInAddress} และป้อนรหัสนี้เมื่อถูกถาม" @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "เปิด {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "เปิด {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "เปิดสวิตช์บัญชี" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "เปิดการตั้งค่าสื่อขั้นสูง" @@ -24788,7 +24788,7 @@ msgstr "เปิดตัวเลือกแบนเนอร์" msgid "Open bookmarks" msgstr "เปิดบุ๊กมาร์ก" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "เปิดเบราว์เซอร์" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "เปิดปฏิทินเลือกวันที่" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "เปิดหน้าดาวน์โหลดสำหรับเดสก์ท็อป" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "เปิดการตั้งค่า" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "เปิดศูนย์ซอฟต์แวร์" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "เปิดการตั้งค่าระบบ" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "เปิดการตั้งค่าระบบ → ความเป็นส่วนตัวและความปลอดภัย → การบันทึกหน้าจอ แล้วอนุญาตให้ใช้ {productName}" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "เปิดเทมเพลต JSON" @@ -25089,7 +25089,7 @@ msgstr "เปิดเทมเพลต JSON" msgid "Open the context menu" msgstr "เปิดเมนูตัวเลือก" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "เปิดลิงก์ด้านล่างในเบราว์เซอร์ จากนั้นคัดลอกการตอบกลับ JSON ทั้งหมด แล้ววางลงในช่อง" @@ -25167,11 +25167,11 @@ msgstr "เปิดการตั้งค่าเสียงและวิ msgid "Open with {accountName} on {instanceName}" msgstr "เปิดด้วย {accountName} บน {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "เปิดเบราว์เซอร์ของคุณ ลงชื่อเข้าใช้ แล้วป้อนรหัสข้างล่างเพื่อเชื่อมโยงบัญชีของคุณ" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "เปิดแอป {PRODUCT_NAME} เดิมของคุณ แล้วเลือก \"เชื่อมโยงอุปกรณ์ใหม่\" จากนั้นป้อนรหัสด้านล่าง" @@ -25199,7 +25199,7 @@ msgstr "เปิดหน้าสมาชิก กด Space หรือ Ent #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "ระบบปฏิบัติการ" @@ -25629,7 +25629,7 @@ msgstr "7 วันที่ผ่านมา" msgid "Paste" msgstr "วาง" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "วาง URL เทมเพลตของ {theOtherPlatform} เพื่อนำเข้าโครงสร้างไปยังคอมมูนิตี้ใหม่" @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}" @@ -25933,7 +25933,7 @@ msgstr "สิทธิ์สำหรับ {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "พจนานุกรมส่วนตัว" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "เลือกแท็กอย่างน้อยหนึ่งแท็กสำหรับโพสต์นี้" #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "เลือกพจนานุกรมอย่างน้อยหนึ่งรายการ คำจากพจนานุกรมที่เลือกจะได้รับการยอมรับ ซึ่งมีประโยชน์สำหรับการแชทหลายภาษา" @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "กำลังโหลดราคา" @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "ไม่สามารถซื้อได้" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "ปุ่มกดเพื่อพูด" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "กดเพื่อพูด" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "กดเพื่อพูด (จำกัด)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "กดเพื่อพูดยังไม่มีปุ่มทั่วทั้งระบบ หากต้องการตั้งค่า ให้ไปที่ การตั้งค่า > แอป > {productName}" #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "กดเพื่อพูดยังไม่มีปุ่มทั่วทั้งระบบ หากต้องการตั้งค่า ให้ไปที่ การตั้งค่าระบบ > คีย์บอร์ด > ปุ่มลัด > {productName}" #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "กดเพื่อพูดยังไม่มีปุ่มทั่วทั้งระบบ หากต้องการตั้งค่า ให้เปิดการตั้งค่าปุ่มลัดคีย์บอร์ดของเดสก์ท็อป" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "กดเพื่อพูดจะไม่ทำงานในโหมดอินพุตโดยตรง หากต้องการใช้งาน ให้เปลี่ยนเป็นเน้นเสียงพูดหรือกำหนดเอง" @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "กดเพื่อพูดเปิดอยู่ กดปุ่มกดเพื่อพูดค้างไว้เพื่อพูด" #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "กดเพื่อพูดจะทำงานเมื่อ {productName} อยู่ในโฟกัสเท่านั้น เนื่องจากเดสก์ท็อปของคุณไม่ได้ตั้งค่าปุ่มลัดทั่วทั้งระบบ" #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "การกดเพื่อพูดจะทำงานได้เมื่อ {productName} อยู่ในโฟกัสเท่านั้น จนกว่าจะเปิดใช้งาน {permissionName}" #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "กดเพื่อพูดจะทำงานเมื่อ {productName} อยู่ในโฟกัสเท่านั้น จนกว่าคุณจะตั้งค่าปุ่มลัดทั่วทั้งระบบ" #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "กดเพื่อพูดจะทำงานเมื่อแท็บเบราว์เซอร์อยู่ในโฟกัสเท่านั้น" #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "กดเพื่อพูดจะใช้ปุ่มที่คุณตั้งไว้ใน {productName} โปรดตั้งปุ่มก่อน มิฉะนั้นไมโครโฟนจะใช้การตรวจจับเสียงพูด" @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "กดเพื่อพูดจะไม่เปิดไมโครโฟนของคุณขณะที่คุณปิดเสียงทั้งหมดอยู่ เปิดเสียงทั้งหมดของตัวเองเพื่อพูด" #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "กดเพื่อพูดจะทำงานนอก {productName} ได้หลังจากที่คุณผูกปุ่มในไฟล์กำหนดค่า Hyprland แล้วเท่านั้น" #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "กดเพื่อพูดจะทำงานนอก {productName} ได้หลังจากที่คุณผูกปุ่มในไฟล์กำหนดค่า Hyprland แล้วเท่านั้น เพิ่มบรรทัดสำหรับเวอร์ชัน Hyprland ของคุณ แล้วแทนที่ KEY ด้วยคีย์ที่ต้องการ" @@ -27533,12 +27533,12 @@ msgstr "ผู้รับจะถูกนำไปที่ {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "แนะนำ" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "แนะนำ: ปรับปรุงไมโครโฟนของคุณเพื่อให้เสียงพูดชัดเจน" @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "เชื่อมต่อใหม่สำเร็จ หากต้องการสตรีมต่อ ให้เลือกหน้าจออีกครั้ง" #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "กำลังเชื่อมต่อกับเดสก์ท็อปของคุณใหม่…" @@ -27836,7 +27836,7 @@ msgstr "รีสตาร์ทเพื่อใช้" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "หน่วงเวลาหลังปล่อยปุ่ม" @@ -27853,7 +27853,7 @@ msgstr "เกี่ยวข้อง" msgid "Reload" msgstr "โหลดใหม่" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "โหลด {PRODUCT_NAME} ใหม่เพื่อใช้การเปลี่ยนแปลงเอ็นจินอย่างสมบูรณ์ การสลับระหว่างการตรวจสอบการสะกดในแอปกับของระบบต้องโหลดตัวเรนเดอร์ใหม่ เนื่องจาก Electron ไม่สามารถสลับผู้ให้บริการขณะทำงานอยู่ได้" @@ -27872,7 +27872,7 @@ msgstr "โหลด {productName} ใหม่เพื่อใช้การ msgid "Reload app" msgstr "โหลดแอปใหม่" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "โหลดใหม่ตอนนี้" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "ลบ" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "ลบ \"{word}\" ออกจากพจนานุกรม" @@ -28086,8 +28086,8 @@ msgstr "นำออกจาก GIF รายการโปรด (เฉพ #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "ลบไอคอน" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "จำนวนแถวต่อหน้า" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "แพ็กเกจ RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "ความปลอดภัย" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "เวลาเดียวกับคุณ" @@ -29770,7 +29770,7 @@ msgstr "การบันทึกหน้าจอ" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "ต้องมีสิทธิ์บันทึกหน้าจอ" @@ -29858,7 +29858,7 @@ msgstr "ความเป็นส่วนตัวของการแชร #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "คุณภาพการแชร์หน้าจอ" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "ค้นหารหัสภาษา…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "ค้นหาภาษา…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "เลือก GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "เลือกภาษาของแอป" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้บนอุปกรณ์ใหม่ของคุณ" #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "เลือกโหมดประมวลผลเสียง" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "ส่งสัญญาณเสียงไมโครโฟนดิบโดยไม่มีการประมวลผล" #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "ส่งเสียงของคุณโดยไม่มีการปรับแต่ง เหมาะที่สุดหากคุณใช้ซอฟต์แวร์เสียงภายนอก" @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "กำหนดตำแหน่งของบทบาทในรายการสมาชิก" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "ตั้งค่าโดยค่าที่ตั้งไว้ล่วงหน้า {preset} การเลือกค่าที่นี่จะเปลี่ยนเป็นแบบกำหนดเอง" @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "ตั้งค่าภูมิภาคเสียงเป็นอัตโนมัติ" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "ตั้งค่า" @@ -31307,7 +31307,7 @@ msgstr "แชร์ให้เพื่อน" msgid "Share your screen" msgstr "แชร์หน้าจอของคุณ" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "แชร์หน้าจอของคุณแบบความละเอียดสูง (1080p) quad HD (1440p) หรือความละเอียดเดิมของแหล่งที่มา ที่เฟรมเรตสูงสุด 60 FPS" @@ -31399,7 +31399,7 @@ msgstr "รหัสย่อ" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "ปุ่มลัด" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "ป้ายปุ่มลัด" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "แสดงปุ่มรายการโปรด" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "แสดงรายการโปรดทั่วทั้งแอป" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "ลงชื่อเข้าใช้ด้วยเบราว์เซอร์ของคุณ" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "ลงชื่อเข้าใช้ด้วยแอป {productName} เดิมของคุณ" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "ออกจากระบบหรือไม่" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "ยกเลิกการลงชื่อเข้าใช้" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "รายละเอียดการลงชื่อเข้าใช้" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "ขั้นตอนการลงชื่อเข้าใช้" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "ลงชื่อเข้าใช้ในฐานะ {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "ลงชื่อเข้าใช้อีกเครื่องใช่ไหม" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "เกิดข้อผิดพลาดขณะเริ่มต้นการชำระเงิน โปรดลองอีกครั้งในภายหลัง" @@ -32812,7 +32812,7 @@ msgstr "เสียง" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "ความเร็ว" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "ตรวจการสะกด" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "เครื่องมือตรวจการสะกด" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "ภาพเคลื่อนไหวรูปดาว" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "ช่องที่ติดดาว" @@ -33140,7 +33140,7 @@ msgstr "เริ่มการโทรด้วยเสียงไหม" msgid "Start call" msgstr "เริ่มโทร" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "เริ่มทดสอบกล้องและกำหนดค่าเอฟเฟกต์" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "เริ่มแบบย่อ" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "การเริ่มต้น" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Static Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "ยังจัดทำดัชนีอยู่ กลับมาดูอีกครั้งในอีกสักครู่" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "เนโกะอยู่นิ่ง" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "ยังรอการเข้าถึงการบันทึกหน้าจออยู่" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "หยุดทดสอบไมโครโฟน" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "หยุดไม่ให้ Neko ไล่ตามเคอร์เซอร์ของคุณ แต่ยังคงลากและโต้ตอบได้" @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "มีการสมัครสมาชิกอยู่แล้ว" @@ -33957,7 +33957,7 @@ msgstr "เปลี่ยนเป็นเลย์เอาต์สบาย msgid "Switch to dense layout" msgstr "เปลี่ยนเป็นเลย์เอาต์แบบกระชับ" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "เปลี่ยนเป็นอินพุตโดยตรง" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "ข้อความส่วนตัวของระบบไม่สามารถโทรด้วยเสียงได้" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "รูปแบบเวลาตามระบบ: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "ถาดระบบ" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "ติดตั้งโดยระบบ" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "ปุ่มลัดทั่วทั้งระบบ" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "ตั้งค่าปุ่มลัดทั่วทั้งระบบไม่สำเร็จ" @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "แตะเพื่อเพิ่มโน้ต" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "ไฟล์บีบอัด tar.gz" @@ -34360,7 +34360,7 @@ msgstr "ป้ายบนแถบงาน" msgid "Teleporting you to another voice region..." msgstr "กำลังย้ายคุณไปยังภูมิภาคเสียงอื่น..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "เทมเพลต" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "แอป {PRODUCT_NAME} บนอุปกรณ์อื่นของคุณจะแสดงรายการภายใต้ \"กำลังลงชื่อเข้าใช้อุปกรณ์อื่น\" โปรดป้อนรหัสจากอุปกรณ์ที่คุณควบคุมเท่านั้น" #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "แอป {PRODUCT_NAME} ไม่ได้ลงชื่อเข้าใช้ คุณสามารถปิดแท็บนี้ได้" @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "คอมมูนิตี้ที่คุณกำลังมองหาอาจถูกลบไปแล้ว หรือคุณอาจไม่ได้รับสิทธิ์เข้าถึง" #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "ไม่สามารถดาวน์โหลดการอัปเดตเดสก์ท็อปได้ โปรดลองอีกครั้งจากปุ่มอัปเดตเมื่อการเชื่อมต่อของคุณเสถียร" #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "ไฟล์ที่ดาวน์โหลดจะถูกบันทึกลงในคอมพิวเตอร์ของคุณ ติดตั้งด้วยตัวจัดการแพ็กเกจปกติของคุณ" @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "หมวดหมู่นี้มีช่องครบตามจำนวนสูงสุดที่ {maxChannelsPerCategory} ช่องแล้ว" #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "หมวดหมู่นี้มีเนื้อหาสำหรับผู้ใหญ่ และอาจมีเนื้อหาที่ไม่เหมาะสมสำหรับผู้ใช้บางราย" @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "ช่องนี้มีคำเตือนเนื้อหา การอัปเดตจะส่งไปยังช่องที่มีคำเตือนเนื้อหาหรือการจำกัดอายุเท่านั้น" #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "ช่องนี้มีเนื้อหาสำหรับผู้ใหญ่ และอาจมีเนื้อหาที่ไม่เหมาะสมสำหรับผู้ใช้บางราย" @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "คอมมูนิตี้นี้เต็มแล้ว" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "คอมมูนิตี้นี้มีเนื้อหาสำหรับผู้ใหญ่ และอาจมีเนื้อหาที่ไม่เหมาะสมสำหรับผู้ใช้บางราย" @@ -35324,14 +35324,14 @@ msgstr "คอมมูนิตี้นี้ไม่พร้อมใช้ #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "การเชื่อมต่อนี้ได้รับการยืนยันแล้ว" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "การเชื่อมต่อนี้ยังไม่ได้รับการยืนยัน" @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "การสนทนานี้ไม่พร้อมใช้งานแล้ว" #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "บิลด์เดสก์ท็อปนี้ไม่สามารถติดตั้งการอัปเดตภายใน {productName} ได้ โปรดดาวน์โหลดตัวติดตั้งเดสก์ท็อปล่าสุดแทน" #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "เดสก์ท็อปนี้ไม่รองรับปุ่มลัดทั่วทั้งระบบ กดเพื่อพูดจะทำงานเมื่อ {productName} อยู่ในโฟกัสเท่านั้น" #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "เดสก์ท็อปนี้ไม่รองรับปุ่มลัดทั่วทั้งระบบ แต่ปุ่มลัดยังใช้งานได้เมื่อ {productName} อยู่ในโฟกัส" #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "บิลด์สำหรับนักพัฒนานี้ไม่สามารถอัปเดตตัวเองได้ ดาวน์โหลดตัวติดตั้งสำหรับเดสก์ท็อปเพื่อทดสอบขั้นตอนการอัปเดต" @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "ไม่สามารถอ่านรูปภาพนี้ได้ รูปภาพอาจเสียหาย" #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "การติดตั้งนี้ได้รับการจัดการโดยระบบของคุณ อัปเดต {productName} จากศูนย์ซอฟต์แวร์หรือตัวจัดการแพ็กเกจของคุณ" @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "อินสแตนซ์นี้ใช้ชื่อผู้ใช้ในการลงชื่อเข้าใช้แล้ว และไม่สามารถเปลี่ยนแปลงได้อีก" #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "ปัจจุบันอินสแตนซ์นี้อนุญาตให้แชร์หน้าจอได้สูงสุด 720p ที่ 30 FPS" @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "ลิงก์นี้ไม่ถูกต้อง โปรดเปิดลิงก์จากอีเมลของคุณอีกครั้ง" #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "หมวดหมู่สำหรับผู้ใหญ่นี้ไม่พร้อมใช้งานสำหรับบัญชีของคุณ" -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "หมวดหมู่สำหรับผู้ใหญ่นี้ไม่พร้อมใช้งานสำหรับบัญชีของคุณ <0>ดูข้อมูลเพิ่มเติม" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "ช่องสำหรับผู้ใหญ่ช่องนี้ไม่พร้อมใช้งานสำหรับบัญชีของคุณ" -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "ช่องสำหรับผู้ใหญ่ช่องนี้ไม่พร้อมใช้งานสำหรับบัญชีของคุณ <0>ดูข้อมูลเพิ่มเติม" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "คอมมูนิตี้สำหรับผู้ใหญ่นี้ไม่พร้อมใช้งานสำหรับบัญชีของคุณ" -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "คอมมูนิตี้สำหรับผู้ใหญ่นี้ไม่พร้อมใช้งานสำหรับบัญชีของคุณ <0>ดูข้อมูลเพิ่มเติม" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "สื่อสำหรับผู้ใหญ่ชิ้นนี้ไม่พร้อมใช้งานสำหรับบัญชีของคุณ" + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "สื่อสำหรับผู้ใหญ่ชิ้นนี้ไม่พร้อมใช้งานสำหรับบัญชีของคุณ <0>ดูข้อมูลเพิ่มเติม" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "แพ็กเกจนี้ไม่พร้อมใช้งาน โปรดติดต่อฝ่ายสนับสนุน" +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "แพ็กเกจนี้ไม่พร้อมใช้งาน โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้" + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "การซื้อนี้ไม่มีสิทธิ์ได้รับเงินคืน" @@ -35837,7 +35853,7 @@ msgstr "กระทู้นี้ถูกล็อกแล้ว เฉพ msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "ผู้ใช้รายนี้จำกัดการแสดงโปรไฟล์ รายละเอียดบางอย่างจะถูกซ่อนจากผู้ที่ไม่ได้เป็นเพื่อนกับเขา" -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "ผู้ใช้รายนี้ไม่มีบทบาทในคอมมูนิตี้นี้" @@ -36050,14 +36066,14 @@ msgstr "เวลา" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "รูปแบบเวลา" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "การเลือกรูปแบบเวลา" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "แพลตฟอร์มแถบชื่อเรื่อง" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "หากต้องการเปลี่ยนปุ่ม ให้ไปที่ การตั้งค่า > แอป > {productName}" #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "หากต้องการเปลี่ยนปุ่ม ให้ไปที่ การตั้งค่าระบบ > คีย์บอร์ด > ปุ่มลัด > {productName}" #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "หากต้องการเปลี่ยนปุ่ม ให้เปิดการตั้งค่าปุ่มลัดคีย์บอร์ดของเดสก์ท็อปของคุณ" @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "แถบเครื่องมือ" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "ปุ่มลัดในคำแนะนำเครื่องมือ" @@ -36864,7 +36880,7 @@ msgstr "24 ชั่วโมง" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "สองคลิก" @@ -37263,7 +37279,7 @@ msgstr "ตัวเลือกสำรองแบบครอบคลุม #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "ไม่ทราบ" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "ปลดล็อกอิโมจิแบบกำหนดเองในข้อความส่วนตัวด้วย {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "ปลดล็อกการแชร์หน้าจอแบบ HD ด้วย {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "สูงสุด 720p ที่ 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "อัปเดต {productName} เพื่อใช้ปุ่มลัดทั่วทั้งระบบบน Wayland" @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "อัปเดตสถานะของฉัน" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "อัปเดตเลย" @@ -38008,8 +38024,8 @@ msgstr "อัปโหลดไฟล์และสื่อในช่อง #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "อัปโหลดไอคอน" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "ใช้ {name} บน {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "ใช้ {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "ใช้ {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "ใช้วิธีอื่น" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "ใช้การเลื่อนอัตโนมัติ" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "ใช้บัตร" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "ใช้ค่าเริ่มต้น" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "ใช้การเข้าถึงอุปกรณ์อินพุตโดยตรง" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "ใช้สติกเกอร์จากคอมมูนิตี้อื่น" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "ใช้รูปแบบเวลาตามภาษาของระบบ" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "ใช้กรอบหน้าต่างของระบบปฏิบัติการ" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "ใช้เครื่องมือตรวจการสะกดที่มาพร้อมกับระบบปฏิบัติการของคุณ" @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "ใช้การตรวจจับเสียงพูด" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "ใช้เครื่องมือตรวจการสะกดของระบบปฏิบัติการของคุณเมื่อพร้อมใช้งาน หากไม่พร้อมใช้งาน ให้ใช้พจนานุกรมในแอปของ {productName}" @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "ยืนยันอีเมลของคุณก่อน" @@ -39244,7 +39260,7 @@ msgstr "ดูรายละเอียด" msgid "View devices that are signed in to your account" msgstr "ดูอุปกรณ์ที่ลงชื่อเข้าใช้บัญชีของคุณอยู่" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "ดูโปรไฟล์แบบเต็ม" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary มีสิทธิ์เข้าถึงถาวรอยู่แล้ว จึงไม่จำเป็นต้องสมัครสมาชิกแบบต่ออายุอัตโนมัติ คุณยังสามารถซื้อของขวัญให้ผู้อื่นได้" @@ -39535,7 +39551,7 @@ msgstr "ช่องเสียง" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "ยืนยันช่องเสียง" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "ช่องเสียงเต็ม" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "ลักษณะการเข้าร่วมช่องเสียง" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "ผู้เข้าร่วมการโทรด้วยเสียง" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "การประมวลผลเสียง" @@ -39661,7 +39677,7 @@ msgstr "เลิกปิดเสียงทั้งหมด" msgid "Voice unmute" msgstr "เปิดไมโครโฟน" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "การสนทนาด้วยเสียงในเบราว์เซอร์นี้ใช้อุปกรณ์เอาต์พุตของระบบ เปลี่ยนได้ในการตั้งค่าระบบ" @@ -39675,7 +39691,7 @@ msgstr "เป็นโมฆะ" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "เว้นระยะเวลาระหว่างการส่ msgid "Waiting for connection..." msgstr "กำลังรอการเชื่อมต่อ..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "กำลังรอพาสคีย์…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "กำลังรอให้คุณ..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "กำลังรอเดสก์ท็อปของคุณ…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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} สำหรับบัญชีนี้แล้ว จัดการได้ในพอร์ทัลการเรียกเก็บเงินที่ปลอดภัยเพื่ออัปเดตรายละเอียดการชำระเงินหรือตรวจสอบสถานะการต่ออายุ หากคุณเพิ่งชำระเงิน โปรดรอสักครู่แล้วเปิดหน้านี้อีกครั้ง" @@ -39914,7 +39930,7 @@ msgstr "เราได้ปรับขนาดและบีบอัดส msgid "We sent a code to {email}." msgstr "เราได้ส่งรหัสไปยัง {email} แล้ว" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "เราจะกรอก {prefillEmail} ให้โดยอัตโนมัติเมื่อเปิดหน้าลงชื่อเข้าใช้ในเบราว์เซอร์" @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "แสดงตัวอย่างเว็บไซต์" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "ยินดีต้อนรับกลับมา" @@ -40321,7 +40337,7 @@ msgstr "คอมมูนิตี้ใดบ้าง" msgid "Which conversations" msgstr "การสนทนาใดบ้าง" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "ขณะที่เปิดใช้งานการกดเพื่อพูด ปุ่มลัดจะควบคุมไมโครโฟนของคุณ ดังนั้นปุ่มปิดไมโครโฟนจะถูกปิดใช้งาน" @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "คุณกำลังจะไปยัง {paymentProviderName} เพื่อดำเนินการชำระเงินให้เสร็จสมบูรณ์ โปรดกลับมาที่ {productName} เมื่อคุณชำระเงินเรียบร้อยแล้ว" @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "คุณเพิ่งกด Tab ตอนนี้เปิดโหมดแป้นพิมพ์แล้ว คุณจึงสามารถไปยังส่วนต่างๆ ของ {productName} ได้โดยไม่ต้องใช้เมาส์" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "คุณจะยังคงได้รับสิทธิประโยชน์จนถึงวันต่ออายุครั้งถัดไป เปิดใช้งานการสมัครสมาชิกอีกครั้งก่อนวันดังกล่าวเพื่อรักษาประวัติการเป็นสมาชิกของคุณไว้" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "คุณจะสูญเสียสิทธิประโยชน์ทั้งหมดของ {PREMIUM_PRODUCT_NAME} ทันที และประวัติการเป็นสมาชิกของคุณจะถูกรีเซ็ต การดำเนินการนี้ไม่สามารถยกเลิกได้" @@ -41137,8 +41153,8 @@ msgstr "คุณต้องมีสิทธิ์ \"{permissionLabel}\" เ msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "คุณต้องมีสิทธิ์ \"{permissionLabel}\" เพื่อใช้สติกเกอร์จากคอมมูนิตี้อื่นที่นี่" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "คุณต้องยืนยันบัญชีก่อนจึงจะสร้างคอมมูนิตี้ได้" @@ -41155,8 +41171,8 @@ msgstr "คุณต้องยืนยันบัญชีก่อนจึ msgid "You need to claim your account to send messages in this community." msgstr "คุณต้องยืนยันบัญชีก่อนจึงจะส่งข้อความในคอมมูนิตี้นี้ได้" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "คุณต้องยืนยันอีเมลก่อนจึงจะสร้างคอมมูนิตี้ได้" @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "คุณต้องยืนยันอีเมลก่อนจึงจะสามารถซื้อ {premiumProductFullName} ได้" @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "คุณจะแสดงสถานะเป็นออฟไลน์" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "คุณจะถูกเรียกเก็บเงินทันที เวลาของขวัญที่เหลือของคุณจะถูกเพิ่มหลังจากช่วงเวลาที่ชำระเงินของคุณ ดังนั้นจะไม่มีการสูญเสีย" @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "คุณเป็น Visionary อยู่แล้ว" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "คุณส่งรายงานเร็วเกินไป ลองอีกครั้งภายหลัง" #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "คุณลงชื่อเข้าใช้แล้ว" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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} ของคุณเพื่อเปลี่ยนแพ็กเกจหรือตรวจสอบสถานะการต่ออายุ" @@ -41559,10 +41575,14 @@ msgstr "บัญชีของคุณใหม่เกินไปที่ msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "คำขอบัญชีของคุณกำลังรอการอนุมัติ คุณจะลงชื่อเข้าใช้ได้หลังจากผู้ดูแลระบบอนุมัติแล้ว" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "บัญชีของคุณต้องมีการยืนยันตัวตนแบบหลายปัจจัย แต่ยังไม่ได้ตั้งค่าวิธีการที่รองรับบนอุปกรณ์นี้ โปรดลงชื่อเข้าใช้บนอุปกรณ์ที่มีแอปยืนยันตัวตนหรือคีย์ความปลอดภัยของคุณ หรือติดต่อฝ่ายสนับสนุน" +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "บัญชีของคุณต้องมีการยืนยันตัวตนแบบหลายปัจจัย แต่ยังไม่ได้ตั้งค่าวิธีการที่รองรับบนอุปกรณ์นี้ โปรดลงชื่อเข้าใช้บนอุปกรณ์ที่มีแอปยืนยันตัวตนหรือคีย์ความปลอดภัยของคุณ หรือติดต่อผู้ดูแลระบบของอินสแตนซ์นี้" + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "บัญชีและการตั้งค่าของคุณยังคงเดิม ไม่มีการเปลี่ยนแปลงหรือลบใดๆ" #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "ดำเนินการไม่สำเร็จเนื่องจากถูกระบบความปลอดภัยของเราตรวจจับไว้ หากคิดว่าเกิดข้อผิดพลาด โปรดติดต่อฝ่ายสนับสนุน" +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "ดำเนินการไม่สำเร็จเนื่องจากถูกระบบความปลอดภัยของเราตรวจจับไว้ หากคิดว่าเกิดข้อผิดพลาด โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้" + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "ชุดข้อมูลปัจจุบันของคุณจะหยุดทำงานทันทีที่มีการสร้างชุดข้อมูลใหม่" #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "เดสก์ท็อปของคุณไม่ได้ตั้งค่าปุ่มลัดทั่วทั้งระบบ" #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "เดสก์ท็อปของคุณสงวนปุ่มเหล่านี้ไว้ให้ {productName} แอปอื่นจึงใช้ปุ่มเหล่านี้ไม่ได้" #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "เดสก์ท็อปของคุณสงวนปุ่มเหล่านี้ไว้ให้ {productName} แอปอื่นจึงใช้ปุ่มเหล่านี้ไม่ได้ หากต้องการใช้ปุ่มเดียวกันในแอปอื่น ให้เปิดการเข้าถึงอุปกรณ์อินพุตโดยตรงด้านล่าง" #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "เดสก์ท็อปของคุณจะเรียกใช้ปุ่มลัดเหล่านี้แม้ {productName} ไม่ได้อยู่ในโฟกัส" @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "เวลาของขวัญของคุณหมดแล้ว สมัครสมาชิกเพื่อรับ {premiumProductName} ต่อไป" #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "เวลาของขวัญของคุณจะถูกเก็บไว้" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "ช่วงผ่อนผันของคุณสิ้นสุดลงแล้ว" #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "แอปของคุณเสียหาย โปรดติดตั้งใหม่เพื่อให้ใช้งานได้เต็มประสิทธิภาพ" @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "การซื้อครั้งล่าสุดของคุณอยู่นอกช่วงเวลาการคืนเงิน โปรดติดต่อฝ่ายสนับสนุนสำหรับปัญหาการเรียกเก็บเงิน" #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "ไม่สามารถส่งข้อความของคุณได้ เนื่องจากถูกระบบความปลอดภัยของเราตรวจจับไว้ หากคุณคิดว่านี่เป็นความผิดพลาด โปรดติดต่อฝ่ายสนับสนุน" +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "ไม่สามารถส่งข้อความของคุณได้ เนื่องจากถูกระบบความปลอดภัยของเราตรวจจับไว้ หากคุณคิดว่านี่เป็นความผิดพลาด โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้" + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "ส่งข้อความของคุณไม่ได้ โดยปกติแล้วเป็นเพราะคุณไม่ได้อยู่ในคอมมูนิตี้เดียวกับผู้รับ หรือผู้รับตั้งค่ารับข้อความส่วนตัวจากเพื่อนเท่านั้น คุณอาจต้องปรับการตั้งค่าความเป็นส่วนตัวสำหรับข้อความส่วนตัวของคุณใน {directMessagePrivacySettingsPath} ด้วย" #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "ส่งข้อความของคุณไม่ได้ คุณต้องยืนยันบัญชีก่อนจึงจะส่งข้อความส่วนตัวได้" #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "ส่งข้อความไม่ได้ คุณต้องยืนยันบัญชีก่อนจึงจะส่งข้อความได้" @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "ส่งรายงานของคุณไม่สำเร็จ ลองอีกครั้ง" #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "คุณภาพที่บันทึกไว้ของคุณที่ {savedResolution} ที่ {savedFrameRate} FPS ต้องใช้ {premiumProductName} ดังนั้นการแชร์จะใช้ {resolution} ที่ {frameRate} FPS" diff --git a/fluxer_app/src/features/i18n/locales/tr/messages.po b/fluxer_app/src/features/i18n/locales/tr/messages.po index 4fcb04bd9..63f4b3637 100644 --- a/fluxer_app/src/features/i18n/locales/tr/messages.po +++ b/fluxer_app/src/features/i18n/locales/tr/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} daha yeni bir Fluxer sürümü çalıştırıyor. Fluxer'ı güncelleyin, sonra tekrar deneyin." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "Sizden {duration} ileride" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "Sizden {duration} geride" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# saat önce} other {# saat önce}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# saat} other {# saat}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# saat} other {# saat}} {minutes, plural, one {# dakika} other {# dakika}}" @@ -1602,7 +1602,7 @@ msgstr "{label} dosyası çok büyük. {maxSizeLabel} değerinden küçük bir d msgid "{label} images cannot be animated. Use a static image." msgstr "{label} görselleri animasyonlu olamaz. Statik bir görsel kullanın." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "{languageName} bayrağı" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# dakika önce} other {# dakika önce}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# dakika} other {# dakika}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME}, <0>{deviceName} adında yeni bir ses çıkış cihaz msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "Chromium'un yerel kaydırma ayarlarının kaydırma davranışını değiştirebilmesi için {PRODUCT_NAME} uygulamasının yeniden başlatılması gerekiyor." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "Donanım hızlandırmanın etkili olması için {PRODUCT_NAME} uygulamasının yeniden başlatılması gerekiyor." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "Başlık çubuğu değişikliğinin etkili olması için {PRODUCT_NAME} uygulamasının yeniden başlatılması gerekiyor." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "Chromium'un donanım hızlandırmasını devre dışı bırakmak için {PRODUCT_NAME} uygulamasının yeniden başlatılması gerekiyor. Bunu yalnızca grafik hatalarını veya yüksek GPU kullanımını gideriyorsanız kullanın." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "{productName} Hata Avcısı" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName}, {productName} odaklanmamışken de kısayollarını çalıştırması için masaüstünüzden istekte bulunabilir. Masaüstünüz sizden onay ister ve tuşları seçmenize olanak tanır." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} artık klavyenizi okuyamıyor, bu yüzden kısayolları X11 üzerinden dinliyor." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} artık klavyenizi okuyamıyor, bu yüzden bunun yerine masaüstünüzün kısayolları kullanılıyor." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} artık klavyenizi okuyamıyor. Kısayollar yalnızca {productName} odaklanmışken çalışır." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName}, kısayollarını Hyprland'a kaydederek {productName} odaklanmamışken de çalışmalarını sağlayabilir. Ardından tuşları Hyprland yapılandırmanızda atarsınız." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} bunun için donanım kodlayıcı kullanamaz, bu nedenle işlemcinizi kullanacak." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} kapanır, güncellemeyi yükler ve tekrar açılır." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName}, güncelleme hizmetine bağlanamadı. Bağlantınızı kontrol edin ve tekrar deneyin." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName}, {host} adresine taşındı. Yeni uygulamayı yüklemek için tarayıcınızda açın." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "{productName} üyeliği başlangıcı" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} uygulamasının mikrofonunuza erişmesi gerekiyor. İşletim sisteminizin gizlilik ayarlarından mikrofon erişimine izin verin ve uygulamayı yeniden başlatın." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} uygulamasının cihazlarınızı listelemek için kamera erişimine ihtiyacı var." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} uygulamasının cihazlarınızı listelemek için mikrofon erişimine ihtiyacı var." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "{productName} kurtarma kiti" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName}, kısayollarını Hyprland'a kaydetti. {productName} odaklanmamışken kullanmak için bunlara Hyprland yapılandırmanızda tuş atayın." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 ay (1 yıl)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12 saat" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 saat" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24 saat" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "bir ana bilgisayar adı, örn. {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Linux masaüstü için bir güncelleme mevcut. Bu sistem için paket biçimini seçin ve {productName} uygulaması bunu yerel olarak kaydedecektir." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "bir dakika" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Yeni bir masaüstü sürümü mevcut. Kurulum dosyasını indirin ve ardından {productName}'ı güncellemek için çalıştırın." @@ -2817,7 +2817,7 @@ msgstr "{appName} hakkında" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Hakkımda" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Etkinlik paylaşımı" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Etkinlik eşiği" @@ -3155,7 +3155,7 @@ msgstr "Gerçek boyut" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Ekle" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Önce hesabınıza bir kullanıcı adı ve şifre ekleyin." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Kelime ekle…" @@ -3244,7 +3244,7 @@ msgstr "YouTube bağlantılarını zenginleştirmek için bir YouTube Data API a #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Hesap ekle" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Adres" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Gürültü engelleme, yankı giderme ve kazanç ayarlarını kendiniz yapın." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Gelişmiş" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Gelişmiş video ayarları" @@ -3906,22 +3906,22 @@ msgstr "İzin ver" msgid "Allow {everyoneMention} and {hereMention}" msgstr "{everyoneMention} ve {hereMention} etiketlerine izin ver" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Kameranıza erişmesi için {PRODUCT_NAME}'e Sistem Ayarları → Gizlilik ve Güvenlik → Kamera bölümünden izin verin." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "{PRODUCT_NAME}'in mikrofonunuza erişmesine İzin Verin → Sistem Ayarları → Gizlilik ve Güvenlik → Mikrofon." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "{PRODUCT_NAME} uygulamasının mikrofonunuza erişmesine izin verin. Tarayıcınızın adres çubuğunu veya ayarlarını kontrol edin." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Sistem Ayarları'ndaki Ekran Kaydı altında {productName}'e izin verin. Zaten izin verildiyse, macOS'un bunu uygulayabilmesi için {productName2}'yi yeniden başlatın." @@ -3961,7 +3961,7 @@ msgstr "Botlardan doğrudan mesajlara izin ver" msgid "Allow bots to send you direct messages?" msgstr "Botların size doğrudan mesaj göndermesine izin verilsin mi?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Kameraya izin ver" @@ -4029,7 +4029,7 @@ msgstr "{readMessageHistoryPermissionLabel} izni olmayan üyelerin belirli bir t msgid "Allow mentions for this role" msgstr "Bu rolden bahsedilmesine izin ver" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Mikrofona izin ver" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Bağlantıların her zaman altını çiz" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Gerektiğinde indirilen {productName} Hunspell sözlüklerini her zaman kullan." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Uygulama simgesi rozeti" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Uygulama dilinin saat biçimi: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Onay gerekli" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Zaten kullandığınız {productName} uygulamasından bu uygulamayı onaylayın. Parola gerekmez." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Şu tarihte yetkilendirildi: {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Otomatik" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Dili otomatik algıla" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Etkinlik eşiğini otomatik ayarla" @@ -5534,7 +5534,7 @@ msgstr "AV1 (etkinleştirilmesi gerekir)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Mevcut" @@ -5608,11 +5608,11 @@ msgstr "Şu an uzakta" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "En iyi sıkıştırma. Yalnızca WebRTC bir kodlayıcıyı kullanıma sunduğunda ve GPU raporu donanım destekli olduğunu belirttiğinde kullanın." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "En iyisi masaüstü uygulamasında" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Tarayıcı: ana sayfa" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Tarayıcının saat biçimi: {format}" @@ -6545,8 +6545,8 @@ msgstr "Arkadaşlarınızla paylaşmak için {premiumProductName} sekmesinden bi msgid "Buy gift" msgstr "Hediye satın al" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Bir topluluk oluşturarak <0>{PRODUCT_NAME} Topluluk Kurallarına uymayı ve bunları sürdürmeyi kabul etmiş olursunuz." @@ -6658,7 +6658,7 @@ msgstr "Aramalar" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Kamera önizlemesi" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Kamera kalitesi" @@ -6809,8 +6809,8 @@ msgstr "Buraya dosya yüklenemiyor" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Planlanan değişikliği iptal et" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Aboneliği iptal et" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Abonelik iptal edilsin mi?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Kategori" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Kategori içeriği uyarısı" @@ -7131,15 +7131,15 @@ msgstr "Grup takma adını değiştir" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Simgeyi değiştir" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Sistem ayarlarında değiştir" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Kanal rozetleri" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Kanal içeriği uyarısı" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Sohbet kısayolları" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Tekrar kontrol et" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Erişim kontrol ediliyor..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Ekran kaydı izni kontrol ediliyor..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Ödeme yapılamıyor" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Bu abonelik için nasıl ödeme yapmak istediğinizi seçin." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Ödeme yöntemi seçin" @@ -8174,7 +8174,7 @@ msgstr "Varsayılanlarını seç" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Sunucunu seç" @@ -8216,8 +8216,8 @@ msgstr "Hediyeyi al" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Hesabınızı sahiplenin" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Topluluk rozetleri" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Topluluk içeriği uyarısı" @@ -9089,8 +9089,8 @@ msgstr "Topluluk DM'i" msgid "Community filter" msgstr "Topluluk filtresi" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Topluluk simgesi" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Topluluk güncellendi" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Topluluk sesi" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Ödemeyi tamamla" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Yetişkinlere yönelik medyanın kilidini açmak için yetişkin içeriği kontrolünü tamamlayın." @@ -9409,7 +9409,7 @@ msgstr "Onayla" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Sesli kanallara katılmadan önce onayla" @@ -9457,7 +9457,7 @@ msgstr "Raporu göndermek için beyanı onaylayın." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Sesli katılımı onayla" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Onay" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Topluluk sesli kanallarına katılmak için onay veya çift tıklama" @@ -9476,7 +9476,7 @@ msgstr "Topluluk sesli kanallarına katılmak için onay veya çift tıklama" msgid "Conflicts with {conflictLabel}" msgstr "{conflictLabel} ile çakışıyor" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Bir kamera bağlayıp tekrar deneyin." @@ -9489,7 +9489,7 @@ msgstr "Bir kamera veya sanal yakalama cihazı bağlayın, ardından tekrar dene msgid "Connect a display, then try again." msgstr "Bir ekran bağlayın, sonra tekrar deneyin." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Mikrofon bağlayıp tekrar deneyin." @@ -9633,7 +9633,7 @@ msgstr "Bağlantı: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "İletişim" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "İçerik engellendi" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Tarayıcıda devam et" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Ödemeye devam et" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Geçiş anahtarıyla devam et" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Davet URL'sini kopyala" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Satırları kopyala" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "hyprland.conf için satırları kopyala" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "hyprland.lua için satırları kopyala" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Fiyatınız değiştirilemedi" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Güncellemeler kontrol edilemedi" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Mesajlarınız silinemedi" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Masaüstü güncellemesi indirilemedi" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Ödeme başlatılamadı" @@ -10932,7 +10932,7 @@ msgstr "Oluştur ve paylaş" msgid "Create a community" msgstr "Topluluk oluştur" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Sizin ve arkadaşlarınızın sohbet edebileceği bir topluluk oluşturun." @@ -11365,7 +11365,7 @@ msgstr "Özel" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Moderatörler tarafından sağırlaştırıldı" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB paketi" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Masaüstü uygulaması" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Masaüstü uygulaması güncel" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Masaüstü güncellemesi {version} mevcut. Bir Linux paketi seçin." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Masaüstü güncellemesi mevcut" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Masaüstü güncellemesi mevcut. Bir Linux paketi seçin." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Masaüstü sürümü {version} mevcut. Kurulum dosyasını indirin ve {productName} uygulamasını güncellemek için çalıştırın." @@ -12613,7 +12613,7 @@ msgstr "Ayrıntılar: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Yazarken algıla" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Geliştirici araçları kullanılamıyor" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Geliştirme sürümü" @@ -13455,8 +13455,8 @@ msgstr "İndir" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "{productName} uygulamasını indir" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification dosyasını indirin ve alan adını doğrulayabilmemiz için <1>.well-known klasörünüze yerleştirin." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Uygulamayı indir" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Uygulamayı indir" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "İndir düğmesi" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Masaüstü uygulamasını indir" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Görseli indir" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Yükleyiciyi indir" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Medyayı indir" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Paketi indir" @@ -13655,11 +13655,11 @@ msgstr "Öğeyi bırak" msgid "Drop to upload background" msgstr "Arka planı yüklemek için bırakın" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "{regionName} bölgesindeki yetişkinlere yönelik içerik yasaları nedeniyle, yetişkinlere yönelik içerik kontrolünü tamamlayana kadar bu tür içerikler engellenir." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "{regionName} bölgesindeki yetişkinlere yönelik içerik yasaları nedeniyle, buradan yetişkinlere yönelik içeriklere erişilemiyor. Yetişkinlere yönelik içerik kontrolleri yalnızca Birleşik Krallık'ta mevcuttur." @@ -13673,7 +13673,7 @@ msgstr "{regionName} bölgesindeki yetişkinlere yönelik içerik yasaları nede msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "{regionName} bölgesindeki yetişkinlere yönelik içerik yasaları nedeniyle bu içerik buradan kullanılamaz. Yetişkinlere yönelik içerik kontrolleri yalnızca Birleşik Krallık'ta mevcuttur." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "{regionName} bölgesindeki yetişkinlere yönelik içerik yasaları nedeniyle bu medya, bulunduğunuz bölgeden kullanılamıyor." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Her kod, kimlik doğrulama uygulamanızın yerine tek seferlik kullanılabilir." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Her tuşa sistem genelinde yalnızca bir kısayol atanabilir." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Etkinleştir" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "{permissionName} iznini etkinleştir" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Kısayolu etkinleştir" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Yazım denetimini etkinleştir" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Ödemesiz dönemi şimdi bitir" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Ödemesiz dönemi bitir" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Ödemesiz dönemi şimdi bitirilsin mi?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Devam etmek için güvenlik anahtarınızın PIN'ini girin." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Tarayıcınızda bu kodu girin" @@ -14845,7 +14845,7 @@ msgstr "Tarayıcınızda bu kodu girin" msgid "Enter this code in your browser to complete sign-in." msgstr "Girişi tamamlamak için bu kodu tarayıcınıza girin." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Oturum açmayı tamamlamak için bu kodu eski {PRODUCT_NAME} uygulamanıza girin." @@ -14916,7 +14916,7 @@ msgstr "Tüm sistem sesi" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Giriş sesi" @@ -15026,7 +15026,7 @@ msgstr "Akşam" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Mikrofon ses düzeyinizi dengeler, böylece sesiniz çok kısık çıkmaz." @@ -15249,7 +15249,7 @@ msgstr "{earliest} ile {latest} arasında sona eriyor" msgid "Expires in {remaining}s" msgstr "{remaining} sn içinde sona eriyor" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "{remainingSeconds} s sonra sona eriyor" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Kanalı favorilere ekle" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Favori kanallar" @@ -16243,7 +16243,7 @@ msgstr "{threeHours} saat boyunca" msgid "For {twentyFourHours} hours" msgstr "{twentyFourHours} saat boyunca" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Sadece İngilizlere özel..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Kendim için" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Sesi kapatmak için basılı tut özelliğinde Ctrl, Alt veya Shift olmadan tek bir tuş kullanın. Tuş kombinasyonu kullanırsanız önce ana tuşu bırakın, aksi takdirde mikrofon kapalı kalabilir." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Bas konuş için Ctrl, Alt veya Shift olmadan tek bir tuş kullanın. Tuş kombinasyonu kullanırsanız önce ana tuşu bırakın, aksi takdirde mikrofon açık kalabilir." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Bu kısayol için Ctrl, Alt veya Shift olmadan tek bir tuş kullanın. Tuş kombinasyonu kullanırsanız önce ana tuşu bırakın, aksi takdirde kısayol etkin kalabilir." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Ses etkinliği önceliği için Ctrl, Alt veya Shift olmadan tek bir tuş kullanın. Tuş kombinasyonu kullanırsanız önce ana tuşu bırakın, aksi takdirde öncelik açık kalabilir." @@ -16460,14 +16460,14 @@ msgstr "Çerçeve" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Kare hızı" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "30 FPS üzerindeki kare hızları için {premiumProductName} gerekir" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Mesaj aldığınızda bildirim alın. Tarayıcı ayarlarınızda bildirimlere izin vermeniz gerekebilir. Kanal/topluluk bazında kontrol için bir topluluk simgesine sağ tıklayın ve bildirim ayarlarını açın." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Sistem genelinde bas konuş özelliğini ve diğer güzellikleri kullanmak için {productName} masaüstü uygulamasını edinin." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Masaüstü uygulamasını edinin" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "{productName}'e geri dönerek devam edin." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "{PRODUCT_NAME} uygulamasına geri dön. Otomatik olarak oturum açma işlemi tamamlanacak." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "{PRODUCT_NAME} uygulamasına geri dön. Bu sekmeyi kapatabilirsin." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Yardım" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Yardım düğmesi" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Yardım merkezi" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Yardım Merkezi düğmesi kenar çubuğunda" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "{PRODUCT_NAME}'i <0>{I18N_WEBLATE_DOMAIN} üzerinde dilinize çevirmemize yardım edin." @@ -17841,7 +17841,7 @@ msgstr "Sohbeti gizle" msgid "Hide community owner crown" msgstr "Topluluk sahibi tacını gizle" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "İndirme düğmesini gizle" @@ -17860,7 +17860,7 @@ msgstr "Favorileri gizle" msgid "Hide guidelines" msgstr "Yönergeleri gizle" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Yardım merkezi düğmesini gizle" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Katılma mesajlarını gizle" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Klavye ipuçlarını gizle" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Köprü" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland'ın kısayol iletişim kutusu yok. Hyprland sürümünüz için satırları Hyprland yapılandırmanıza ekleyin ve KEY yerine istediğiniz tuşu girin." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland'ın kısayol iletişim kutusu yok. Tuşları Hyprland yapılandırmanızda atayın." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (Hyprland 0.55 öncesi)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 ve sonrası)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Bu raporda yer alan bilgilerin ve iddiaların doğru ve eksiksiz olduğunu iyi niyetle onaylıyorum." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Anladım" @@ -18598,11 +18598,11 @@ msgstr "İçe aktarılıyor… {processedCount, number} / {totalCount, number} i msgid "In" msgstr "İçinde" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "\"İşletim sistemi\" modunda, yukarıda listelenen sözlükler tavsiye niteliğindedir. {PRODUCT_NAME}, desteklendiğinde bu dil etiketlerini işletim sisteminizin yazım denetleyicisine iletecektir. Tanımadığı etiketler yok sayılır." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "Tarayıcıda bas-konuş özelliği yalnızca {PRODUCT_NAME} sekmesi odaklıyken çalışır. Sistem genelinde bas-konuş özelliğini kullanmak için masaüstü uygulamasını yükleyin." @@ -18650,7 +18650,7 @@ msgstr "Sesli sohbette" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Uygulama içi sözlükler" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Giriş" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Giriş ve çıkış" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Emoji ekle" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Eksiksiz kaynak seçici ve daha akıcı ekran paylaşımı kontrolleri için {productName} uygulamasını yükleyin." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Yeni uygulamayı yükle" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Yüklü" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Yüklü sürüm: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Arayüz" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Arayüz dili" @@ -19467,13 +19467,13 @@ msgstr "Katıl" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "{communityName} topluluğuna katıl" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Ekiple sohbet etmek ve güncel kalmak için {communityName} topluluğuna katılın." @@ -19561,7 +19561,7 @@ msgstr "Görüntülü aramaya katıl" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Sesli sohbete katıl" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Ücretsiz ve premium katmanları sakla. Katmanları özelleştirebilir, Stripe üzerinden premium satabilir veya daha sonra yönetici panelinden hediye kodları verebilirsin." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Ödemesiz dönemi koru" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Çalışmaya devam et" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Aboneliği sürdür" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Bu sayfayı güvenli bir yerde saklayın. Parolanızı unutursanız, hesabınıza geri dönmek için kullanabilirsiniz. Bu kurtarma anahtarına sahip herkes parolanızı sıfırlayabilir, bu yüzden asla paylaşmayın." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Tuşu bıraktıktan sonra kısa bir süre iletime devam et." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Klavye" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Klavye erişimi başlatılamadı. Kısayollar yalnızca {productName} odaklanmışken çalışır." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Klavye modu" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Araç ipuçlarında klavye kısayolu ipuçları" @@ -19923,7 +19923,7 @@ msgstr "Dil ayarları" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Diller" @@ -19971,7 +19971,7 @@ msgstr "Gecikme grafiği" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Üyenin bu toplulukta tekrar başkalarını duymasına izin verildi" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "{productName} uygulamasının klavyenizi doğrudan okumasını sağlar. Kısayolları bunun yerine masaüstünüz üzerinden ayarlamak için bunu kapatın." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "{productName} uygulamasının klavyenizi doğrudan okumasını sağlar. Sisteminiz buna zaten izin veriyor." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Linux varsayılanı" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Linux paketi" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Yerel dosyalar" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Yerel saat" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Görünüm ve his" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "{0} kullanıyor gibisiniz. Bunun üzerine bir de {PRODUCT_NAME} ses işlemesi eklemek ses dalgalanmasına veya bozulmaya neden olabilir. Doğrudan giriş, sesinizi olduğu gibi iletir." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Grup sahibi yap" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "{PRODUCT_NAME} uygulamasındaki bu kodu kontrol edin." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Aboneliğinizi yönetin" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Manuel masaüstü güncellemesi" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Ana ses düzeyi" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Yetişkinlere özel kategori" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Yetişkinlere özel kanal" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Yetişkinlere özel topluluk" @@ -21194,7 +21194,7 @@ msgstr "Yetişkin içeriği kontrolü gönderildi" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Yetişkinlere yönelik içerik kontrolleri şu anda yalnızca Birleşik Krallık'ta mevcuttur." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Üye rolleri güncellendi" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Üye olma tarihi" @@ -22013,7 +22013,7 @@ msgstr "Mikrofon" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Mikrofon testi" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "İmlecinizi takip eden Neko kedisi" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Yeni kullanıcılar şu anda katılamıyor. Yine de bir hesap oluşturabilir veya oturum açabilir, ardından bu bağlantıyı daha sonra tekrar deneyebilirsiniz." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Yeni sürüm" @@ -23465,7 +23465,7 @@ msgstr "Yer işareti yok" msgid "No bot banner" msgstr "Bot afişi yok" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Kamera bulunamadı" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Açıklama yok." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Masaüstü güncellemesi mevcut değil." @@ -23684,7 +23684,7 @@ msgstr "Hiç gönderi bulunamadı" msgid "No mentions yet" msgstr "Henüz bahsetme yok" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Mikrofon bulunamadı" @@ -23731,7 +23731,7 @@ msgstr "Bu aramaya uyan bekleyen istek yok" msgid "No permissions found" msgstr "İzin bulunamadı" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Henüz kişisel kelime yok." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "İzin verilmedi" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Atanmadı" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Tıklayınca" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "Diğer cihazınızda {signInAddress} adresinden giriş yapın ve istendiğinde bu kodu girin." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "{premiumProductFullName} sayfasını aç" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "{PRODUCT_NAME}'i Aç" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Hesap değiştiriciyi aç" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Gelişmiş medya ayarlarını aç" @@ -24788,7 +24788,7 @@ msgstr "Banner seçeneklerini aç" msgid "Open bookmarks" msgstr "Yer işaretlerini aç" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Tarayıcıyı aç" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Tarih seçiciyi aç" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Masaüstü indirmelerini aç" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Ayarları aç" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Yazılım merkezini aç" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Sistem Ayarları'nı Aç" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Sistem Ayarları → Gizlilik ve Güvenlik → Ekran Kaydı'nı açın, ardından {productName}'a izin verin." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Şablon JSON'ını aç" @@ -25089,7 +25089,7 @@ msgstr "Şablon JSON'ını aç" msgid "Open the context menu" msgstr "Bağlam menüsünü aç" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Aşağıdaki bağlantıyı tarayıcınızda açın, ardından JSON yanıtının tamamını kopyalayıp kutuya yapıştırın." @@ -25167,11 +25167,11 @@ msgstr "Ses ve video ayarlarını aç" msgid "Open with {accountName} on {instanceName}" msgstr "{accountName} ile {instanceName} üzerinde aç" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Tarayıcınızı açın, oturum açın ve hesabınızı bağlamak için aşağıdaki kodu girin." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Eski {PRODUCT_NAME} uygulamanızı açın ve Yeni bir cihaz bağla seçeneğini belirleyip aşağıdaki kodu girin." @@ -25199,7 +25199,7 @@ msgstr "Üyeler sayfasını açar. Açmak için Boşluk veya Enter tuşuna bası #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "İşletim sistemi" @@ -25629,7 +25629,7 @@ msgstr "Son 7 gün" msgid "Paste" msgstr "Yapıştır" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Yapısını yeni bir topluluğa aktarmak için bir {theOtherPlatform} şablon URL'si yapıştırın." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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." @@ -25933,7 +25933,7 @@ msgstr "{0} için izinler" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Kişisel sözlük" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Bu gönderi için en az bir etiket seçin." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Bir veya daha fazla sözlük seçin. Seçilen tüm sözlüklerdeki kelimeler kabul edilir, bu da çok dilli sohbetler için kullanışlıdır." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Fiyatlar hâlâ yükleniyor." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Satın alımlar kullanılamıyor" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Bas konuş tuşu" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Bas konuş" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Bas konuş (sınırlı)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Bas konuş için henüz sistem genelinde bir tuş atanmadı. Atamak için Ayarlar > Uygulamalar > {productName} bölümüne gidin." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Bas konuş için henüz sistem genelinde bir tuş atanmadı. Atamak için Sistem Ayarları > Klavye > Kısayollar > {productName} bölümüne gidin." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Bas konuş için henüz sistem genelinde bir tuş atanmadı. Atamak için masaüstünüzün klavye kısayolu ayarlarını açın." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Bas konuş özelliği doğrudan girişte yok sayılır. Kullanmak için odaklanmış sese veya özel seçeneğine geçin." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Bas konuş açık. Konuşmak için bas konuş tuşunuzu basılı tutun." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Masaüstünüz sistem genelinde kısayolları ayarlamadığı için bas konuş yalnızca {productName} odaklanmışken çalışır." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Bas-konuş yalnızca {productName} odaklıyken çalışır, ta ki {permissionName} etkinleştirilene kadar." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Sistem genelinde kısayolları ayarlayana kadar bas konuş yalnızca {productName} odaklanmışken çalışır." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Bas konuş özelliği yalnızca tarayıcı sekmesi odaklıyken çalışır." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Bas konuş, {productName} uygulamasında ayarladığınız tuşu kullanacak. Önce bir tuş ayarlayın, aksi takdirde mikrofonunuz ses etkinliğini kullanır." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Sağırlaştırma açıkken bas konuş mikrofonunuzun sesini açmaz. Konuşmak için sağırlaştırmayı kaldırın." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Bas konuş, {productName} dışında yalnızca Hyprland yapılandırmanızda bir tuşa atandıktan sonra çalışır." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Bas konuş, {productName} dışında yalnızca Hyprland yapılandırmanızda bir tuşa atandıktan sonra çalışır. Hyprland sürümünüz için satırı ekleyin ve KEY yerine istediğiniz tuşu yazın." @@ -27533,12 +27533,12 @@ msgstr "Alıcılar şuraya yönlendirilecek: {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Önerilen" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Önerilen. Mikrofonunuzu temizleyerek net konuşma sağlar." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Yeniden bağlanma başarılı. Önceki akışınıza devam etmek isterseniz lütfen tekrar bir ekran seçin." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Masaüstünüze yeniden bağlanılıyor…" @@ -27836,7 +27836,7 @@ msgstr "Yeniden başlatarak uygula" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Bırakma gecikmesi" @@ -27853,7 +27853,7 @@ msgstr "İlgili" msgid "Reload" msgstr "Yeniden yükle" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Motor değişikliğini tamamen uygulamak için {PRODUCT_NAME} uygulamasını yeniden yükleyin. Uygulama içi ve sistem yazım denetimi arasında geçiş yapmak arayüzün yeniden yüklenmesini gerektirir çünkü Electron çalışırken sağlayıcı değiştiremez." @@ -27872,7 +27872,7 @@ msgstr "{version} web güncellemesini kullanmak için {productName} uygulamasın msgid "Reload app" msgstr "Uygulamayı yeniden yükle" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Şimdi yeniden yükle" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Kaldır" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Sözlükten \"{word}\" kelimesini kaldır" @@ -28086,8 +28086,8 @@ msgstr "Yalnızca URL'den kaydedilen GIF favorilerinden kaldır" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Simgeyi kaldır" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Sayfa başına satır" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM paketi" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Güvenlik" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Sizinle aynı saat diliminde" @@ -29770,7 +29770,7 @@ msgstr "Ekran Kaydı" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Ekran kaydı izni gerekli" @@ -29858,7 +29858,7 @@ msgstr "Ekran paylaşımı gizliliği" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Ekran paylaşımı kalitesi" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Dil kodu ara…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Dilleri ara…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "GIF seç: {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Arayüz dilini seçin" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Yeni cihazınızda oturum açmak istediğiniz hesabı seçin." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Ses işleme modunu seçin" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Ham mikrofon sesini işlem yapmadan gönderir." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Sesinizi olduğu gibi gönderir. Harici ses yazılımı kullanıyorsanız en iyisidir." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Rol için bir üye listesi konumu ayarlandı" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "{preset} ön ayarı tarafından ayarlandı. Buradaki bir değeri seçmek Özel'e geçer." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Ses bölgesi otomatik olarak ayarlandı" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Ayarla" @@ -31307,7 +31307,7 @@ msgstr "Bir arkadaşınızla paylaşın" msgid "Share your screen" msgstr "Ekranınızı paylaşın" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Ekranınızı yüksek çözünürlükte (1080p), Quad HD'de (1440p) veya kaynak çözünürlüğünde, 60 FPS'ye kadar paylaşın." @@ -31399,7 +31399,7 @@ msgstr "Kısa kodlar" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Kısayol" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Kısayol rozetleri" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Favori düğmesini göster" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Uygulama genelinde favorileri göster" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Tarayıcınızla oturum açın" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Eski {productName} uygulamanızla giriş yap" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Çıkış yapılsın mı?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Giriş iptal edildi" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Oturum açma ayrıntıları" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Oturum açma akışı" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "{name} olarak oturum açılıyor" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Başka bir cihazda oturum mu açıyorsunuz?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Sesler" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Hız" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Yazım denetimi" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Yazım denetimi motoru" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Yıldız animasyonu" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Yıldızlı kanallar" @@ -33140,7 +33140,7 @@ msgstr "Sesli arama başlatılsın mı?" msgid "Start call" msgstr "Aramayı başlat" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Kamera testini başlat ve efektleri yapılandır" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Küçültülmüş olarak başlat" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Başlangıç" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Statik Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Dizin oluşturma sürüyor, birazdan tekrar kontrol edin" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Sabit Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Ekran kaydı erişimini bekliyor" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Mikrofon testini durdur" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Neko'yu sürüklenebilir ve etkileşimli tutarken imlecinizi takip etmesini engelleyin." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Abonelik zaten mevcut" @@ -33957,7 +33957,7 @@ msgstr "Rahat düzene geç" msgid "Switch to dense layout" msgstr "Yoğun düzene geç" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Doğrudan girişe geç" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "Sistem DM'leri sesli arama barındıramaz." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Sistemin saat biçimi: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Sistem tepsisi" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Sistem tarafından yönetilen kurulum" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Sistem genelindeki kısayollar" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Sistem genelinde kısayollar ayarlanamadı." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Not eklemek için dokun" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz arşivi" @@ -34360,7 +34360,7 @@ msgstr "Görev çubuğu rozeti" msgid "Teleporting you to another voice region..." msgstr "Sizi başka bir ses bölgesine ışınlıyoruz..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Şablon" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "Diğer cihazınızdaki {PRODUCT_NAME} uygulaması, başka bir cihazda oturum açma bölümünde bunu gösterir. Yalnızca kontrol ettiğiniz bir cihazdan kod girin." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "{PRODUCT_NAME} uygulamasına giriş yapılmamıştı. Bu sekmeyi kapatabilirsiniz." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Aradığınız topluluk silinmiş olabilir veya erişim izniniz olmayabilir." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Masaüstü güncellemesi indirilemedi. Bağlantınız kararlı olduğunda güncelleme düğmesinden tekrar deneyin." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "İndirilen dosya bilgisayarınıza kaydedildi. Normal paket yöneticinizle yükleyin." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Bu kategori zaten maksimum {maxChannelsPerCategory} kanal içeriyor." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Bu kategori yetişkinlere yönelik içerik olarak işaretlenmiştir ve bazı kullanıcılar için uygunsuz olabilecek materyaller içerebilir." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Bu kanalda içerik uyarısı var. Güncellemeler yalnızca içerik uyarısı veya yaş kısıtlaması olan kanallara gidebilir." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Bu kanal yetişkinlere yönelik içerik olarak işaretlenmiştir ve bazı kullanıcılar için uygunsuz olabilecek materyaller içerebilir." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Bu topluluk dolu" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Bu topluluk yetişkinlere yönelik içerik olarak işaretlenmiştir ve bazı kullanıcılar için uygunsuz olabilecek materyaller içerebilir." @@ -35324,14 +35324,14 @@ msgstr "Bu topluluk artık kullanılamıyor" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Bu bağlantı doğrulandı." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Bu bağlantı doğrulanmadı." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Bu sohbet artık kullanılamıyor." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Bu masaüstü sürümü, güncellemeleri {productName} içinde yükleyemiyor. Bunun yerine en son masaüstü kurulum dosyasını indirin." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Bu masaüstü sistem genelinde kısayolları desteklemiyor. Bas konuş yalnızca {productName} odaklanmışken çalışır." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Bu masaüstü sistem genelinde kısayolları desteklemiyor. Kısayollar {productName} odaklanmışken çalışmaya devam eder." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Bu geliştirme sürümü kendini güncelleyemez. Güncelleme akışını test etmek için bir masaüstü yükleyicisi indirin." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Bu resim okunamadı. Bozuk olabilir." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Bu kurulum sisteminiz tarafından yönetiliyor. {productName} uygulamasını yazılım merkezinden veya paket yöneticisinden güncelleyin." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Bu kurulumda oturum açmak için zaten kullanıcı adları kullanılıyor. Bu artık değiştirilemez." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Bu kurulum şu anda 30 FPS'de 720p'ye kadar ekran paylaşımına izin veriyor." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Bu bağlantı geçerli değil. Lütfen e-postanızdaki bağlantıyı tekrar açın." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Bu yetişkinlere özel kategori hesabınız için kullanılamıyor." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Bu yetişkinlere özel kategori hesabınız için kullanılamıyor. <0>Daha fazla bilgi edinin" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Bu yetişkinlere özel kanal hesabınız için kullanılamıyor." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Bu yetişkinlere özel kanal hesabınız için kullanılamıyor. <0>Daha fazla bilgi edinin" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Bu yetişkinlere özel topluluk hesabınız için kullanılamıyor." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Bu yetişkinlere özel topluluk hesabınız için kullanılamıyor. <0>Daha fazla bilgi edinin" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Bu yetişkinlere özel medya hesabınız için kullanılamıyor." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Bu yetişkinlere özel medya hesabınız için kullanılamıyor. <0>Daha fazla bilgi edinin" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Bu plan kullanılamıyor. Destekle iletişime geçin." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Bu plan kullanılamıyor. Bu kurulumun yöneticileriyle iletişime geçin." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Bu satın alma işlemi iade için uygun değil." @@ -35837,7 +35853,7 @@ msgstr "Bu başlık kilitlendi. Yalnızca moderatörler mesaj gönderebilir." msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Bu kullanıcı profilini sınırladı. Bazı ayrıntılar arkadaşı olmayan kişilerden gizlenir." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Bu kullanıcının bu toplulukta hiçbir rolü yok." @@ -36050,14 +36066,14 @@ msgstr "Saat" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Saat biçimi" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Saat biçimi seçimi" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Başlık çubuğu platformu" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Tuşları değiştirmek için Ayarlar > Uygulamalar > {productName} bölümüne gidin." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Tuşları değiştirmek için Sistem Ayarları > Klavye > Kısayollar > {productName} bölümüne gidin." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Tuşları değiştirmek için masaüstünüzün klavye kısayolu ayarlarını açın." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Araç çubuğu" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Araç ipucu kısayolları" @@ -36864,7 +36880,7 @@ msgstr "Yirmi dört saat" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "İki tıklama" @@ -37263,7 +37279,7 @@ msgstr "Evrensel yedek. En düşük kalite, ancak her yerde çalışır." #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Bilinmiyor" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "{premiumProductName} ile DM'lerde özel emojilerin kilidini açın" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "{premiumProductName} ile HD ekran paylaşımının kilidini açın" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "30 FPS ile 720p'ye kadar" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Wayland'da sistem genelinde kısayolları kullanmak için {productName} uygulamasını güncelleyin." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Durumumu güncelle" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Şimdi güncelle" @@ -38008,8 +38024,8 @@ msgstr "Bu kanalda dosya ve medya yükleyin." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Simge yükle" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "{name} adresinde {domain} kullan" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "{pixPaymentMethod} kullan" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "{upiPaymentMethod} kullan" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Alternatif yöntem kullan" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Otomatik kaydırmayı kullan" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Kart kullan" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Varsayılanı kullan" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Doğrudan giriş aygıtı erişimini kullan" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Diğer topluluklardaki çıkartmaları kullanın." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Saat biçimi için sistem yerel ayarını kullan" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "İşletim sisteminin pencere çerçevesini kullan" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "İşletim sisteminizin yerleşik yazım denetleyicisini kullanın." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Ses etkinliğini kullan" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Varsa işletim sisteminizin yazım denetleyicisini kullanın. Yoksa {productName} uygulama içi sözlüklerini kullanın." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Önce e-postanızı doğrulayın" @@ -39244,7 +39260,7 @@ msgstr "Ayrıntıları görüntüle" msgid "View devices that are signed in to your account" msgstr "Hesabınızda oturum açmış cihazları görüntüleyin" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Profilin tamamını görüntüle" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Sesli kanal" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Sesli kanal onayı" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Sesli kanal dolu" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Sesli kanala katılma davranışı" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Sesli sohbete katılanlar" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Ses işleme" @@ -39661,7 +39677,7 @@ msgstr "Sağırlaştırma kaldırıldı" msgid "Voice unmute" msgstr "Mikrofon açıldı" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Bu tarayıcıda sesli görüşmeler sisteminizin çıkış cihazını kullanır. Sistem ayarlarınızdan değiştirebilirsiniz." @@ -39675,7 +39691,7 @@ msgstr "İptal edildi" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Mesajlar arasında bekleme süresi. \"{bypassSlowmodePermissionLabel}\" msgid "Waiting for connection..." msgstr "Bağlantı bekleniyor..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Geçiş anahtarı bekleniyor…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Seni bekliyorum..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Masaüstünüz bekleniyor…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Bu temayı okuyamadık. Bozuk veya geçersiz olabilir." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Bu çıkartmayı 320x320 piksele yeniden boyutlandırıp sıkıştırdı msgid "We sent a code to {email}." msgstr "{email} adresine bir kod gönderdik." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Tarayıcıda oturum açma ekranı açıldığında {prefillEmail} adresini önceden dolduracağız." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Web sitesi önizlemeleri" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Tekrar hoş geldiniz" @@ -40321,7 +40337,7 @@ msgstr "Hangi topluluklar" msgid "Which conversations" msgstr "Hangi sohbetler" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Bas konuş açıkken kısayolunuz mikrofonunuzu kontrol eder, bu yüzden sesi kapatma düğmesi devre dışı olur." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Az önce Tab tuşuna bastınız. Klavye modu artık açık, böylece {productName} uygulamasında fare kullanmadan gezinebilirsiniz." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Avantajlarınız bir sonraki yenileme tarihinize kadar devam eder. Abone geçmişinizi korumak için aboneliğinizi bu tarihten önce yeniden etkinleştirin." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Tüm {PREMIUM_PRODUCT_NAME} avantajlarınızı anında kaybedersiniz ve abone geçmişiniz sıfırlanır. Bu işlem geri alınamaz." @@ -41137,8 +41153,8 @@ msgstr "Burada diğer topluluklardan emoji kullanmak için \"{permissionLabel}\" msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Burada diğer topluluklardan çıkartma kullanmak için \"{permissionLabel}\" iznine sahip olmanız gerekir." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Topluluk oluşturmadan önce hesabınızı sahiplenmeniz gerekiyor." @@ -41155,8 +41171,8 @@ msgstr "Doğrudan mesaj göndermek için hesabınızı sahiplenmeniz gerekiyor." msgid "You need to claim your account to send messages in this community." msgstr "Bu toplulukta mesaj göndermek için hesabınızı sahiplenmeniz gerekiyor." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Bir topluluk oluşturmadan önce e-posta adresinizi doğrulamanız gerekiyor." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 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." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Çevrimdışı görünürsünüz" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Şimdi ücretlendirileceksiniz. Hediye sürenizin kalanı, ödeme sürenizin sonuna eklenecek, böylece hiçbiri kaybolmayacak." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Zaten Visionary'siniz" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Çok hızlı rapor gönderiyorsunuz. Daha sonra tekrar deneyin." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Giriş yaptınız" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Bu toplulukta mesaj göndermek için hesabınız çok yeni." msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Hesap isteğiniz onay bekliyor. Bir yönetici onayladıktan sonra oturum açabilirsiniz." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Hesabınız çok faktörlü kimlik doğrulama gerektiriyor ancak bu cihazda desteklenen bir yöntem ayarlanmamış. Kimlik doğrulayıcı uygulamanızın veya güvenlik anahtarınızın olduğu bir cihazdan oturum açın ya da destek ekibiyle iletişime geçin." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Hesabınız çok faktörlü kimlik doğrulama gerektiriyor ancak bu cihazda desteklenen bir yöntem ayarlanmamış. Kimlik doğrulayıcı uygulamanızın veya güvenlik anahtarınızın olduğu bir cihazdan oturum açın ya da bu kurulumun yöneticileriyle iletişime geçin." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Hesaplarınız ve ayarlarınız değiştirilmedi veya silinmedi." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "İşleminiz güvenlik sistemlerimiz tarafından işaretlendiği için tamamlanamadı. Bunun bir hata olduğunu düşünüyorsanız lütfen destek ekibiyle iletişime geçin." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "İşleminiz güvenlik sistemlerimiz tarafından işaretlendiği için tamamlanamadı. Bunun bir hata olduğunu düşünüyorsanız lütfen bu kurulumun yöneticileriyle iletişime geçin." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Yeni kit oluşturulduğunda mevcut kit'iniz çalışmayı durduracaktır." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Masaüstünüz sistem genelinde kısayolları ayarlamadı." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Masaüstünüz bu tuşları {productName} için ayırır, bu yüzden diğer uygulamalar bunları kullanamaz." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Masaüstünüz bu tuşları {productName} için ayırır, bu yüzden diğer uygulamalar bunları kullanamaz. Aynı tuşu diğer uygulamalarda da kullanmak için aşağıdan doğrudan giriş aygıtı erişimini açın." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Masaüstünüz, {productName} odaklanmamışken bile bu kısayolları çalıştırır." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Hediye süreniz sona erdi. {premiumProductName} almaya devam etmek için abone olun." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Hediye süreniz saklanacak" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Ödemesiz süreniz sona erdi." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Yüklemeniz bozuk. Tüm işlevlerin çalışması için uygulamayı yeniden yüklemeniz gerekiyor." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Son satın alımınız iade süresinin dışında. Fatura sorunları için destek ekibiyle iletişime geçin." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Mesajınız güvenlik sistemlerimiz tarafından işaretlendiği için gönderilemedi. Bunun bir hata olduğunu düşünüyorsanız lütfen destek ekibiyle iletişime geçin." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Mesajınız güvenlik sistemlerimiz tarafından işaretlendiği için gönderilemedi. Bunun bir hata olduğunu düşünüyorsanız lütfen bu kurulumun yöneticileriyle iletişime geçin." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Mesajınız gönderilemedi. Bunun nedeni genellikle alıcıyla ortak bir topluluğunuz olmaması veya alıcının yalnızca arkadaşlardan gelen doğrudan mesajları kabul etmesidir. Ayrıca kendi doğrudan mesaj gizlilik ayarlarınızı {directMessagePrivacySettingsPath} bölümünden düzenlemeniz gerekebilir." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Mesajınız gönderilemedi. Doğrudan mesaj göndermek için hesabınızı sahiplenmeniz gerekiyor." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Mesajınız gönderilemedi. Mesaj göndermek için hesabınızı sahiplenmeniz gerekiyor." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Raporunuz gönderilemedi. Tekrar deneyin." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Kaydedilen {savedResolution} ({savedFrameRate} FPS) ayarlarınız {premiumProductName} gerektiriyor, bu nedenle paylaşımlar {resolution} ({frameRate} FPS) kullanıyor." diff --git a/fluxer_app/src/features/i18n/locales/uk/messages.po b/fluxer_app/src/features/i18n/locales/uk/messages.po index af1e37e25..106c6b2d7 100644 --- a/fluxer_app/src/features/i18n/locales/uk/messages.po +++ b/fluxer_app/src/features/i18n/locales/uk/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} працює на новішій версії Fluxer, ніж ця програма. Оновіть Fluxer, а потім спробуйте ще раз." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "На {duration} попереду вас" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "На {duration} позаду вас" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} кадр/с" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# годину тому} few {# години том #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# година} few {# години} many {# годин} other {# години}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# година} few {# години} many {# годин} other {# години}} {minutes, plural, one {# хвилина} few {# хвилини} many {# хвилин} other {# хвилини}}" @@ -1602,7 +1602,7 @@ msgstr "Файл {label} завеликий. Виберіть файл, менш msgid "{label} images cannot be animated. Use a static image." msgstr "Зображення {label} не можуть бути анімованими. Використовуйте статичне зображення." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Прапор: {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# хвилину тому} few {# хвилини #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# хвилина} few {# хвилини} many {# хвилин} other {# хвилини}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} виявив новий пристрій виведенн msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} потрібно перезапустити, щоб вбудовані налаштування прокручування Chromium набули чинності." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} потрібно перезапустити, щоб апаратне прискорення набуло чинності." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "Щоб зміни в рядку заголовка набули чинності, {PRODUCT_NAME} потрібно перезапустити." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} потрібно перезапустити, щоб вимкнути апаратне прискорення Chromium. Використовуйте це лише для усунення несправностей графіки або високого завантаження графічного процесора." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Мисливець за помилками {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} може попросити ваше робоче середовище виконувати його комбінації клавіш, коли {productName} не у фокусі. Робоче середовище попросить підтвердження і дозволить вибрати клавіші." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} більше не може зчитувати вашу клавіатуру, тому відстежує комбінації клавіш через X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} більше не може зчитувати вашу клавіатуру, тому натомість використовуються комбінації клавіш вашого робочого середовища." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} більше не може зчитувати вашу клавіатуру. Комбінації клавіш працюють лише тоді, коли {productName} у фокусі." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} може зареєструвати свої комбінації клавіш у Hyprland, щоб вони працювали, коли {productName} не у фокусі. Після цього призначте клавіші в конфігурації Hyprland." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} не може задіяти для цього апаратний кодер, тому використовуватиме ваш процесор." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} закриється, встановить оновлення та відкриється знову." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} не зміг підключитися до служби оновлень. Перевірте з'єднання та спробуйте ще раз." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} переїхав на {host}. Відкрийте його у браузері, щоб установити новий застосунок." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Учасник {productName} з" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} потрібен доступ до мікрофона. Дозвольте доступ до мікрофона в налаштуваннях конфіденційності операційної системи та перезапустіть застосунок." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "Щоб відобразити ваші пристрої, застосунку {productName} потрібен доступ до камери." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "Щоб переглянути список пристроїв, застосунку {productName} потрібен доступ до мікрофона." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "Відновлювальний набір {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} зареєстрував свої комбінації клавіш у Hyprland. Призначте їм клавіші в конфігурації Hyprland, щоб використовувати їх, коли {productName} не у фокусі." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 місяців (1 рік)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12-годинний" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 години" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24-годинний" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "ім'я хоста, наприклад, {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Доступне оновлення для комп'ютера в Linux. Оберіть формат пакета для цієї системи, і {productName} збереже його локально." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "хвилина" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Доступна нова комп'ютерна версія. Завантажте інсталятор і запустіть його, щоб оновити {productName}." @@ -2817,7 +2817,7 @@ msgstr "Про {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Про мене" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Поширення інформації про активність" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Поріг активності" @@ -3155,7 +3155,7 @@ msgstr "Фактичний розмір" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Додати" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Спочатку додайте ім'я користувача та пароль до свого облікового запису." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Додати слово…" @@ -3244,7 +3244,7 @@ msgstr "Додайте ключ API YouTube Data, щоб доповнювати #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Додати обліковий запис" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Адреса" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Налаштуйте кожну опцію самостійно: приглушення шуму, ехокомпенсація та підсилення." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Додатково" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Розширені налаштування відео" @@ -3906,22 +3906,22 @@ msgstr "Дозволити" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Дозволити згадки {everyoneMention} та {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Дозвольте {PRODUCT_NAME} отримати доступ до вашої камери в «Системні параметри» → «Конфіденційність і безпека» → «Камера»." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Дозвольте {PRODUCT_NAME} отримати доступ до мікрофона в Системних параметрах → Конфіденційність і безпека → Мікрофон." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Дозвольте {PRODUCT_NAME} доступ до мікрофона. Перевірте адресний рядок або налаштування свого браузера." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Дозвольте {productName} у розділі «Запис екрана» в «Системних параметрах». Якщо він уже дозволений, перезапустіть {productName2}, щоб macOS застосувала зміни." @@ -3961,7 +3961,7 @@ msgstr "Дозволити ботам надсилати особисті пов msgid "Allow bots to send you direct messages?" msgstr "Дозволити ботам надсилати вам особисті повідомлення?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Дозволити камеру" @@ -4029,7 +4029,7 @@ msgstr "Дозволити учасникам без дозволу «{readMessa msgid "Allow mentions for this role" msgstr "Дозволити згадки для цієї ролі" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Дозволити мікрофон" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Завжди підкреслювати посилання" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Завжди використовувати словники Hunspell від {productName}, які завантажуються за потреби." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Значок на іконці застосунку" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Формат часу мови застосунку: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Потрібне схвалення" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Підтвердьте цей застосунок у застосунку {productName}, яким ви вже користуєтеся. Пароль не потрібен." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Авторизовано {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Автоматично" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Автоматично визначати мову" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Автоматично встановлювати поріг активності" @@ -5534,7 +5534,7 @@ msgstr "AV1 (потрібно увімкнути)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Доступно" @@ -5608,11 +5608,11 @@ msgstr "Зараз відсутній(-я)" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Найкраще стиснення. Використовуйте лише тоді, коли WebRTC надає кодувальник, а звіт GPU підтверджує апаратну підтримку." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Найкраще з десктопним застосунком" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Браузер: домашня сторінка" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Формат часу браузера: {format}" @@ -6545,8 +6545,8 @@ msgstr "Придбайте подарунок {premiumProductName} на вкла msgid "Buy gift" msgstr "Купити подарунок" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Створюючи спільноту, ви погоджуєтеся дотримуватися <0>правил спільноти {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Дзвінки" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Попередній перегляд камери" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Якість камери" @@ -6809,8 +6809,8 @@ msgstr "Сюди не можна завантажити файли" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Скасувати заплановану зміну" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Скасувати підписку" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Скасувати підписку?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Категорія" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Попередження про вміст категорії" @@ -7131,15 +7131,15 @@ msgstr "Змінити псевдонім у групі" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Змінити іконку" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Змінити в налаштуваннях системи" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Значки каналів" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Попередження про вміст каналу" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Комбінації клавіш у чаті" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Перевірити знову" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Перевірка доступу..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Перевіряємо дозвіл на запис екрана…" @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Оформлення замовлення недоступне" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "Виберіть, як ви хочете оплатити цю підписку." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Виберіть спосіб оплати" @@ -8174,7 +8174,7 @@ msgstr "Виберіть налаштування за замовчування #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Виберіть свій екземпляр" @@ -8216,8 +8216,8 @@ msgstr "Отримати подарунок" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Зареєструйте свій обліковий запис" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Значки спільнот" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Попередження про вміст спільноти" @@ -9089,8 +9089,8 @@ msgstr "Особисті повідомлення спільноти" msgid "Community filter" msgstr "Фільтр спільноти" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Іконка спільноти" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Спільноту оновлено" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Голосовий чат спільноти" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Завершити оплату" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Пройдіть перевірку вмісту для дорослих, щоб розблокувати медіафайли для дорослих." @@ -9409,7 +9409,7 @@ msgstr "Підтвердити" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Запитувати підтвердження перед приєднанням до голосових каналів" @@ -9457,7 +9457,7 @@ msgstr "Підтвердьте заяву, щоб надіслати скарг #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Підтвердження приєднання до голосового каналу" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Підтвердження" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Підтвердження або подвійне клацання для приєднання до голосового каналу спільноти" @@ -9476,7 +9476,7 @@ msgstr "Підтвердження або подвійне клацання дл msgid "Conflicts with {conflictLabel}" msgstr "Конфліктує з {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Підключіть камеру та спробуйте ще раз." @@ -9489,7 +9489,7 @@ msgstr "Підключіть камеру або віртуальний прис msgid "Connect a display, then try again." msgstr "Підключіть дисплей, а потім спробуйте ще раз." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Підключіть мікрофон і спробуйте ще раз." @@ -9633,7 +9633,7 @@ msgstr "Підключення: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Контакт" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Вміст заблоковано" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Продовжити в браузері" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Продовжити до оформлення замовлення" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Продовжити з ключем доступу" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Копіювати посилання-запрошення" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Копіювати рядки" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Копіювати рядки для hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Копіювати рядки для hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Не вдалося змінити вашу ціну" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Не вдалося перевірити наявність оновлень" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Не вдалося видалити ваші повідомлення" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Не вдалося завантажити оновлення для комп'ютера" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Не вдалося розпочати оформлення замовлення" @@ -10932,7 +10932,7 @@ msgstr "Створити й поділитися" msgid "Create a community" msgstr "Створити спільноту" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Створіть спільноту для спілкування з друзями." @@ -11365,7 +11365,7 @@ msgstr "Власне джерело" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Звук вимкнено модераторами" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "Пакет DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Десктопний застосунок" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Десктопний застосунок має найновішу версію" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Доступне оновлення для комп'ютера {version}. Виберіть пакет Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Доступне оновлення для комп'ютера" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Доступне оновлення для комп'ютера. Виберіть пакет Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Доступна комп'ютерна версія {version}. Завантажте інсталятор і запустіть його, щоб оновити {productName}." @@ -12613,7 +12613,7 @@ msgstr "Деталі: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Визначати під час введення" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Інструменти розробника недоступні" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Розробницька збірка" @@ -13455,8 +13455,8 @@ msgstr "Завантажити" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Завантажити {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification та помістіть його до папки <1>.well-known, щоб ми могли перевірити домен." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Завантажити додаток" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Завантажити додаток" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Кнопка завантаження" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Завантажити десктопний застосунок" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Завантажити зображення" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Завантажити інсталятор" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Завантажити медіа" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Завантажити пакунок" @@ -13655,11 +13655,11 @@ msgstr "Відпустити елемент" msgid "Drop to upload background" msgstr "Перетягніть, щоб завантажити фон" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Через закони про контент для дорослих у регіоні {regionName} такий контент заблоковано, доки ви не пройдете перевірку." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Через закони про контент для дорослих у регіоні {regionName} такий контент тут недоступний. Перевірка контенту для дорослих доступна лише у Великій Британії." @@ -13673,7 +13673,7 @@ msgstr "Через закони про контент для дорослих у msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Через закони про контент для дорослих у регіоні {regionName} цей контент тут недоступний. Перевірка контенту для дорослих доступна лише у Великій Британії." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Через закони про контент для дорослих у регіоні {regionName} цей медіафайл недоступний у вашому поточному регіоні." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Кожен код діє один раз замість вашого автентифікатора." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Кожна клавіша може запускати лише одну загальносистемну комбінацію клавіш." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Увімкнути" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Увімкнути дозвіл «{permissionName}»" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Увімкнути комбінацію клавіш" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Увімкнути перевірку правопису" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Завершити пільговий період зараз" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Завершити пільговий період" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Завершити пільговий період зараз?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Введіть PIN-код вашого ключа безпеки, щоб продовжити." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Введіть цей код у браузері" @@ -14845,7 +14845,7 @@ msgstr "Введіть цей код у браузері" msgid "Enter this code in your browser to complete sign-in." msgstr "Введіть цей код у своєму браузері, щоб завершити вхід." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Введіть цей код у своєму старому застосунку {PRODUCT_NAME}, щоб завершити вхід." @@ -14916,7 +14916,7 @@ msgstr "Весь системний звук" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Звук входу" @@ -15026,7 +15026,7 @@ msgstr "Вечірній час" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Вирівнює гучність мікрофона, щоб ви не були занадто тихими." @@ -15249,7 +15249,7 @@ msgstr "Термін дії закінчується між {earliest} та {lat msgid "Expires in {remaining}s" msgstr "Закінчується через {remaining} с" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Термін дії закінчується через {remainingSeconds}с" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Додати канал до вибраного" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Вибрані канали" @@ -16243,7 +16243,7 @@ msgstr "На {threeHours} години" msgid "For {twentyFourHours} hours" msgstr "На {twentyFourHours} години" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Тільки для британців..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Для мене" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Для функції «Натисни і вимкни мікрофон» використовуйте одну клавішу без Ctrl, Alt або Shift. Якщо клавіш кілька, спочатку відпускайте основну, інакше мікрофон може лишитися вимкненим." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Для функції «Натисни і говори» використовуйте одну клавішу без Ctrl, Alt або Shift. Якщо клавіш кілька, спочатку відпускайте основну, інакше мікрофон може лишитися ввімкненим." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Для цієї комбінації клавіш використовуйте одну клавішу без Ctrl, Alt або Shift. Якщо клавіш кілька, спочатку відпускайте основну, інакше комбінація може лишитися активною." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Для пріоритету голосової активності використовуйте одну клавішу без Ctrl, Alt або Shift. Якщо клавіш кілька, спочатку відпускайте основну, інакше пріоритет може лишитися ввімкненим." @@ -16460,14 +16460,14 @@ msgstr "Рамка" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Частота кадрів" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Для частоти кадрів понад 30 FPS потрібен {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Отримуйте сповіщення про нові повідомлення. Можливо, вам потрібно буде дозволити сповіщення в налаштуваннях браузера. Щоб налаштувати сповіщення для окремих каналів/спільнот, клацніть правою кнопкою миші на значку спільноти та відкрийте налаштування сповіщень." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Завантажте десктопний застосунок {productName}, щоб використовувати функцію «Натисни і говори» в усій системі та інші цікаві можливості." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Завантажити десктопний застосунок" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Поверніться до {productName}, щоб продовжити." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Повернутися до програми {PRODUCT_NAME}. Вона самостійно завершить вхід." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Повернутися до програми {PRODUCT_NAME}. Цю вкладку можна закрити." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Довідка" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Кнопка \"Довідка\"" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Довідковий центр" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Довідковий центр" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Допоможіть перекласти {PRODUCT_NAME} вашою мовою на <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Сховати чат" msgid "Hide community owner crown" msgstr "Сховати корону власника спільноти" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Сховати кнопку завантаження" @@ -17860,7 +17860,7 @@ msgstr "Сховати вибране" msgid "Hide guidelines" msgstr "Приховати правила" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Сховати кнопку довідкового центру" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Приховати повідомлення про приєднання" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Приховати підказки для клавіатури" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Гіперпосилання" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "У Hyprland немає вікна для налаштування комбінацій клавіш. Додайте рядки для вашої версії Hyprland до його конфігурації і замініть KEY на потрібну клавішу." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "У Hyprland немає вікна для налаштування комбінацій клавіш. Призначте клавіші в конфігурації Hyprland." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (до Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 і новіші)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Я добросовісно підтверджую, що відомості та твердження, наведені в цій скарзі, є точними та повними." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Я розумію" @@ -18598,11 +18598,11 @@ msgstr "Імпорт… оброблено {processedCount, number} з {totalCou msgid "In" msgstr "У" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "У режимі «Операційна система» наведені вище словники мають рекомендаційний характер. {PRODUCT_NAME} передаватиме ці мовні теги засобу перевірки правопису вашої ОС, якщо він це підтримує. Теги, які він не розпізнає, ігноруються." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "У браузері функція «Натисни і говори» працює лише тоді, коли вкладка {PRODUCT_NAME} активна. Установіть десктопний застосунок для використання функції «Натисни і говори» в усій системі." @@ -18650,7 +18650,7 @@ msgstr "У голосовому чаті" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Вбудовані словники" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Введення" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Введення та виведення" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Вставити емоджі" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Установіть {productName}, щоб отримати повний вибір джерел і зручніші елементи керування демонстрацією екрана." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Встановити новий застосунок" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Встановлено" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Встановлена версія: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Інтерфейс" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Мова інтерфейсу" @@ -19467,13 +19467,13 @@ msgstr "Приєднатися" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Приєднатися до {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Приєднуйтеся до спільноти «{communityName}», щоб спілкуватися з командою та бути в курсі подій." @@ -19561,7 +19561,7 @@ msgstr "Приєднатися до відеодзвінка" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Приєднатися до голосового чату" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Зберігайте безкоштовний і преміум-рівні. Ви можете налаштувати рівні, продавати преміум через Stripe або роздавати подарункові коди пізніше з панелі адміністратора." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Залишити пільговий період" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Працювати у фоні" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Залишити підписку" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Збережіть цю сторінку в безпечному місці. Якщо ви забудете пароль, ви зможете скористатися нею, щоб відновити доступ до свого облікового запису. Будь-хто, хто матиме цей ключ відновлення, зможе скинути ваш пароль, тому ніколи не діліться ним." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Ще трохи передавати звук після відпускання клавіші." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Клавіатура" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Не вдалося запустити доступ до клавіатури. Комбінації клавіш працюють лише тоді, коли {productName} у фокусі." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Режим клавіатури" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Показувати комбінації клавіш у спливаючих підказках" @@ -19923,7 +19923,7 @@ msgstr "Налаштування мови" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Мови" @@ -19971,7 +19971,7 @@ msgstr "Графік затримки" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Дозволено учаснику знову чути інших у цій спільноті" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Дозволяє {productName} зчитувати клавіатуру напряму. Вимкніть цей параметр, щоб натомість налаштувати комбінації клавіш через робоче середовище." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Дозволяє {productName} зчитувати клавіатуру напряму. Ваша система вже це дозволяє." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Стандартний аудіопристрій Linux" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Пакет для Linux" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Локальні файли" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Місцевий час" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Зовнішній вигляд" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Схоже, ви використовуєте {0}. Накладання обробки {PRODUCT_NAME} може спричинити накачування або спотворення. Прямий вхід передає ваш звук без змін." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Зробити власником групи" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Переконайтеся, що цей код збігається з кодом у програмі {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Керування підпискою" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Оновлення для комп'ютера вручну" @@ -21145,15 +21145,15 @@ msgstr "Массачусетс" msgid "Master volume" msgstr "Загальна гучність" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Категорія для дорослих" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Канал для дорослих" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Спільнота для дорослих" @@ -21194,7 +21194,7 @@ msgstr "Перевірку контенту для дорослих надісл #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Перевірка контенту для дорослих наразі доступна лише у Великій Британії." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Ролі учасника оновлено" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Учасник з" @@ -22013,7 +22013,7 @@ msgstr "Мікрофон" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Тест мікрофона" @@ -22127,7 +22127,7 @@ msgstr "Міннесота" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Неко" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Кіт Неко, що ганяється за вашим курсором" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Нові користувачі зараз не можуть приєднатися. Ви все ще можете створити обліковий запис або ввійти, а потім скористатися цим посиланням пізніше." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Нова версія" @@ -23465,7 +23465,7 @@ msgstr "Немає закладок" msgid "No bot banner" msgstr "Без банера бота" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Камеру не знайдено" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Без опису." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Оновлення для комп'ютера недоступне." @@ -23684,7 +23684,7 @@ msgstr "Немає відповідних дописів" msgid "No mentions yet" msgstr "Згадок поки немає" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Мікрофон не знайдено" @@ -23731,7 +23731,7 @@ msgstr "Немає очікуваних запитів, що відповіда msgid "No permissions found" msgstr "Дозволів не знайдено" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Особистих слів ще немає." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Не дозволено" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Не призначено" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "При натисканні" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "На іншому пристрої увійдіть за адресою {signInAddress} і введіть цей код, коли буде запропоновано." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Відкрити {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Відкрити {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Відкрити перемикач облікових записів" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Відкрити розширені налаштування медіа" @@ -24788,7 +24788,7 @@ msgstr "Відкрити параметри банера" msgid "Open bookmarks" msgstr "Відкрити закладки" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Відкрити браузер" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Відкрити календар" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Відкрити завантаження для комп'ютера" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Відкрити налаштування" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Відкрити центр програм" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Відкрити Системні параметри" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Відкрийте «Системні параметри» → «Конфіденційність і безпека» → «Запис екрана» та надайте дозвіл {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Відкрити JSON шаблону" @@ -25089,7 +25089,7 @@ msgstr "Відкрити JSON шаблону" msgid "Open the context menu" msgstr "Відкрити контекстне меню" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Відкрийте посилання нижче у своєму браузері, потім скопіюйте всю відповідь JSON і вставте її в поле." @@ -25167,11 +25167,11 @@ msgstr "Відкрити налаштування аудіо та відео" msgid "Open with {accountName} on {instanceName}" msgstr "Відкрити з {accountName} на {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Відкрийте браузер, увійдіть, а потім введіть код нижче, щоб зв'язати свій обліковий запис." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Відкрийте свій старий застосунок {PRODUCT_NAME} і виберіть «Підключити новий пристрій», а потім введіть код нижче." @@ -25199,7 +25199,7 @@ msgstr "Відкриває сторінку учасників. Натисніт #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Операційна система" @@ -25629,7 +25629,7 @@ msgstr "Останні 7 днів" msgid "Paste" msgstr "Вставити" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Вставте URL шаблону {theOtherPlatform}, щоб імпортувати його структуру в нову спільноту." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Дозволи для {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Особистий словник" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Оберіть принаймні один тег для цього допису." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Виберіть один або кілька словників. Слова з будь-якого вибраного словника приймаються, що корисно для багатомовних чатів." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Ціни ще завантажуються." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Покупки недоступні" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Клавіша «Натисни і говори»" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Натисни і говори" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Натисни і говори (обмежено)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Для функції «Натисни і говори» ще не призначено загальносистемну клавішу. Щоб призначити її, перейдіть у Параметри > Програми > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Для функції «Натисни і говори» ще не призначено загальносистемну клавішу. Щоб призначити її, перейдіть у Системні параметри > Клавіатура > Скорочення > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Для функції «Натисни і говори» ще не призначено загальносистемну клавішу. Щоб призначити її, відкрийте налаштування комбінацій клавіш вашого робочого середовища." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Режим «Натисни і говори» не діє, коли вибрано обробку голосу «Прямий вхід». Перейдіть на «Чіткий голос» або «Власна», щоб скористатися ним." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Режим «Натисни і говори» ввімкнено. Утримуйте клавішу «Натисни і говори», щоб говорити." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Функція «Натисни і говори» працює лише тоді, коли {productName} у фокусі, бо ваше робоче середовище не налаштувало загальносистемні комбінації клавіш." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Функція \"Натисніть і говоріть\" працюватиме лише тоді, коли {productName} активний, доки не буде надано дозвіл {permissionName}." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Функція «Натисни і говори» працює лише тоді, коли {productName} у фокусі, доки ви не налаштуєте загальносистемні комбінації клавіш." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Функція «Натисни і говори» працює, лише коли вкладка браузера активна." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Функція «Натисни і говори» використовуватиме клавішу, задану в {productName}. Спочатку задайте її, інакше мікрофон працюватиме за голосовою активністю." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Режим «Натисни і говори» не ввімкне ваш мікрофон, поки у вас вимкнено звук. Увімкніть звук, щоб говорити." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Функція «Натисни і говори» працює поза {productName} лише після того, як ви призначите для неї клавішу в конфігурації Hyprland." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Функція «Натисни і говори» працює поза {productName} лише після того, як ви призначите для неї клавішу в конфігурації Hyprland. Додайте рядок для вашої версії Hyprland і замініть KEY на потрібну клавішу." @@ -27533,12 +27533,12 @@ msgstr "Одержувачі перейдуть до {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Рекомендовано" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Рекомендовано. Очищає звук мікрофона для чіткої мови." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Повторне підключення успішне. Виберіть екран ще раз, якщо хочете відновити попередню трансляцію." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Повторне підключення до робочого середовища…" @@ -27836,7 +27836,7 @@ msgstr "Перезапустити для застосування" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Затримка відпускання" @@ -27853,7 +27853,7 @@ msgstr "Найрелевантніші" msgid "Reload" msgstr "Перезавантажити" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Перезавантажте {PRODUCT_NAME}, щоб повністю застосувати зміну рушія. Перемикання між вбудованою та системною перевіркою орфографії потребує перезавантаження процесу візуалізації, оскільки Electron не може змінювати постачальників під час роботи." @@ -27872,7 +27872,7 @@ msgstr "Перезавантажте {productName}, щоб застосуват msgid "Reload app" msgstr "Перезавантажити застосунок" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Перезавантажити зараз" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Видалити" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Видалити «{word}» зі словника" @@ -28086,8 +28086,8 @@ msgstr "Видалити з вибраних GIF за URL-адресою" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Видалити іконку" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Рядків на сторінку" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "Пакет RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "Безпека" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Час збігається з вашим" @@ -29770,7 +29770,7 @@ msgstr "Запис екрана" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Потрібен дозвіл на запис екрана" @@ -29858,7 +29858,7 @@ msgstr "Конфіденційність демонстрації екрана" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Якість демонстрації екрана" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Пошук коду мови…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Пошук мов…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Вибрати GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Виберіть мову інтерфейсу" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Виберіть обліковий запис, за допомогою якого ви хочете увійти на новому пристрої." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Виберіть режим обробки голосу" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Надсилає звук мікрофона без жодної обробки." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Надсилає ваш звук без змін. Найкраще, якщо ви використовуєте зовнішні аудіопрограми." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Встановлено позицію ролі у списку учасників" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Встановлено пресетом {preset}. Вибір значення тут перемкне на \"Власні налаштування\"." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Встановлено автоматичний вибір голосового регіону" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Налаштувати" @@ -31307,7 +31307,7 @@ msgstr "Поділитися з другом" msgid "Share your screen" msgstr "Поділитися екраном" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Діліться екраном у високій роздільній здатності (1080p), quad HD (1440p) або у вихідній роздільній здатності джерела з частотою до 60 кадрів/с." @@ -31399,7 +31399,7 @@ msgstr "Шорткоди" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Комбінація клавіш" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Значки комбінацій клавіш" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Показувати кнопку додавання до вибраного" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Показувати вибране в усьому застосунку" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Увійти через браузер" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Увійти за допомогою старого застосунку {productName}" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Вийти?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Вхід скасовано" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Дані для входу" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Вхід" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Вхід як {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Входите з іншого пристрою?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "Під час оформлення замовлення сталася помилка. Спробуйте ще раз за мить." @@ -32812,7 +32812,7 @@ msgstr "Звуки" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Швидкість" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Перевірка правопису" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Рушій перевірки правопису" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Анімація зірки" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Канали у вибраному" @@ -33140,7 +33140,7 @@ msgstr "Розпочати голосовий дзвінок?" msgid "Start call" msgstr "Почати дзвінок" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Запустити тест камери та налаштувати ефекти" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Розпочати згорнутим" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Запуск" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Статичний Неко" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Триває індексування — зачекайте" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Нерухомий Неко" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Очікуємо надання доступу до запису екрана" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Зупинити перевірку мікрофона" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Неко більше не бігатиме за курсором, але його й далі можна перетягувати та з ним взаємодіяти." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Підписка вже існує" @@ -33957,7 +33957,7 @@ msgstr "Перейти до зручного вигляду" msgid "Switch to dense layout" msgstr "Перейти до щільного вигляду" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Перейти на прямий вхід" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "У системних приватних чатах не можна здійснювати голосові дзвінки." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Формат часу системи: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Системний трей" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Системна інсталяція" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Загальносистемні комбінації клавіш" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Не вдалося налаштувати загальносистемні комбінації клавіш." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Натисніть, щоб додати примітку" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "Архів tar.gz" @@ -34360,7 +34360,7 @@ msgstr "Значок на панелі завдань" msgid "Teleporting you to another voice region..." msgstr "Переміщуємо вас до іншого голосового регіону..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Шаблон" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "Додаток {PRODUCT_NAME} на вашому іншому пристрої показує його в розділі \"Вхід з іншого пристрою\". Вводьте код лише з пристрою, який ви контролюєте." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "Додаток {PRODUCT_NAME} не було авторизовано. Ви можете закрити цю вкладку." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Спільноту, яку ви шукаєте, можливо, було видалено або у вас немає доступу до неї." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Не вдалося завантажити оновлення для комп'ютера. Спробуйте ще раз за допомогою кнопки оновлення, коли ваше з'єднання буде стабільним." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Завантажений файл збережено на вашому комп'ютері. Установіть його за допомогою звичайного менеджера пакунків." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Ця категорія вже містить максимальну кількість каналів: {maxChannelsPerCategory}." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Ця категорія позначена як така, що містить контент для дорослих, і може містити матеріали, які можуть бути неприйнятними для деяких користувачів." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Цей канал має попередження про вміст. Оновлення можна надсилати лише до каналів із попередженням про вміст або обмеженням за віком." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Цей канал позначено як такий, що містить контент для дорослих, і може містити матеріали, які можуть бути неприйнятними для деяких користувачів." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Ця спільнота заповнена" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Ця спільнота позначена як така, що містить контент для дорослих, і може містити матеріали, які можуть бути неприйнятними для деяких користувачів." @@ -35324,14 +35324,14 @@ msgstr "Ця спільнота більше недоступна" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Це підключення підтверджено." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Це підключення не підтверджено." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Ця розмова більше недоступна." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Ця збірка для комп'ютера не може встановлювати оновлення всередині {productName}. Натомість завантажте найновіший інсталятор для комп'ютера." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Це робоче середовище не підтримує загальносистемні комбінації клавіш. Функція «Натисни і говори» працює лише тоді, коли {productName} у фокусі." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Це робоче середовище не підтримує загальносистемні комбінації клавіш. Комбінації клавіш і далі працюють, коли {productName} у фокусі." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Ця розробницька збірка не може оновити себе. Завантажте інсталятор для комп'ютера, щоб протестувати процес оновлення." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Не вдалося прочитати це зображення. Можливо, воно пошкоджене." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Цією інсталяцією керує ваша система. Оновіть {productName} через центр програм або менеджер пакунків." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Цей екземпляр вже використовує імена користувачів для входу. Це неможливо змінити." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Цей екземпляр наразі дозволяє демонстрацію екрана до 720p із частотою 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Цей посилання недійсне. Спробуйте відкрити посилання з електронного листа ще раз." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Ця категорія для дорослих недоступна для вашого облікового запису." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Ця категорія для дорослих недоступна для вашого облікового запису. <0>Докладніше" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Цей канал для дорослих недоступний для вашого облікового запису." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Цей канал для дорослих недоступний для вашого облікового запису. <0>Докладніше" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Ця спільнота для дорослих недоступна для вашого облікового запису." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Ця спільнота для дорослих недоступна для вашого облікового запису. <0>Докладніше" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Цей медіафайл для дорослих недоступний для вашого облікового запису." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Цей медіафайл для дорослих недоступний для вашого облікового запису. <0>Докладніше" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "Цей тарифний план недоступний. Зверніться до служби підтримки." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Цей тарифний план недоступний. Зверніться до адміністраторів цього екземпляра." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Ця покупка не підлягає поверненню коштів." @@ -35837,7 +35853,7 @@ msgstr "Цей тред заблоковано. Лише модератори м msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Цей користувач обмежив свій профіль. Деякі деталі приховані від тих, хто не є його друзями." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Цей користувач не має ролей у цій спільноті." @@ -36050,14 +36066,14 @@ msgstr "Час" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Формат часу" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Вибір формату часу" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Платформа рядка заголовка" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Щоб змінити клавіші, перейдіть у Параметри > Програми > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Щоб змінити клавіші, перейдіть у Системні параметри > Клавіатура > Скорочення > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Щоб змінити клавіші, відкрийте налаштування комбінацій клавіш вашого робочого середовища." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Панель інструментів" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Комбінації клавіш у підказках" @@ -36864,7 +36880,7 @@ msgstr "24-годинний" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Два кліки" @@ -37263,7 +37279,7 @@ msgstr "Універсальний запасний варіант. Найниж #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Невідомо" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Розблокуйте власні емодзі у приватних чатах з {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Розблокуйте демонстрацію екрана в HD з {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "До 720p зі швидкістю 30 кадрів/сек" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Оновіть {productName}, щоб використовувати загальносистемні комбінації клавіш у Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Оновити мій статус" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Оновити зараз" @@ -38008,8 +38024,8 @@ msgstr "Завантажувати файли та медіа в цьому ка #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Завантажити іконку" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Використовуйте {name} на {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Використати {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Використати {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Використати інший спосіб" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Використовувати автопрокручування" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Використати картку" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Використати типове значення" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Використовувати прямий доступ до пристроїв введення" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Використовувати стікери з інших спільнот." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Використовувати регіональні налаштування системи для формату часу" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Використовувати віконні елементи керування операційної системи" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Використовувати вбудовану перевірку правопису операційної системи." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Використовувати голосову активність" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Використовуйте перевірку правопису вашої операційної системи, якщо вона доступна. В іншому разі використовуйте вбудовані словники {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Спершу підтвердьте свою електронну пошту" @@ -39244,7 +39260,7 @@ msgstr "Переглянути деталі" msgid "View devices that are signed in to your account" msgstr "Переглянути пристрої, на яких виконано вхід у ваш обліковий запис" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Переглянути повний профіль" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary вже надає постійний доступ, тому регулярна підписка не потрібна. Ви й надалі можете купувати подарунки для інших." @@ -39535,7 +39551,7 @@ msgstr "Голосовий канал" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Підтвердження входу в голосовий канал" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Голосовий канал заповнено" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Поведінка під час приєднання до голосового каналу" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Учасники голосового чату" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Обробка голосу" @@ -39661,7 +39677,7 @@ msgstr "Увімкнення звуку в голосовому чаті" msgid "Voice unmute" msgstr "Увімкнення мікрофона" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "У цьому браузері голосові виклики використовують системний пристрій виведення. Змініть його в налаштуваннях системи." @@ -39675,7 +39691,7 @@ msgstr "Анульовано" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Час між повідомленнями. Учасники з дозв msgid "Waiting for connection..." msgstr "Очікування з'єднання…" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Очікування ключа доступу…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Чекаємо, поки ви..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Очікування робочого середовища…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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} для цього облікового запису. Керуйте нею на захищеному платіжному порталі, щоб оновити платіжні дані або перевірити статус поновлення. Якщо ви щойно здійснили оплату, зачекайте хвилину та знову відкрийте цю сторінку." @@ -39914,7 +39930,7 @@ msgstr "Ми змінили розмір і стиснули цей стікер msgid "We sent a code to {email}." msgstr "Ми надіслали код на {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Ми попередньо заповнимо {prefillEmail}, щойно відкриється вхід у браузері." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Попередній перегляд вебсайтів" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "З поверненням" @@ -40321,7 +40337,7 @@ msgstr "Які спільноти" msgid "Which conversations" msgstr "Які розмови" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Коли ввімкнено режим «Натисни і говори», мікрофоном керує ваша комбінація клавіш, тому кнопка вимкнення мікрофона неактивна." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "Зараз ви перейдете до {paymentProviderName}, щоб завершити платіж. Поверніться до {productName}, щойно завершите його." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Ви щойно натиснули Tab. Режим клавіатури ввімкнено, тож ви можете переміщатися в {productName} без миші." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Ви зберігаєте свої переваги до наступної дати поновлення. Поновіть підписку до цієї дати, щоб зберегти історію підписок." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Ви одразу втратите всі переваги {PREMIUM_PRODUCT_NAME}, а історію підписок буде скинуто. Це неможливо скасувати." @@ -41137,8 +41153,8 @@ msgstr "Щоб використовувати тут емодзі з інших msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Щоб використовувати тут стікери з інших спільнот, вам потрібен дозвіл «{permissionLabel}»." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Щоб створити спільноту, потрібно зареєструвати свій обліковий запис." @@ -41155,8 +41171,8 @@ msgstr "Щоб надсилати особисті повідомлення, п msgid "You need to claim your account to send messages in this community." msgstr "Щоб надсилати повідомлення в цій спільноті, потрібно зареєструвати свій обліковий запис." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Щоб створити спільноту, потрібно підтвердити свою електронну адресу." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "Щоб придбати {premiumProductFullName}, потрібно підтвердити свою електронну адресу." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Для інших ви будете офлайн" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "З вас буде стягнуто плату зараз. Ваш залишок подарункового часу буде додано після платного періоду, тому він не буде втрачений." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Ви вже Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Ви надто швидко надсилаєте скарги. Спробуйте пізніше." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Ви успішно увійшли" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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}, щоб змінити план або перевірити статус поновлення." @@ -41559,10 +41575,14 @@ msgstr "Ваш обліковий запис занадто новий, щоб msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Ваш запит на обліковий запис очікує схвалення. Ви зможете ввійти після схвалення адміністратором." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Ваш обліковий запис вимагає багатофакторної автентифікації, але на цьому пристрої не налаштовано жодного підтримуваного методу. Увійдіть на пристрої із застосунком автентифікації або ключем безпеки чи зверніться до служби підтримки." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Ваш обліковий запис вимагає багатофакторної автентифікації, але на цьому пристрої не налаштовано жодного підтримуваного методу. Увійдіть на пристрої із застосунком автентифікації або ключем безпеки чи зверніться до адміністраторів цього екземпляра." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Ваші облікові записи та налаштування не були змінені чи видалені." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Вашу дію не вдалося виконати, оскільки її позначено нашими системами безпеки. Якщо ви вважаєте, що це помилка, зверніться до служби підтримки." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Вашу дію не вдалося виконати, оскільки її позначено нашими системами безпеки. Якщо ви вважаєте, що це помилка, зверніться до адміністраторів цього екземпляра." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Ваш поточний комплект перестане працювати, щойно буде створено новий." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Ваше робоче середовище не налаштувало загальносистемні комбінації клавіш." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Ваше робоче середовище резервує ці клавіші для {productName}, тому інші програми не можуть їх використовувати." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Ваше робоче середовище резервує ці клавіші для {productName}, тому інші програми не можуть їх використовувати. Щоб використовувати ту саму клавішу в інших програмах, увімкніть нижче прямий доступ до пристроїв введення." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Ваше робоче середовище виконує ці комбінації клавіш, навіть коли {productName} не у фокусі." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Ваш подарунковий час закінчився. Підпишіться, щоб продовжити {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Ваш подарунковий час збережено" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Ваш пільговий період закінчився." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Ваша інсталяція пошкоджена. Щоб уся функціональність працювала, вам потрібно перевстановити застосунок." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Ваша остання покупка вже поза межами періоду повернення коштів. Зверніться до служби підтримки щодо питань виставлення рахунків." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Ваше повідомлення не вдалося доставити, оскільки його позначено нашими системами безпеки. Якщо ви вважаєте, що це помилка, зверніться до служби підтримки." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Ваше повідомлення не вдалося доставити, оскільки його позначено нашими системами безпеки. Якщо ви вважаєте, що це помилка, зверніться до адміністраторів цього екземпляра." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Ваше повідомлення не вдалося доставити. Зазвичай це стається тому, що у вас немає спільних спільнот з одержувачем або одержувач приймає особисті повідомлення лише від друзів. Можливо, вам також потрібно змінити власні налаштування конфіденційності особистих повідомлень у {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Ваше повідомлення не вдалося доставити. Щоб надсилати особисті повідомлення, вам потрібно зареєструвати свій обліковий запис." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Ваше повідомлення не вдалося доставити. Щоб надсилати повідомлення, вам потрібно зареєструвати свій обліковий запис." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Вашу скаргу не вдалося надіслати. Спробуйте ще раз." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Ваша збережена якість {savedResolution} із частотою {savedFrameRate} кадрів на секунду потребує {premiumProductName}, тому спільний доступ використовує {resolution} із частотою {frameRate} кадрів на секунду." diff --git a/fluxer_app/src/features/i18n/locales/vi/messages.po b/fluxer_app/src/features/i18n/locales/vi/messages.po index 1bc791e30..2de519d15 100644 --- a/fluxer_app/src/features/i18n/locales/vi/messages.po +++ b/fluxer_app/src/features/i18n/locales/vi/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} chạy phiên bản Fluxer mới hơn ứng dụng này. Hãy cập nhật Fluxer rồi thử lại." #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "Sớm hơn bạn {duration}" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "Chậm hơn bạn {duration}" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# giờ trước} other {# giờ trước}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# giờ} other {# giờ}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# giờ} other {# giờ}} {minutes, plural, one {# phút} other {# phút}}" @@ -1602,7 +1602,7 @@ msgstr "Tệp {label} quá lớn. Vui lòng chọn tệp nhỏ hơn {maxSizeLabe msgid "{label} images cannot be animated. Use a static image." msgstr "Không thể sử dụng ảnh động cho {label}. Vui lòng sử dụng ảnh tĩnh." -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "Cờ {languageName}" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# phút trước} other {# phút trước}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, other {# phút}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} đã tìm thấy một thiết bị đầu ra âm thanh m msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} cần khởi động lại trước khi các cài đặt cuộn tích hợp của Chromium thay đổi cách cuộn hoạt động." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} cần khởi động lại để tính năng tăng tốc phần cứng có hiệu lực." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} cần khởi động lại để thay đổi về thanh tiêu đề có hiệu lực." -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} cần khởi động lại để tắt tính năng tăng tốc phần cứng của Chromium. Chỉ sử dụng tùy chọn này nếu bạn đang khắc phục sự cố đồ họa hoặc mức sử dụng GPU cao." @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "Người săn lỗi {productName}" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} có thể yêu cầu môi trường máy tính để bàn chạy phím tắt của ứng dụng khi cửa sổ {productName} không hoạt động. Môi trường máy tính để bàn sẽ yêu cầu bạn xác nhận và cho bạn chọn phím." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} không thể đọc bàn phím của bạn nữa, vì vậy ứng dụng sẽ nhận phím tắt qua X11." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} không thể đọc bàn phím của bạn nữa, vì vậy phím tắt của môi trường máy tính để bàn sẽ được dùng thay thế." #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} không thể đọc bàn phím của bạn nữa. Phím tắt chỉ hoạt động khi cửa sổ {productName} đang hoạt động." #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} có thể đăng ký phím tắt với Hyprland để chúng chạy cả khi cửa sổ {productName} không hoạt động. Sau đó, bạn gán phím trong tệp cấu hình Hyprland." @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} không thể sử dụng bộ mã hóa phần cứng cho việc này, vì vậy ứng dụng sẽ sử dụng CPU của bạn." #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} sẽ đóng, cài đặt bản cập nhật và mở lại." #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} không thể kết nối đến dịch vụ cập nhật. Hãy kiểm tra kết nối và thử lại." @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} đã chuyển sang {host}. Mở trên trình duyệt để cài đặt ứng dụng mới." #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "Thành viên {productName} từ" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} cần quyền truy cập micrô của bạn. Hãy cho phép truy cập micrô trong cài đặt quyền riêng tư của hệ điều hành và khởi động lại ứng dụng." #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} cần quyền truy cập camera để liệt kê thiết bị của bạn." #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} cần quyền truy cập micrô để liệt kê thiết bị của bạn." @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "Bộ phục hồi {productName}" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} đã đăng ký phím tắt với Hyprland. Hãy gán phím cho chúng trong tệp cấu hình Hyprland để dùng khi cửa sổ {productName} không hoạt động." @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 tháng (1 năm)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12 giờ" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 giờ" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24 giờ" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "một tên máy chủ, ví dụ: {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Đã có bản cập nhật cho ứng dụng máy tính trên Linux. Chọn định dạng gói cho hệ thống này và {productName} sẽ lưu về máy." @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "một phút" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "Đã có phiên bản mới cho máy tính. Tải xuống trình cài đặt, sau đó chạy để cập nhật {productName}." @@ -2817,7 +2817,7 @@ msgstr "Giới thiệu về {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "Giới thiệu" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "Chia sẻ hoạt động" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "Ngưỡng hoạt động" @@ -3155,7 +3155,7 @@ msgstr "Kích thước thật" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "Thêm" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "Trước tiên, hãy thêm tên người dùng và mật khẩu cho tài khoản của bạn." #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "Thêm từ…" @@ -3244,7 +3244,7 @@ msgstr "Thêm khóa YouTube Data API để bổ sung thông tin cho các liên k #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "Thêm tài khoản" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "Địa chỉ" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "Tự điều chỉnh từng cài đặt: khử tiếng ồn, loại bỏ tiếng vọng và độ lợi." @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "Nâng cao" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "Cài đặt video nâng cao" @@ -3906,22 +3906,22 @@ msgstr "Cho phép" msgid "Allow {everyoneMention} and {hereMention}" msgstr "Cho phép {everyoneMention} và {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "Cho phép {PRODUCT_NAME} truy cập máy ảnh của bạn trong Cài đặt hệ thống → Quyền riêng tư & Bảo mật → Máy ảnh." -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "Cho phép {PRODUCT_NAME} truy cập micrô của bạn trong Cài đặt hệ thống → Quyền riêng tư & bảo mật → Micrô." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "Cho phép {PRODUCT_NAME} truy cập micrô của bạn. Kiểm tra thanh địa chỉ hoặc cài đặt trình duyệt của bạn." #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "Cho phép {productName} trong mục Ghi màn hình trên Cài đặt hệ thống. Nếu đã được phép, hãy khởi chạy lại {productName2} để macOS áp dụng." @@ -3961,7 +3961,7 @@ msgstr "Cho phép bot nhắn tin trực tiếp" msgid "Allow bots to send you direct messages?" msgstr "Cho phép bot gửi tin nhắn trực tiếp cho bạn?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "Cho phép truy cập camera" @@ -4029,7 +4029,7 @@ msgstr "Cho phép thành viên không có quyền {readMessageHistoryPermissionL msgid "Allow mentions for this role" msgstr "Cho phép nhắc đến vai trò này" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "Cho phép truy cập micro" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "Luôn gạch chân liên kết" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "Luôn dùng từ điển Hunspell của {productName}, được tải xuống theo yêu cầu." @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "Huy hiệu trên biểu tượng ứng dụng" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "Định dạng giờ theo ngôn ngữ ứng dụng: {format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "Cần phê duyệt" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "Phê duyệt ứng dụng này từ ứng dụng {productName} mà bạn đã sử dụng. Không cần mật khẩu." @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "Đã ủy quyền vào {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "Tự động" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "Tự động phát hiện ngôn ngữ" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "Tự động đặt ngưỡng hoạt động" @@ -5534,7 +5534,7 @@ msgstr "AV1 (yêu cầu bật tùy chọn)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "Khả dụng" @@ -5608,11 +5608,11 @@ msgstr "Đang vắng mặt" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "Nén tốt nhất. Chỉ dùng khi WebRTC hiển thị bộ mã hóa và báo cáo GPU cho biết bộ mã hóa được hỗ trợ bằng phần cứng." #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "Dùng tốt nhất với ứng dụng máy tính" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "Trình duyệt: trang chủ" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "Định dạng giờ của trình duyệt: {format}" @@ -6545,8 +6545,8 @@ msgstr "Mua quà {premiumProductName} từ tab {premiumProductName} để chia s msgid "Buy gift" msgstr "Mua quà tặng" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "Bằng cách tạo cộng đồng, bạn đồng ý tuân thủ và duy trì <0>nguyên tắc cộng đồng {PRODUCT_NAME}." @@ -6658,7 +6658,7 @@ msgstr "Cuộc gọi" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "Xem trước camera" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "Chất lượng camera" @@ -6809,8 +6809,8 @@ msgstr "Không thể tải tệp lên ở đây" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "Hủy chuyển đổi đã lên lịch" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "Hủy gói đăng ký" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "Hủy gói đăng ký?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "Danh mục" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "Cảnh báo nội dung danh mục" @@ -7131,15 +7131,15 @@ msgstr "Đổi biệt danh nhóm" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "Đổi biểu tượng" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "Thay đổi trong cài đặt hệ thống" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "Huy hiệu kênh" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "Cảnh báo nội dung kênh" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "Phím tắt trò chuyện" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "Kiểm tra lại" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "Đang kiểm tra quyền truy cập..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "Đang kiểm tra quyền ghi màn hình..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "Thanh toán không khả dụng" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 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." @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "Chọn phương thức thanh toán" @@ -8174,7 +8174,7 @@ msgstr "Chọn tùy chọn mặc định của bạn" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "Chọn máy chủ của bạn" @@ -8216,8 +8216,8 @@ msgstr "Nhận quà" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "Xác nhận tài khoản" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "Huy hiệu cộng đồng" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "Cảnh báo nội dung cộng đồng" @@ -9089,8 +9089,8 @@ msgstr "Tin nhắn cộng đồng" msgid "Community filter" msgstr "Bộ lọc cộng đồng" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "Biểu tượng cộng đồng" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "Đã cập nhật cộng đồng" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "Thoại cộng đồng" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "Hoàn tất thanh toán" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "Hoàn tất kiểm tra nội dung người lớn để mở khóa nội dung người lớn." @@ -9409,7 +9409,7 @@ msgstr "Xác nhận" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "Xác nhận trước khi vào kênh thoại" @@ -9457,7 +9457,7 @@ msgstr "Xác nhận tuyên bố để gửi báo cáo." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "Xác nhận tham gia thoại" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "Xác nhận" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "Xác nhận hoặc nhấp đúp để tham gia kênh thoại cộng đồng" @@ -9476,7 +9476,7 @@ msgstr "Xác nhận hoặc nhấp đúp để tham gia kênh thoại cộng đ msgid "Conflicts with {conflictLabel}" msgstr "Xung đột với {conflictLabel}" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "Kết nối camera và thử lại." @@ -9489,7 +9489,7 @@ msgstr "Kết nối camera hoặc thiết bị ghi hình ảo, rồi thử lại msgid "Connect a display, then try again." msgstr "Kết nối một màn hình, rồi thử lại." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "Kết nối micrô và thử lại." @@ -9633,7 +9633,7 @@ msgstr "Kết nối: {connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "Liên hệ" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "Nội dung bị chặn" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "Tiếp tục trên trình duyệt của bạn" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "Tiếp tục thanh toán" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "Tiếp tục bằng khóa truy cập" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "Sao chép URL mời" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "Sao chép dòng" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "Sao chép dòng cho hyprland.conf" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "Sao chép dòng cho hyprland.lua" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "Không thể thay đổi mức giá của bạn" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "Không thể kiểm tra bản cập nhật" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "Không thể xóa tin nhắn của bạn" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "Không thể tải bản cập nhật ứng dụng máy tính" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "Không thể bắt đầu thanh toán" @@ -10932,7 +10932,7 @@ msgstr "Tạo & chia sẻ" msgid "Create a community" msgstr "Tạo cộng đồng" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "Tạo một cộng đồng để bạn và bạn bè trò chuyện." @@ -11365,7 +11365,7 @@ msgstr "Tùy chỉnh" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "Đã bị người điều hành tắt tiếng nghe" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "Gói DEB" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "Ứng dụng máy tính" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "Ứng dụng máy tính đã là phiên bản mới nhất" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "Có bản cập nhật {version} cho ứng dụng máy tính. Chọn gói Linux." #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "Có bản cập nhật cho ứng dụng máy tính" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "Có bản cập nhật cho ứng dụng máy tính. Chọn gói Linux." #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "Đã có phiên bản {version} cho máy tính. Tải xuống trình cài đặt rồi chạy để cập nhật {productName}." @@ -12613,7 +12613,7 @@ msgstr "Chi tiết: {reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "Tự động phát hiện khi gõ" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "Công cụ nhà phát triển không khả dụng" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "Bản dựng phát triển" @@ -13455,8 +13455,8 @@ msgstr "Tải xuống" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "Tải xuống {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification và đặt vào thư mục <1>.well-known để chúng tôi có thể xác minh tên miền." #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "Tải ứng dụng" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "Tải xuống ứng dụng" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "Nút tải xuống" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "Tải ứng dụng máy tính" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "Tải ảnh" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "Tải trình cài đặt" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "Tải phương tiện" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "Tải gói" @@ -13655,11 +13655,11 @@ msgstr "Thả mục" msgid "Drop to upload background" msgstr "Thả để tải ảnh nền lên" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "Do luật về nội dung người lớn ở {regionName}, nội dung người lớn sẽ bị chặn cho đến khi bạn hoàn tất kiểm tra nội dung người lớn." -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "Do luật về nội dung người lớn ở {regionName}, nội dung người lớn không khả dụng tại đây. Tính năng kiểm tra nội dung người lớn chỉ có ở Vương quốc Anh." @@ -13673,7 +13673,7 @@ msgstr "Do luật về nội dung người lớn ở {regionName}, nội dung n msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "Do luật về nội dung người lớn ở {regionName}, nội dung này không khả dụng tại đây. Tính năng kiểm tra nội dung người lớn chỉ có ở Vương quốc Anh." -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "Do luật về nội dung người lớn ở {regionName}, nội dung đa phương tiện này không khả dụng ở khu vực hiện tại của bạn." @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "Mỗi mã chỉ dùng được một lần thay cho ứng dụng xác thực của bạn." #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "Mỗi phím chỉ có thể chạy một phím tắt toàn hệ thống." @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "Bật" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "Bật quyền {permissionName}" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "Bật phím tắt" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "Bật kiểm tra chính tả" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "Kết thúc thời gian ân hạn ngay" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "Kết thúc thời gian ân hạn" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "Kết thúc thời gian ân hạn ngay bây giờ?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "Nhập mã PIN cho khóa bảo mật của bạn để tiếp tục." #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "Nhập mã này vào trình duyệt của bạn" @@ -14845,7 +14845,7 @@ msgstr "Nhập mã này vào trình duyệt của bạn" msgid "Enter this code in your browser to complete sign-in." msgstr "Nhập mã này vào trình duyệt để hoàn tất đăng nhập." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "Nhập mã này vào ứng dụng {PRODUCT_NAME} cũ của bạn để hoàn tất đăng nhập." @@ -14916,7 +14916,7 @@ msgstr "Toàn bộ âm thanh hệ thống" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "Âm thanh vào phòng" @@ -15026,7 +15026,7 @@ msgstr "Buổi tối" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "Làm đều âm lượng mic của bạn để không bị quá nhỏ." @@ -15249,7 +15249,7 @@ msgstr "Hết hạn từ {earliest} đến {latest}" msgid "Expires in {remaining}s" msgstr "Hết hạn sau {remaining} giây" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "Hết hạn sau {remainingSeconds} giây" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "Thêm kênh vào mục yêu thích" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "Kênh yêu thích" @@ -16243,7 +16243,7 @@ msgstr "Trong {threeHours} giờ" msgid "For {twentyFourHours} hours" msgstr "Trong {twentyFourHours} giờ" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "Chỉ dành cho người Anh..." @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "Dành cho tôi" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "Với Nhấn để tắt tiếng, hãy dùng một phím duy nhất, không kèm Ctrl, Alt hoặc Shift. Nếu dùng tổ hợp phím, hãy nhả phím chính trước, nếu không micrô có thể vẫn bị tắt tiếng." #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "Với Nhấn để nói, hãy dùng một phím duy nhất, không kèm Ctrl, Alt hoặc Shift. Nếu dùng tổ hợp phím, hãy nhả phím chính trước, nếu không micrô có thể vẫn bật." #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "Với phím tắt này, hãy dùng một phím duy nhất, không kèm Ctrl, Alt hoặc Shift. Nếu dùng tổ hợp phím, hãy nhả phím chính trước, nếu không phím tắt có thể vẫn hoạt động." #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "Với Ưu tiên hoạt động giọng nói, hãy dùng một phím duy nhất, không kèm Ctrl, Alt hoặc Shift. Nếu dùng tổ hợp phím, hãy nhả phím chính trước, nếu không chế độ ưu tiên có thể vẫn bật." @@ -16460,14 +16460,14 @@ msgstr "Khung" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "Tốc độ khung hình" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "Tốc độ khung hình trên 30 FPS yêu cầu {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "Nhận thông báo khi có tin nhắn mới. Bạn có thể cần bật thông báo trong cài đặt trình duyệt. Để cài đặt thông báo cho từng kênh/cộng đồng, nhấp chuột phải vào biểu tượng cộng đồng và mở cài đặt thông báo." #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "Tải ứng dụng {productName} cho máy tính để bàn để sử dụng tính năng \"nhấn để nói\" trên toàn hệ thống và một số tiện ích khác." #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "Tải ứng dụng cho máy tính" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "Quay lại {productName} để tiếp tục." #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "Quay lại ứng dụng {PRODUCT_NAME}. Ứng dụng sẽ tự hoàn tất đăng nhập." #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "Quay lại ứng dụng {PRODUCT_NAME}. Bạn có thể đóng tab này." @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "Trợ giúp" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "Nút Trợ giúp" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "Trung tâm trợ giúp" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "Trung tâm trợ giúp" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "Giúp dịch {PRODUCT_NAME} sang ngôn ngữ của bạn trên <0>{I18N_WEBLATE_DOMAIN}." @@ -17841,7 +17841,7 @@ msgstr "Ẩn trò chuyện" msgid "Hide community owner crown" msgstr "Ẩn vương miện chủ sở hữu cộng đồng" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "Ẩn nút tải xuống" @@ -17860,7 +17860,7 @@ msgstr "Ẩn mục yêu thích" msgid "Hide guidelines" msgstr "Ẩn hướng dẫn" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "Ẩn nút trung tâm trợ giúp" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "Ẩn tin nhắn tham gia" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "Ẩn các gợi ý bàn phím" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "Liên kết" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland không có hộp thoại phím tắt. Thêm các dòng cho phiên bản Hyprland của bạn vào tệp cấu hình Hyprland và thay thế KEY bằng phím bạn muốn." #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland không có hộp thoại phím tắt. Hãy gán phím trong tệp cấu hình Hyprland của bạn." #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf (trước Hyprland 0.55)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua (Hyprland 0.55 trở lên)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "Tôi xác nhận với thiện chí rằng thông tin và các cáo buộc trong thông báo này là chính xác và đầy đủ." #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "Tôi đã hiểu" @@ -18598,11 +18598,11 @@ msgstr "Đang nhập… Đã xử lý {processedCount, number}/{totalCount, numb msgid "In" msgstr "Trong" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "Ở chế độ \"Hệ điều hành\", các từ điển được liệt kê ở trên chỉ mang tính chất gợi ý. {PRODUCT_NAME} sẽ chuyển các thẻ ngôn ngữ này đến trình kiểm tra chính tả của hệ điều hành nếu được hỗ trợ. Các thẻ không được nhận dạng sẽ bị bỏ qua." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "Trong trình duyệt, tính năng nhấn để nói chỉ hoạt động khi tab {PRODUCT_NAME} đang hoạt động. Hãy cài đặt ứng dụng máy tính để dùng nhấn để nói trên toàn hệ thống." @@ -18650,7 +18650,7 @@ msgstr "Trong trò chuyện thoại" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "Từ điển trong ứng dụng" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "Nhập liệu" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "Đầu vào và đầu ra" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "Chèn biểu tượng cảm xúc" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "Cài đặt {productName} để có bộ chọn nguồn đầy đủ và điều khiển chia sẻ màn hình mượt mà hơn." @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "Cài đặt ứng dụng mới" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "Đã cài đặt" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "Phiên bản đã cài đặt: {currentVersion}." @@ -19031,7 +19031,7 @@ msgstr "Giao diện" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "Ngôn ngữ giao diện" @@ -19467,13 +19467,13 @@ msgstr "Tham gia" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "Tham gia {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "Tham gia {communityName} để trò chuyện với đội ngũ và cập nhật thông tin mới nhất." @@ -19561,7 +19561,7 @@ msgstr "Tham gia cuộc gọi video" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "Tham gia trò chuyện thoại" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "Giữ nguyên các gói miễn phí và cao cấp. Bạn có thể tùy chỉnh các gói, bán gói cao cấp qua Stripe hoặc phát mã quà tặng sau từ bảng quản trị." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "Giữ thời gian ân hạn" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "Tiếp tục chạy" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "Giữ gói đăng ký" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "Hãy giữ trang này ở nơi an toàn. Nếu bạn quên mật khẩu, bạn có thể sử dụng nó để truy cập lại vào tài khoản của mình. Bất kỳ ai có khóa khôi phục này đều có thể đặt lại mật khẩu của bạn, vì vậy đừng bao giờ chia sẻ nó." #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "Tiếp tục truyền trong một khoảng thời gian ngắn sau khi nhả nút." @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "Bàn phím" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "Không thể bắt đầu truy cập bàn phím. Phím tắt chỉ hoạt động khi cửa sổ {productName} đang hoạt động." @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "Chế độ bàn phím" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "Gợi ý phím tắt trong chú giải công cụ" @@ -19923,7 +19923,7 @@ msgstr "Cài đặt ngôn ngữ" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "Ngôn ngữ" @@ -19971,7 +19971,7 @@ msgstr "Biểu đồ độ trễ" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "Đã cho phép thành viên nghe lại người khác trong cộng đồng này" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "Cho phép {productName} đọc trực tiếp bàn phím của bạn. Tắt tùy chọn này để thiết lập phím tắt qua môi trường máy tính để bàn." #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "Cho phép {productName} đọc trực tiếp bàn phím của bạn. Hệ thống của bạn đã cho phép điều này." @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Mặc định của Linux" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Gói Linux" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "Tệp cục bộ" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "Giờ địa phương" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "Giao diện người dùng" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "Có vẻ như bạn đang dùng {0}. Việc xếp chồng xử lý của {PRODUCT_NAME} lên trên có thể gây ra hiện tượng bơm tiếng hoặc méo tiếng. Đầu vào trực tiếp sẽ truyền âm thanh của bạn mà không bị thay đổi." @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "Đặt làm chủ nhóm" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "Hãy đảm bảo mã này khớp với mã trong ứng dụng {PRODUCT_NAME}." @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "Quản lý gói đăng ký của bạn" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "Cập nhật thủ công ứng dụng máy tính" @@ -21145,15 +21145,15 @@ msgstr "Massachusetts" msgid "Master volume" msgstr "Âm lượng chính" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "Danh mục nội dung người lớn" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "Kênh nội dung người lớn" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "Cộng đồng nội dung người lớn" @@ -21194,7 +21194,7 @@ msgstr "Đã gửi kiểm tra nội dung người lớn" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "Tính năng kiểm tra nội dung người lớn hiện chỉ có ở Vương quốc Anh." @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "Đã cập nhật vai trò thành viên" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "Thành viên từ" @@ -22013,7 +22013,7 @@ msgstr "Mic" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "Kiểm tra mic" @@ -22127,7 +22127,7 @@ msgstr "Minnesota" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "Neko" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "Mèo Neko đuổi theo con trỏ chuột của bạn" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "Người dùng mới hiện chưa thể tham gia. Bạn vẫn có thể tạo tài khoản hoặc đăng nhập, sau đó thử lại liên kết này sau." #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "Phiên bản mới" @@ -23465,7 +23465,7 @@ msgstr "Không có tin nhắn đã lưu" msgid "No bot banner" msgstr "Không có ảnh bìa bot" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "Không tìm thấy camera" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "Không có mô tả." #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "Không có bản cập nhật nào cho ứng dụng máy tính." @@ -23684,7 +23684,7 @@ msgstr "Không có bài viết nào khớp" msgid "No mentions yet" msgstr "Chưa có lượt nhắc đến nào" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "Không tìm thấy micrô" @@ -23731,7 +23731,7 @@ msgstr "Không có yêu cầu đang chờ nào khớp với tìm kiếm đó" msgid "No permissions found" msgstr "Không tìm thấy quyền nào" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "Chưa có từ cá nhân nào." @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "Không được phép" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "Chưa được gán" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "Khi nhấp" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "Trên thiết bị khác của bạn, hãy đăng nhập tại {signInAddress} và nhập mã này khi được yêu cầu." @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "Mở {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "Mở {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "Mở bộ chuyển đổi tài khoản" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "Mở cài đặt phương tiện nâng cao" @@ -24788,7 +24788,7 @@ msgstr "Mở tùy chọn ảnh bìa" msgid "Open bookmarks" msgstr "Mở tin nhắn đã lưu" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "Mở trình duyệt" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "Mở bộ chọn ngày" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "Mở trang tải xuống cho máy tính" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "Mở cài đặt" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "Mở trung tâm phần mềm" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "Mở Cài đặt hệ thống" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "Mở Cài đặt hệ thống → Quyền riêng tư & Bảo mật → Ghi màn hình, sau đó cho phép {productName}." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "Mở JSON mẫu" @@ -25089,7 +25089,7 @@ msgstr "Mở JSON mẫu" msgid "Open the context menu" msgstr "Mở menu ngữ cảnh" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "Mở liên kết bên dưới trong trình duyệt, sau đó sao chép toàn bộ phản hồi JSON và dán vào ô." @@ -25167,11 +25167,11 @@ msgstr "Mở cài đặt âm thanh & video" msgid "Open with {accountName} on {instanceName}" msgstr "Mở bằng {accountName} trên {instanceName}" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "Mở trình duyệt, đăng nhập, sau đó nhập mã bên dưới để liên kết tài khoản của bạn." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "Mở ứng dụng {PRODUCT_NAME} cũ của bạn và chọn Liên kết thiết bị mới, sau đó nhập mã bên dưới." @@ -25199,7 +25199,7 @@ msgstr "Mở trang Thành viên. Nhấn phím Cách hoặc Enter để mở." #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "Hệ điều hành" @@ -25629,7 +25629,7 @@ msgstr "7 ngày qua" msgid "Paste" msgstr "Dán" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "Dán URL mẫu của {theOtherPlatform} để nhập cấu trúc của mẫu đó vào một cộng đồng mới." @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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}." @@ -25933,7 +25933,7 @@ msgstr "Quyền cho {0}" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "Từ điển cá nhân" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "Chọn ít nhất một thẻ cho bài đăng này." #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "Chọn một hoặc nhiều từ điển. Từ có trong bất kỳ từ điển nào bạn chọn đều được chấp nhận, rất hữu ích cho các cuộc trò chuyện đa ngôn ngữ." @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "Bảng giá vẫn đang tải." @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "Tính năng mua hàng không khả dụng" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "Phím nhấn để nói" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "Nhấn để nói" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "Nhấn để nói (giới hạn)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "Nhấn để nói chưa có phím toàn hệ thống. Để đặt phím, hãy vào Cài đặt > Ứng dụng > {productName}." #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Nhấn để nói chưa có phím toàn hệ thống. Để đặt phím, hãy vào Cài đặt hệ thống > Bàn phím > Phím tắt > {productName}." #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "Nhấn để nói chưa có phím toàn hệ thống. Để đặt phím, hãy mở phần cài đặt phím tắt bàn phím của môi trường máy tính để bàn." -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "Nhấn để nói sẽ bị bỏ qua ở chế độ đầu vào trực tiếp. Chuyển sang giọng nói tập trung hoặc tùy chỉnh để sử dụng." @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "Chế độ nhấn để nói đã bật. Nhấn và giữ phím nhấn để nói." #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "Nhấn để nói chỉ hoạt động khi cửa sổ {productName} đang hoạt động vì môi trường máy tính để bàn chưa thiết lập phím tắt toàn hệ thống." #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "Tính năng nhấn để nói chỉ hoạt động khi {productName} được lấy nét cho đến khi bật {permissionName}." #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "Nhấn để nói chỉ hoạt động khi cửa sổ {productName} đang hoạt động cho đến khi bạn thiết lập phím tắt toàn hệ thống." #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "Nhấn để nói chỉ hoạt động khi tab trình duyệt đang hoạt động." #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "Nhấn để nói sẽ dùng phím bạn đặt trong {productName}. Hãy đặt phím trước, nếu không micrô sẽ dùng chế độ hoạt động thoại." @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "Tính năng nhấn để nói sẽ không bật micrô của bạn khi bạn đang tắt tiếng nghe. Hãy bật lại tiếng nghe để có thể nói." #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "Nhấn để nói chỉ hoạt động bên ngoài {productName} sau khi bạn gán phím trong tệp cấu hình Hyprland." #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "Nhấn để nói chỉ hoạt động bên ngoài {productName} sau khi bạn gán phím trong tệp cấu hình Hyprland. Hãy thêm dòng cho phiên bản Hyprland của bạn và thay KEY bằng phím bạn muốn." @@ -27533,12 +27533,12 @@ msgstr "Người nhận sẽ được đưa đến {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "Được đề xuất" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "Được đề xuất. Xử lý âm thanh micrô để giọng nói rõ ràng hơn." @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "Đã kết nối lại thành công. Chọn lại màn hình nếu bạn muốn tiếp tục luồng trước đó." #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "Đang kết nối lại với môi trường máy tính để bàn…" @@ -27836,7 +27836,7 @@ msgstr "Khởi động lại để áp dụng" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "Độ trễ nhả nút" @@ -27853,7 +27853,7 @@ msgstr "Liên quan" msgid "Reload" msgstr "Tải lại" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "Tải lại {PRODUCT_NAME} để áp dụng đầy đủ thay đổi về công cụ. Việc chuyển đổi giữa kiểm tra chính tả trong ứng dụng và của hệ thống yêu cầu tải lại trình kết xuất vì Electron không thể hoán đổi nhà cung cấp khi đang chạy." @@ -27872,7 +27872,7 @@ msgstr "Tải lại {productName} để sử dụng bản cập nhật web {vers msgid "Reload app" msgstr "Tải lại ứng dụng" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "Tải lại ngay" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "Xóa" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "Xóa \"{word}\" khỏi từ điển" @@ -28086,8 +28086,8 @@ msgstr "Xóa khỏi GIF yêu thích lưu theo URL" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "Xóa biểu tượng" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "Số hàng mỗi trang" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "Gói RPM" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "An toàn" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "Cùng múi giờ với bạn" @@ -29770,7 +29770,7 @@ msgstr "Quay màn hình" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "Cần quyền ghi màn hình" @@ -29858,7 +29858,7 @@ msgstr "Quyền riêng tư chia sẻ màn hình" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "Chất lượng chia sẻ màn hình" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "Tìm mã ngôn ngữ…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "Tìm ngôn ngữ…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "Chọn GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "Chọn ngôn ngữ giao diện" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "Chọn tài khoản bạn muốn đăng nhập trên thiết bị mới của mình." #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "Chọn chế độ xử lý giọng nói" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "Gửi âm thanh mic thô không qua xử lý." #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "Gửi âm thanh của bạn nguyên bản. Tốt nhất nếu bạn đang dùng phần mềm âm thanh bên ngoài." @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "Đã đặt vị trí của vai trò trong danh sách thành viên" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "Được đặt theo cài đặt sẵn {preset}. Chọn một giá trị ở đây sẽ chuyển sang Tùy chỉnh." @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "Đã đặt khu vực thoại thành tự động" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "Thiết lập" @@ -31307,7 +31307,7 @@ msgstr "Chia sẻ với bạn bè" msgid "Share your screen" msgstr "Chia sẻ màn hình của bạn" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "Chia sẻ màn hình của bạn ở độ nét cao (1080p), Quad HD (1440p) hoặc độ phân giải nguồn gốc, với tốc độ lên đến 60 FPS." @@ -31399,7 +31399,7 @@ msgstr "Mã ngắn" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "Phím tắt" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "Huy hiệu phím tắt" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "Hiện nút yêu thích" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "Hiển thị mục yêu thích trong ứng dụng" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "Đăng nhập bằng trình duyệt của bạn" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "Đăng nhập bằng ứng dụng {productName} cũ của bạn" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "Đăng xuất?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "Đã hủy đăng nhập" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "Chi tiết đăng nhập" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "Quy trình đăng nhập" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "Đăng nhập với tư cách {name}" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "Đăng nhập trên thiết bị khác?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 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." @@ -32812,7 +32812,7 @@ msgstr "Âm thanh" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "Tốc độ" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "Kiểm tra chính tả" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "Công cụ kiểm tra chính tả" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "Hiệu ứng ngôi sao" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "Các kênh đã đánh dấu sao" @@ -33140,7 +33140,7 @@ msgstr "Bắt đầu cuộc gọi thoại?" msgid "Start call" msgstr "Bắt đầu cuộc gọi" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "Bắt đầu kiểm tra camera và cấu hình hiệu ứng" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "Bắt đầu thu nhỏ" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "Khởi động" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "Neko tĩnh" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "Đang lập chỉ mục — vui lòng thử lại sau giây lát" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "Neko đứng yên" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "Vẫn đang chờ quyền truy cập ghi màn hình" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "Dừng kiểm tra micrô" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Ngăn Neko đuổi theo con trỏ chuột nhưng vẫn có thể kéo và tương tác." @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "Gói đăng ký đã tồn tại" @@ -33957,7 +33957,7 @@ msgstr "Chuyển sang bố cục thoải mái" msgid "Switch to dense layout" msgstr "Chuyển sang bố cục dày đặc" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "Chuyển sang nhập trực tiếp" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "DM hệ thống không thể tổ chức cuộc gọi thoại." #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "Định dạng giờ của hệ thống: {format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "Khay hệ thống" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "Cài đặt do hệ thống quản lý" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "Phím tắt toàn hệ thống" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "Không thể thiết lập các phím tắt toàn hệ thống." @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "Nhấn để thêm ghi chú" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "Tệp nén tar.gz" @@ -34360,7 +34360,7 @@ msgstr "Huy hiệu thanh tác vụ" msgid "Teleporting you to another voice region..." msgstr "Đang chuyển bạn sang khu vực thoại khác..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "Mẫu" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "Ứng dụng {PRODUCT_NAME} trên thiết bị kia của bạn hiển thị mục đó trong phần Đăng nhập trên thiết bị khác. Chỉ nhập mã từ thiết bị bạn kiểm soát." #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "Ứng dụng {PRODUCT_NAME} chưa đăng nhập. Bạn có thể đóng tab này." @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "Cộng đồng bạn tìm kiếm có thể đã bị xóa hoặc bạn không có quyền truy cập." #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "Không thể tải bản cập nhật cho máy tính. Hãy thử lại bằng nút cập nhật khi kết nối của bạn ổn định." #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "Tệp đã tải xuống được lưu vào máy tính của bạn. Cài đặt bằng trình quản lý gói thông thường của bạn." @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "Danh mục này đã chứa số kênh tối đa là {maxChannelsPerCategory}." #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Danh mục này được đánh dấu là có nội dung người lớn và có thể chứa nội dung không phù hợp với một số người dùng." @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "Kênh này có cảnh báo nội dung. Các cập nhật chỉ có thể được gửi đến các kênh có cảnh báo nội dung hoặc giới hạn độ tuổi." #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Kênh này được đánh dấu là có nội dung người lớn và có thể chứa nội dung không phù hợp với một số người dùng." @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "Cộng đồng này đã đầy" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "Cộng đồng này được đánh dấu là có nội dung người lớn và có thể chứa nội dung không phù hợp với một số người dùng." @@ -35324,14 +35324,14 @@ msgstr "Cộng đồng này không còn khả dụng" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "Kết nối này đã được xác minh." #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "Kết nối này chưa được xác minh." @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "Cuộc trò chuyện này không còn khả dụng." #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "Bản dựng máy tính này không thể cài đặt bản cập nhật bên trong {productName}. Thay vào đó, hãy tải trình cài đặt máy tính mới nhất." #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "Môi trường máy tính để bàn này không hỗ trợ phím tắt toàn hệ thống. Nhấn để nói chỉ hoạt động khi cửa sổ {productName} đang hoạt động." #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "Môi trường máy tính để bàn này không hỗ trợ phím tắt toàn hệ thống. Phím tắt vẫn hoạt động khi cửa sổ {productName} đang hoạt động." #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "Bản dựng phát triển này không thể tự cập nhật. Hãy tải trình cài đặt máy tính để thử quy trình cập nhật." @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "Ảnh này không thể đọc được. Ảnh có thể đã bị hỏng." #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "Bản cài đặt này do hệ thống của bạn quản lý. Hãy cập nhật {productName} từ trung tâm phần mềm hoặc trình quản lý gói của bạn." @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "Máy chủ này đã sử dụng tên người dùng để đăng nhập. Tùy chọn này không thể thay đổi nữa." #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Máy chủ này hiện cho phép chia sẻ màn hình tối đa 720p ở 30 FPS." @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "Liên kết này không hợp lệ. Vui lòng mở lại liên kết trong email của bạn." #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "Danh mục có nội dung người lớn này không khả dụng với tài khoản của bạn." -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "Danh mục có nội dung người lớn này không khả dụng với tài khoản của bạn. <0>Tìm hiểu thêm" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "Kênh có nội dung người lớn này không khả dụng với tài khoản của bạn." -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "Kênh có nội dung người lớn này không khả dụng với tài khoản của bạn. <0>Tìm hiểu thêm" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "Cộng đồng có nội dung người lớn này không khả dụng với tài khoản của bạn." -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "Cộng đồng có nội dung người lớn này không khả dụng với tài khoản của bạn. <0>Tìm hiểu thêm" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "Nội dung người lớn này không khả dụng với tài khoản của bạn." + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "Nội dung người lớn này không khả dụng với tài khoản của bạn. <0>Tìm hiểu thêm" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 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ợ." +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "Gói này không khả dụng. Hãy liên hệ quản trị viên của máy chủ này." + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "Giao dịch mua này không đủ điều kiện để được hoàn tiền." @@ -35837,7 +35853,7 @@ msgstr "Chủ đề này đã bị khóa. Chỉ quản trị viên mới có th msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "Người dùng này đã giới hạn hồ sơ của mình. Một số thông tin bị ẩn với những người không phải là bạn bè." -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "Người dùng này không có vai trò nào trong cộng đồng này." @@ -36050,14 +36066,14 @@ msgstr "Thời gian" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "Định dạng thời gian" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "Chọn định dạng thời gian" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "Nền tảng thanh tiêu đề" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "Để thay đổi các phím, hãy đi tới Cài đặt > Ứng dụng > {productName}." #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "Để thay đổi các phím, hãy vào Cài đặt hệ thống > Bàn phím > Phím tắt > {productName}." #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "Để thay đổi các phím, hãy mở phần cài đặt phím tắt bàn phím của môi trường máy tính để bàn." @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "Thanh công cụ" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "Chú giải phím tắt" @@ -36864,7 +36880,7 @@ msgstr "24 giờ" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "Hai lần nhấn" @@ -37263,7 +37279,7 @@ msgstr "Dự phòng chung. Chất lượng thấp nhất nhưng dùng được #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "Không rõ" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "Mở khóa biểu tượng cảm xúc tùy chỉnh trong tin nhắn trực tiếp với {premiumProductName}" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "Mở khóa chia sẻ màn hình HD với {premiumProductName}" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "Lên đến 720p ở 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "Cập nhật {productName} để sử dụng các phím tắt toàn hệ thống trên Wayland." @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "Cập nhật trạng thái của tôi" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "Cập nhật ngay" @@ -38008,8 +38024,8 @@ msgstr "Tải tệp và phương tiện lên kênh này." #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "Tải biểu tượng lên" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "Sử dụng {name} trên {domain}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "Sử dụng {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "Sử dụng {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "Dùng phương thức khác" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "Dùng tự động cuộn" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "Dùng thẻ" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "Dùng mặc định" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "Dùng quyền truy cập trực tiếp vào thiết bị nhập" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "Sử dụng nhãn dán từ các cộng đồng khác." #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "Dùng ngôn ngữ hệ thống cho định dạng thời gian" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "Dùng khung cửa sổ của hệ điều hành" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "Sử dụng trình kiểm tra chính tả được tích hợp trong hệ điều hành của bạn." @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "Sử dụng tính năng kích hoạt bằng giọng nói" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "Sử dụng trình kiểm tra chính tả của hệ điều hành khi có sẵn. Nếu không, hãy sử dụng từ điển tích hợp của {productName}." @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "Xác minh email của bạn trước" @@ -39244,7 +39260,7 @@ msgstr "Xem chi tiết" msgid "View devices that are signed in to your account" msgstr "Xem các thiết bị đã đăng nhập vào tài khoản của bạn" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "Xem toàn bộ hồ sơ" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 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." @@ -39535,7 +39551,7 @@ msgstr "Kênh thoại" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "Xác nhận kênh thoại" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "Kênh thoại đã đầy" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "Hành vi khi tham gia kênh thoại" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "Người tham gia trò chuyện thoại" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "Xử lý giọng nói" @@ -39661,7 +39677,7 @@ msgstr "Bật tiếng nghe" msgid "Voice unmute" msgstr "Bật micrô" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "Trò chuyện thoại sử dụng thiết bị đầu ra của hệ thống trong trình duyệt này. Hãy thay đổi thiết bị trong cài đặt hệ thống." @@ -39675,7 +39691,7 @@ msgstr "Đã hủy" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "Chờ giữa các tin nhắn. Thành viên có quyền \"{bypassSlowmode msgid "Waiting for connection..." msgstr "Đang chờ kết nối..." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "Đang chờ khóa truy cập…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "Đang chờ bạn..." #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "Đang chờ môi trường máy tính để bàn…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." msgstr "Không đọc được chủ đề này. Có thể chủ đề bị lỗi hoặc không hợp lệ." #. 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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." @@ -39914,7 +39930,7 @@ msgstr "Chúng tôi đã đổi kích thước và nén nhãn dán này thành 3 msgid "We sent a code to {email}." msgstr "Chúng tôi đã gửi mã đến {email}." -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "Chúng tôi sẽ điền sẵn {prefillEmail} khi trình duyệt mở trang đăng nhập." @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "Xem trước trang web" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "Chào mừng bạn trở lại" @@ -40321,7 +40337,7 @@ msgstr "Cộng đồng nào" msgid "Which conversations" msgstr "Những cuộc trò chuyện nào" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "Khi bật tính năng nhấn để nói, phím tắt sẽ điều khiển micrô của bạn, vì vậy nút tắt tiếng sẽ bị vô hiệu hóa." @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 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." @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "Bạn vừa nhấn phím Tab. Chế độ bàn phím hiện đã bật để bạn có thể điều hướng {productName} mà không cần chuột." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "Bạn giữ các đặc quyền của mình cho đến ngày gia hạn tiếp theo. Hãy kích hoạt lại gói đăng ký trước ngày đó để giữ lịch sử đăng ký của mình." #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "Bạn sẽ mất tất cả các đặc quyền của {PREMIUM_PRODUCT_NAME} ngay lập tức và lịch sử đăng ký của bạn sẽ được đặt lại. Thao tác này không thể hoàn tác." @@ -41137,8 +41153,8 @@ msgstr "Bạn cần có quyền \"{permissionLabel}\" để sử dụng biểu t msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "Bạn cần có quyền \"{permissionLabel}\" để sử dụng nhãn dán từ các cộng đồng khác tại đây." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "Bạn cần xác nhận tài khoản trước khi tạo cộng đồng." @@ -41155,8 +41171,8 @@ msgstr "Bạn cần xác nhận tài khoản để gửi tin nhắn trực tiế msgid "You need to claim your account to send messages in this community." msgstr "Bạn cần xác nhận tài khoản để gửi tin nhắn trong cộng đồng này." -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "Bạn cần xác minh địa chỉ email trước khi tạo cộng đồng." @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 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}." @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "Bạn sẽ hiện ở trạng thái ngoại tuyến" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "Bạn sẽ bị tính phí ngay bây giờ. Thời gian quà tặng còn lại của bạn sẽ được cộng dồn vào sau thời gian đã thanh toán, vì vậy sẽ không bị mất đi." @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "Bạn đã là Visionary rồi" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "Bạn đang gửi báo cáo quá nhanh. Vui lòng thử lại sau." #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "Bạn đã đăng nhập" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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." @@ -41559,10 +41575,14 @@ msgstr "Tài khoản của bạn còn quá mới để gửi tin nhắn trong c msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "Yêu cầu tài khoản của bạn đang chờ phê duyệt. Bạn có thể đăng nhập sau khi quản trị viên phê duyệt." -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "Tài khoản của bạn yêu cầu xác thực đa yếu tố, nhưng chưa có phương thức nào được thiết lập trên thiết bị này. Vui lòng đăng nhập trên thiết bị có ứng dụng xác thực hoặc khóa bảo mật của bạn, hoặc liên hệ bộ phận hỗ trợ." +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "Tài khoản của bạn yêu cầu xác thực đa yếu tố, nhưng chưa có phương thức nào được thiết lập trên thiết bị này. Vui lòng đăng nhập trên thiết bị có ứng dụng xác thực hoặc khóa bảo mật của bạn, hoặc liên hệ quản trị viên của máy chủ này." + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "Tài khoản và cài đặt của bạn không bị thay đổi hay xóa." #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Hành động của bạn không thể hoàn tất vì đã bị hệ thống an toàn của chúng tôi gắn cờ. Nếu bạn cho rằng đây là lỗi, vui lòng liên hệ bộ phận hỗ trợ." +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Hành động của bạn không thể hoàn tất vì đã bị hệ thống an toàn của chúng tôi gắn cờ. Nếu bạn cho rằng đây là lỗi, vui lòng liên hệ quản trị viên của máy chủ này." + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "Bộ công cụ hiện tại của bạn sẽ ngừng hoạt động ngay khi bộ công cụ mới được tạo." #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "Môi trường máy tính để bàn chưa thiết lập phím tắt toàn hệ thống." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "Môi trường máy tính để bàn giữ riêng các phím này cho {productName}, nên các ứng dụng khác không thể dùng chúng." #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "Môi trường máy tính để bàn giữ riêng các phím này cho {productName}, nên các ứng dụng khác không thể dùng chúng. Để dùng cùng phím đó trong các ứng dụng khác, hãy bật quyền truy cập trực tiếp vào thiết bị nhập bên dưới." #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "Môi trường máy tính để bàn chạy các phím tắt này ngay cả khi cửa sổ {productName} không hoạt động." @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "Thời gian quà tặng của bạn đã kết thúc. Hãy đăng ký để tiếp tục nhận {premiumProductName}." #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "Thời gian quà tặng của bạn được giữ" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "Thời gian ân hạn của bạn đã kết thúc." #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "Bản cài đặt của bạn đã bị lỗi. Bạn cần cài đặt lại ứng dụng để tất cả các tính năng hoạt động bình thường." @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "Giao dịch mua gần đây nhất của bạn đã vượt quá thời gian hoàn tiền. Liên hệ bộ phận hỗ trợ nếu có vấn đề về thanh toán." #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "Tin nhắn của bạn không thể gửi đi vì đã bị hệ thống an toàn của chúng tôi gắn cờ. Nếu bạn cho rằng đây là lỗi, vui lòng liên hệ bộ phận hỗ trợ." +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "Tin nhắn của bạn không thể gửi đi vì đã bị hệ thống an toàn của chúng tôi gắn cờ. Nếu bạn cho rằng đây là lỗi, vui lòng liên hệ quản trị viên của máy chủ này." + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "Không gửi được tin nhắn của bạn. Thường là do bạn và người nhận không cùng cộng đồng hoặc người nhận chỉ chấp nhận tin nhắn trực tiếp từ bạn bè. Bạn cũng có thể cần điều chỉnh cài đặt quyền riêng tư tin nhắn trực tiếp của mình trong {directMessagePrivacySettingsPath}." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "Không gửi được tin nhắn. Bạn cần xác nhận tài khoản để gửi tin nhắn trực tiếp." #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "Không gửi được tin nhắn. Bạn cần xác nhận tài khoản để gửi tin nhắn." @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "Không gửi được báo cáo của bạn. Vui lòng thử lại." #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "Chất lượng đã lưu của bạn {savedResolution} ở tốc độ {savedFrameRate} FPS yêu cầu {premiumProductName}, vì vậy các lượt chia sẻ sẽ sử dụng {resolution} ở tốc độ {frameRate} FPS." 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 575a3adb3..b2ce86cfe 100644 --- a/fluxer_app/src/features/i18n/locales/zh-CN/messages.po +++ b/fluxer_app/src/features/i18n/locales/zh-CN/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} 运行的 Fluxer 版本比此应用新。请更新 Fluxer,然后重试。" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "比你快 {duration}" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "比你晚 {duration}" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} 帧/秒" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, other {# 小时前}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, other {# 小时}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, other {# 小时}} {minutes, plural, other {# 分钟}}" @@ -1602,7 +1602,7 @@ msgstr "{label} 文件过大。请选择小于 {maxSizeLabel} 的文件。" msgid "{label} images cannot be animated. Use a static image." msgstr "{label} 图片不支持动图。请使用静态图片。" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "{languageName} 旗帜" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, other {# 分钟前}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, other {# 分钟}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} 检测到名为 <0>{deviceName} 的新音频输出设 msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} 需要重启,Chromium 的原生滚动设置才会改变滚动方式。" -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} 需要重启才能使硬件加速生效。" -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} 需要重启才能使标题栏更改生效。" -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} 需要重启才能禁用 Chromium 的硬件加速。仅在排查图形故障或 GPU 占用过高时使用此功能。" @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "{productName} 捉虫猎人" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} 可以请求桌面环境在 {productName} 不在焦点时运行其快捷键。桌面环境会请你确认,并让你选择按键。" #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} 无法再读取你的键盘,因此改为通过 X11 监听快捷键。" #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} 无法再读取你的键盘,因此改用桌面环境的快捷键。" #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} 无法再读取你的键盘。快捷键仅在 {productName} 处于焦点时可用。" #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} 可以向 Hyprland 注册其快捷键,使其在 {productName} 不在焦点时也能运行。之后你需要在 Hyprland 配置中绑定按键。" @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} 无法为此使用硬件编码器,因此将使用你的 CPU。" #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} 将关闭,安装更新,然后重新打开。" #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} 无法连接到更新服务。请检查你的网络连接,然后重试。" @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} 已迁移到 {host}。请在浏览器中打开以安装新应用。" #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "{productName} 成员时间" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} 需要访问你的麦克风。请在操作系统的隐私设置中允许麦克风访问,然后重启应用。" #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} 需要摄像头权限才能列出你的设备。" #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} 需要麦克风权限才能列出你的设备。" @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "{productName} 恢复密钥" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} 已向 Hyprland 注册其快捷键。在 Hyprland 配置中绑定后,即可在 {productName} 不在焦点时使用。" @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 个月(1 年)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12 小时制" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 小时" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24 小时制" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "主机名,例如 {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "Linux 桌面端有可用更新。请选择适用于此系统的软件包格式,{productName} 会将其保存到本地。" @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "1 分钟" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "一个新版本的桌面应用已发布。下载安装程序,然后运行它以更新 {productName}。" @@ -2817,7 +2817,7 @@ msgstr "关于 {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "关于我" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "活动共享" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "活动阈值" @@ -3155,7 +3155,7 @@ msgstr "实际大小" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "添加" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "请先为您的账户添加用户名和密码。" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "添加字词…" @@ -3244,7 +3244,7 @@ msgstr "添加 YouTube Data API 密钥,以丰富 YouTube 链接的信息。" #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "添加账号" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "地址" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "自行调整各项设置:降噪、回声消除和增益。" @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "高级" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "高级视频设置" @@ -3906,22 +3906,22 @@ msgstr "允许" msgid "Allow {everyoneMention} and {hereMention}" msgstr "允许提及{everyoneMention}和{hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "允许 {PRODUCT_NAME} 访问您的相机,请前往“系统设置”>“隐私与安全性”>“相机”。" -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "允许 {PRODUCT_NAME} 访问您的麦克风,请前往“系统设置” > “隐私与安全性” > “麦克风”。" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "允许 {PRODUCT_NAME} 访问你的麦克风。请检查浏览器地址栏或设置。" #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "在“系统设置”的“屏幕录制”下允许 {productName}。如果已允许,请重新启动 {productName2} 以便 macOS 应用设置。" @@ -3961,7 +3961,7 @@ msgstr "允许机器人私信" msgid "Allow bots to send you direct messages?" msgstr "允许机器人给你发私信吗?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "允许访问摄像头" @@ -4029,7 +4029,7 @@ msgstr "允许没有 {readMessageHistoryPermissionLabel} 权限的成员查看 msgid "Allow mentions for this role" msgstr "允许提及此身份组" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "允许使用麦克风" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "始终显示链接下划线" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "始终使用 {productName} 的 Hunspell 词典,按需下载。" @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "应用图标角标" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "应用语言的时间格式:{format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "需要批准" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "从你已在使用的 {productName} 应用批准此应用。无需密码。" @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "授权于 {authorizedOn}" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "自动" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "自动检测语言" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "自动设置活动阈值" @@ -5534,7 +5534,7 @@ msgstr "AV1(需要选择加入)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "可用版本" @@ -5608,11 +5608,11 @@ msgstr "当前离开" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "最佳压缩。仅在 WebRTC 暴露编码器且 GPU 报告显示其受硬件支持时使用。" #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "桌面应用体验更佳" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "浏览器:主页" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "浏览器时间格式:{format}" @@ -6545,8 +6545,8 @@ msgstr "在{premiumProductName}标签页购买{premiumProductName}礼物,然 msgid "Buy gift" msgstr "购买礼物" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "创建社区即表示你同意遵守并维护<0>{PRODUCT_NAME}社区准则。" @@ -6658,7 +6658,7 @@ msgstr "通话" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "摄像头预览" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "摄像头画质" @@ -6809,8 +6809,8 @@ msgstr "无法在此上传文件" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "取消已安排的切换" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "取消订阅" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "取消订阅?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "类别" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "类别内容警告" @@ -7131,15 +7131,15 @@ msgstr "修改群昵称" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "更改图标" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "在系统设置中更改" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "频道徽章" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "频道内容警告" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "聊天快捷键" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "重新检查" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "正在检查访问权限..." #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "正在检查屏幕录制权限..." @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "无法结账" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "选择此订阅的付款方式。" @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "选择付款方式" @@ -8174,7 +8174,7 @@ msgstr "选择你的默认设置" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "选择你的实例" @@ -8216,8 +8216,8 @@ msgstr "领取礼物" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "认领你的账号" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "社区徽章" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "社区内容警告" @@ -9089,8 +9089,8 @@ msgstr "社区私信" msgid "Community filter" msgstr "社区筛选" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "社区图标" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "社区已更新" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "社区语音" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "完成支付" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "完成成人内容验证即可解锁成人媒体。" @@ -9409,7 +9409,7 @@ msgstr "确认" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "加入语音频道前确认" @@ -9457,7 +9457,7 @@ msgstr "确认声明以发送举报。" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "确认语音加入" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "确认" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "加入社区语音频道时需确认或双击" @@ -9476,7 +9476,7 @@ msgstr "加入社区语音频道时需确认或双击" msgid "Conflicts with {conflictLabel}" msgstr "与 {conflictLabel} 冲突" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "连接摄像头后重试。" @@ -9489,7 +9489,7 @@ msgstr "连接摄像头或虚拟捕捉设备后重试。" msgid "Connect a display, then try again." msgstr "连接显示器后重试。" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "连接麦克风后重试。" @@ -9633,7 +9633,7 @@ msgstr "连接:{connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "联系方式" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "内容已屏蔽" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "在浏览器中继续" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "继续结账" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "使用通行密钥继续" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "复制邀请链接" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "复制配置行" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "复制配置行(hyprland.conf)" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "复制配置行(hyprland.lua)" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "无法更改你的价格" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "无法检查更新" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "无法删除你的消息" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "无法下载桌面版更新" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "无法开始结账" @@ -10932,7 +10932,7 @@ msgstr "创建并分享" msgid "Create a community" msgstr "创建社区" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "创建社区,和好友一起畅聊。" @@ -11365,7 +11365,7 @@ msgstr "自定义" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "被管理员设为拒听" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB 软件包" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "桌面应用" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "桌面应用已是最新版本" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "桌面版更新 {version} 已可用。请选择一个 Linux 软件包。" #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "有可用的桌面版更新" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "有可用的桌面版更新。请选择一个 Linux 软件包。" #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "桌面版 {version} 已发布。下载安装程序,然后运行以更新 {productName}。" @@ -12613,7 +12613,7 @@ msgstr "详细信息:{reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "输入时检测" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "开发者工具不可用" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "开发版本" @@ -13455,8 +13455,8 @@ msgstr "下载" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "下载 {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification 并放到你的 <1>.well-known 文件夹中,以便我们验证域名。" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "下载应用" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "下载应用按钮" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "下载按钮" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "下载桌面应用" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "下载图片" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "下载安装程序" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "下载媒体文件" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "下载安装包" @@ -13655,11 +13655,11 @@ msgstr "放下项目" msgid "Drop to upload background" msgstr "松开即可上传背景图" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "由于{regionName}的成人内容法律规定,成人内容已被屏蔽,请先完成成人内容检查。" -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "由于{regionName}的成人内容法律,此处无法查看成人内容。成人内容检查功能仅在英国可用。" @@ -13673,7 +13673,7 @@ msgstr "由于{regionName}的成人内容法律,此内容已被屏蔽,请先 msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "由于{regionName}的成人内容法律,此内容无法在此处查看。成人内容检查仅在英国可用。" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "由于{regionName}的成人内容法律,此媒体在你当前所在地区不可用。" @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "每个代码在用于身份验证器应用时都可使用一次。" #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "每个按键只能触发一个全局快捷键。" @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "启用" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "启用“{permissionName}”权限" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "启用快捷方式" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "启用拼写检查" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "立即结束宽限期" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "结束宽限期" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "立即结束宽限期?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "输入你的安全密钥 PIN 码以继续。" #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "在浏览器中输入此代码" @@ -14845,7 +14845,7 @@ msgstr "在浏览器中输入此代码" msgid "Enter this code in your browser to complete sign-in." msgstr "在浏览器中输入此代码以完成登录。" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "在你的旧版 {PRODUCT_NAME} 应用中输入此验证码以完成登录。" @@ -14916,7 +14916,7 @@ msgstr "整个系统音频" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "入场音效" @@ -15026,7 +15026,7 @@ msgstr "晚上" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "均衡麦克风音量,避免声音过小。" @@ -15249,7 +15249,7 @@ msgstr "将于 {earliest} 至 {latest} 之间过期" msgid "Expires in {remaining}s" msgstr "{remaining} 秒后过期" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "将在 {remainingSeconds} 秒后过期" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "收藏频道" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "收藏的频道" @@ -16243,7 +16243,7 @@ msgstr "持续 {threeHours} 小时" msgid "For {twentyFourHours} hours" msgstr "持续 {twentyFourHours} 小时" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "英国用户专属…" @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "为自己" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "按住静音请使用不带 Ctrl、Alt 或 Shift 的单个按键。如果使用组合键,请先松开主键,否则麦克风可能会保持静音。" #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "按住说话请使用不带 Ctrl、Alt 或 Shift 的单个按键。如果使用组合键,请先松开主键,否则麦克风可能会保持开启。" #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "此快捷键请使用不带 Ctrl、Alt 或 Shift 的单个按键。如果使用组合键,请先松开主键,否则快捷键可能会保持激活。" #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "语音活动优先请使用不带 Ctrl、Alt 或 Shift 的单个按键。如果使用组合键,请先松开主键,否则优先状态可能会保持开启。" @@ -16460,14 +16460,14 @@ msgstr "窗口边框" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "帧率" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "高于 30 FPS 的帧率需要 {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "收到消息时通知你。你可能需要在浏览器设置中允许通知。如需按频道或按社区单独设置,请右键点击社区图标并打开通知设置。" #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "获取 {productName} 桌面应用,即可全局使用按住说话,还有一些别的好东西。" #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "获取桌面应用" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "返回 {productName} 以继续。" #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "返回 {PRODUCT_NAME} 应用。它将自行完成登录。" #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "返回 {PRODUCT_NAME} 应用。您可以关闭此标签页。" @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "帮助" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "帮助按钮" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "帮助中心" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "帮助中心按钮" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "在 <0>{I18N_WEBLATE_DOMAIN} 上帮助我们把 {PRODUCT_NAME} 翻译成你的语言。" @@ -17841,7 +17841,7 @@ msgstr "隐藏聊天" msgid "Hide community owner crown" msgstr "隐藏社区拥有者皇冠" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "隐藏下载按钮" @@ -17860,7 +17860,7 @@ msgstr "隐藏收藏夹" msgid "Hide guidelines" msgstr "隐藏指南" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "隐藏帮助中心按钮" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "隐藏入群消息" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "隐藏键盘提示" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "超链接" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland 没有快捷键对话框。请将适用于你的 Hyprland 版本的配置行添加到 Hyprland 配置中,并将 KEY 替换为你想要的按键。" #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland 没有快捷键对话框。请在 Hyprland 配置中绑定按键。" #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf(Hyprland 0.55 之前)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua(Hyprland 0.55 及更高版本)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "我谨本着善意确认,本通知中的信息和指控均准确、完整。" #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "我知道了" @@ -18598,11 +18598,11 @@ msgstr "正在导入…已处理 {processedCount, number} / {totalCount, number} msgid "In" msgstr "在" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "在“操作系统”模式下,上方列出的词典仅供参考。如果支持,{PRODUCT_NAME} 会将这些语言标签传递给你的操作系统拼写检查器。无法识别的标签将被忽略。" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "在浏览器中,按住说话功能仅在 {PRODUCT_NAME} 标签页处于焦点时可用。请安装桌面应用以使用系统范围的按住说话功能。" @@ -18650,7 +18650,7 @@ msgstr "在语音聊天中" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "应用内词典" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "输入" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "输入和输出" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "插入表情" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "安装 {productName},获得完整的共享源选择器和更顺畅的屏幕共享控制。" @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "安装新应用" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "已安装" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "已安装版本:{currentVersion}。" @@ -19031,7 +19031,7 @@ msgstr "界面" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "界面语言" @@ -19467,13 +19467,13 @@ msgstr "加入" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "加入 {communityName}" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "加入 {communityName},与团队聊天并获取最新资讯。" @@ -19561,7 +19561,7 @@ msgstr "加入视频通话" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "加入语音" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "保留免费和高级套餐。您可以自定义套餐,通过 Stripe 出售高级服务,或稍后从管理面板发放礼品码。" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "保留宽限期" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "继续运行" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "保留订阅" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "请妥善保管此页面。如果忘记密码,可以使用它重新登录您的账户。拥有此恢复密钥的任何人都可以重置您的密码,切勿分享。" #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "松开按键后继续传输一小段时间。" @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "键盘" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "无法启动键盘访问。快捷键仅在 {productName} 处于焦点时可用。" @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "键盘模式" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "工具提示中的键盘快捷键提示" @@ -19923,7 +19923,7 @@ msgstr "语言设置" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "语言" @@ -19971,7 +19971,7 @@ msgstr "延迟图表" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "再次允许该成员在此社区中收听他人" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "允许 {productName} 直接读取你的键盘。关闭此项可改为通过桌面环境设置快捷键。" #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "允许 {productName} 直接读取你的键盘。你的系统已允许此操作。" @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Linux 默认" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Linux 安装包" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "本地文件" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "当地时间" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "外观风格" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "看起来你正在使用 {0}。在此基础上再叠加 {PRODUCT_NAME} 的音频处理可能会导致抽吸或失真。直接输入会原样传递你的音频。" @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "设为群主" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "请确保此代码与 {PRODUCT_NAME} 应用中的代码匹配。" @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "管理你的订阅" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "手动更新桌面版" @@ -21145,15 +21145,15 @@ msgstr "马萨诸塞州" msgid "Master volume" msgstr "主音量" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "成人类别" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "成人频道" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "成人社区" @@ -21194,7 +21194,7 @@ msgstr "已发送成人内容验证" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "成人内容验证目前仅在英国可用。" @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "成员身份组已更新" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "加入时间" @@ -22013,7 +22013,7 @@ msgstr "麦克风" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "麦克风测试" @@ -22127,7 +22127,7 @@ msgstr "明尼苏达州" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "猫咪" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "一只会跟着你鼠标指针跑的猫咪" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "新用户暂时无法加入。你仍然可以创建账号或登录,稍后再次尝试此链接。" #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "新版本" @@ -23465,7 +23465,7 @@ msgstr "无书签" msgid "No bot banner" msgstr "无机器人横幅" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "未找到摄像头" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "暂无描述。" #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "没有可用的桌面更新。" @@ -23684,7 +23684,7 @@ msgstr "没有找到匹配的帖子" msgid "No mentions yet" msgstr "暂无提及" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "未找到麦克风" @@ -23731,7 +23731,7 @@ msgstr "没有符合该搜索条件的待处理请求" msgid "No permissions found" msgstr "未找到权限" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "暂无个人词条。" @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "不允许" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "未分配" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "点击时" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "在您的另一台设备上,请前往 {signInAddress} 登录,并在需要时输入此代码。" @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "打开 {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "打开 {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "打开账户切换器" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "打开高级媒体设置" @@ -24788,7 +24788,7 @@ msgstr "打开横幅选项" msgid "Open bookmarks" msgstr "打开书签" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "打开浏览器" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "打开日期选择器" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "打开桌面版下载页面" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "打开设置" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "打开软件中心" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "打开系统设置" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "打开“系统设置”→“隐私与安全性”→“屏幕录制”,然后允许 {productName}。" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "打开模板 JSON" @@ -25089,7 +25089,7 @@ msgstr "打开模板 JSON" msgid "Open the context menu" msgstr "打开上下文菜单" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "在浏览器中打开下方链接,然后复制完整的 JSON 响应并粘贴到框中。" @@ -25167,11 +25167,11 @@ msgstr "打开语音和视频设置" msgid "Open with {accountName} on {instanceName}" msgstr "使用 {accountName} 在 {instanceName} 打开" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "打开浏览器,登录后输入以下代码以关联你的账号。" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "打开你的旧版 {PRODUCT_NAME} 应用,选择“关联新设备”,然后输入下方的验证码。" @@ -25199,7 +25199,7 @@ msgstr "打开成员页面。按空格键或回车键打开。" #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "操作系统" @@ -25629,7 +25629,7 @@ msgstr "过去 7 天" msgid "Paste" msgstr "粘贴" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "粘贴 {theOtherPlatform} 模板 URL 以将其结构导入新社区。" @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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} 的下一步页面输入信用卡信息。" @@ -25933,7 +25933,7 @@ msgstr "{0} 的权限" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "个人词典" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "请至少为该帖子选择一个标签。" #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "选择一个或多个词典。任一所选词典中的词语都会被视为正确,这在多语言聊天中很实用。" @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "价格仍在加载中。" @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "无法购买" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "按住说话按键" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "按住说话" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "按住说话(功能受限)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "按住说话尚未设置全局按键。如需设置,请前往“设置”>“应用”>“{productName}”。" #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "按住说话尚未设置全局按键。如需设置,请前往“系统设置”>“键盘”>“快捷键”>“{productName}”。" #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "按住说话尚未设置全局按键。如需设置,请打开桌面环境的键盘快捷键设置。" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "直接输入模式下会忽略按住说话。请切换到人声优化或自定义模式后使用。" @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "按住说话已开启。按住你的说话键即可讲话。" #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "由于你的桌面环境未设置全局快捷键,按住说话仅在 {productName} 处于焦点时可用。" #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "仅当 {productName} 处于焦点状态时,才能使用按键通话,直到启用 {permissionName}。" #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "在你设置全局快捷键之前,按住说话仅在 {productName} 处于焦点时可用。" #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "按住说话功能仅在浏览器标签页处于焦点时可用。" #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "按住说话将使用你在 {productName} 中设置的按键。请先设置一个按键,否则麦克风将使用语音活动。" @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "你处于拒听状态时,按住说话不会取消麦克风静音。请先取消拒听再讲话。" #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "只有在 Hyprland 配置中绑定后,按住说话才能在 {productName} 之外使用。" #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "只有在 Hyprland 配置中绑定后,按住说话才能在 {productName} 之外使用。请添加适用于你的 Hyprland 版本的配置行,并将 KEY 替换为你想要的按键。" @@ -27533,12 +27533,12 @@ msgstr "接收者将进入 {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "推荐" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "推荐。优化麦克风,让语音更清晰。" @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "重新连接成功。如需恢复之前的屏幕共享,请重新选择屏幕。" #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "正在重新连接桌面环境…" @@ -27836,7 +27836,7 @@ msgstr "重新启动以应用" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "松开延迟" @@ -27853,7 +27853,7 @@ msgstr "相关" msgid "Reload" msgstr "重新加载" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "重新加载 {PRODUCT_NAME} 以完全应用引擎更改。在应用内拼写检查和系统拼写检查之间切换需要重新加载渲染器,因为 Electron 无法在运行时切换提供程序。" @@ -27872,7 +27872,7 @@ msgstr "重新加载 {productName} 以使用网页版更新 {version}" msgid "Reload app" msgstr "重新加载应用" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "立即重新加载" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "移除" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "从词典中删除“{word}”" @@ -28086,8 +28086,8 @@ msgstr "从仅限 URL 的 GIF 收藏夹中移除" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "移除图标" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "每页行数" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM 软件包" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "安全" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "与你的时区相同" @@ -29770,7 +29770,7 @@ msgstr "屏幕录制" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "需要屏幕录制权限" @@ -29858,7 +29858,7 @@ msgstr "屏幕共享隐私" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "屏幕共享画质" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "搜索语言代码…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "搜索语言…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "选择 GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "选择界面语言" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "选择你想在新设备上登录的账号。" #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "选择语音处理模式" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "发送原始麦克风音频,不进行任何处理。" #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "直接发送你的音频,不做任何处理。如果你正在使用外部音频软件,推荐此选项。" @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "为该身份组设置了成员列表中的位置" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "由 {preset} 预设设置。在此处选择一个值将切换到自定义。" @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "将语音区域设置为自动" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "设置" @@ -31307,7 +31307,7 @@ msgstr "分享给好友" msgid "Share your screen" msgstr "共享屏幕" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "以高达 60 FPS 的帧率,分享高清 (1080p)、超高清 (1440p) 或原始分辨率的屏幕。" @@ -31399,7 +31399,7 @@ msgstr "短代码" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "快捷键" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "快捷键角标" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "显示收藏按钮" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "在整个应用中显示收藏夹" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "用浏览器登录" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "使用旧版 {productName} 应用登录" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "要退出登录吗?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "登录已取消" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "登录信息" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "登录流程" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "以 {name} 身份登录" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "在另一台设备上登录?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "启动结账时出错了。请稍后重试。" @@ -32812,7 +32812,7 @@ msgstr "声音" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "速度" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "拼写检查" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "拼写检查引擎" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "星标动图" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "星标频道" @@ -33140,7 +33140,7 @@ msgstr "发起语音通话?" msgid "Start call" msgstr "发起通话" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "开始摄像头测试并配置效果" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "最小化启动" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "启动" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "静态 Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "仍在建立索引,请稍后再查看" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "静止 Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "仍在等待屏幕录制权限" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "停止麦克风测试" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "让 Neko 不再追逐光标,同时保持可拖动和可交互。" @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "订阅已存在" @@ -33957,7 +33957,7 @@ msgstr "切换为舒适布局" msgid "Switch to dense layout" msgstr "切换为紧凑布局" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "切换到直接输入" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "系统私信无法发起语音通话。" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "系统时间格式:{format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "系统托盘" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "由系统管理的安装" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "全局快捷键" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "无法设置全局快捷键。" @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "轻触添加备注" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz 压缩包" @@ -34360,7 +34360,7 @@ msgstr "任务栏角标" msgid "Teleporting you to another voice region..." msgstr "正在把你传送到其他语音区域…" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "模板" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "您在另一台设备上的 {PRODUCT_NAME} 应用中,可以在“在另一台设备上登录”下找到它。请仅输入您控制的设备上的代码。" #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "{PRODUCT_NAME} 应用未登录。您可以关闭此标签页。" @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "你要找的社区可能已被删除,或者你没有访问权限。" #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "桌面更新下载失败。请在网络连接稳定后通过更新按钮重试。" #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "下载的文件已保存到你的电脑。请使用你的常规软件包管理器进行安装。" @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "此类别已达到 {maxChannelsPerCategory} 个频道的上限。" #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "此类别标记为成人内容,可能包含不适合某些用户的内容。" @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "此频道有内容警告。更新只能发送到有内容警告或年龄限制的频道。" #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "此频道标记为成人内容,可能包含不适合某些用户的内容。" @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "该社区已满员" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "此社区标记为成人内容,可能包含不适合某些用户的内容。" @@ -35324,14 +35324,14 @@ msgstr "该社区已不可用" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "此连接已验证。" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "此连接尚未验证。" @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "此对话已不可用。" #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "此桌面版本无法在 {productName} 中安装更新。请下载最新的桌面安装程序。" #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "此桌面环境不支持全局快捷键。按住说话仅在 {productName} 处于焦点时可用。" #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "此桌面环境不支持全局快捷键。快捷键在 {productName} 处于焦点时仍然可用。" #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "此开发版本无法自行更新。请下载桌面安装程序以测试更新流程。" @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "无法读取此图片。它可能已损坏。" #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "此安装由你的系统管理。请从软件中心或包管理器更新 {productName}。" @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "此实例已使用用户名登录。此设置无法再更改。" #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "此实例目前支持最高 720p、30 FPS 的屏幕共享。" @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "此链接无效。请重新打开您邮箱中的链接。" #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "你的账号无法访问此成人内容类别。" -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "你的账号无法访问此成人内容类别。<0>了解更多" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "你的账号无法访问此成人频道。" -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "你的账号无法访问此成人频道。<0>了解更多" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "你的账号无法访问此成人社区。" -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "你的账号无法访问此成人社区。<0>了解更多" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "你的账号无法访问此成人媒体内容。" + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "你的账号无法访问此成人媒体内容。<0>了解更多" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "此套餐不可用。请联系支持团队。" +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "此套餐不可用。请联系此实例的管理员。" + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "此购买不符合退款条件。" @@ -35837,7 +35853,7 @@ msgstr "此频道已锁定。只有版主可以发送消息。" msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "该用户已限制其个人资料。部分详细信息对非好友用户隐藏。" -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "该用户在此社区中没有身份组。" @@ -36050,14 +36066,14 @@ msgstr "时间" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "时间格式" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "时间格式选择" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "标题栏平台" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "要更改按键,请前往“设置”>“应用”>“{productName}”。" #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "要更改按键,请前往“系统设置”>“键盘”>“快捷键”>“{productName}”。" #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "要更改按键,请打开桌面环境的键盘快捷键设置。" @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "工具栏" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "工具提示快捷键" @@ -36864,7 +36880,7 @@ msgstr "24 小时制" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "双击" @@ -37263,7 +37279,7 @@ msgstr "通用回退。画质最低,但兼容所有设备。" #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "未知" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "使用 {premiumProductName} 解锁私信中的自定义表情" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "使用 {premiumProductName} 解锁高清屏幕共享" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "最高 720p,30 帧/秒" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "请更新 {productName} 以在 Wayland 上使用全局快捷键。" @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "更新我的状态" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "立即更新" @@ -38008,8 +38024,8 @@ msgstr "在此频道上传文件和媒体。" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "上传图标" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "在 {domain} 上使用 {name}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "使用 {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "使用 {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "使用其他方式" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "使用自动滚动" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "使用银行卡" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "使用默认值" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "直接访问输入设备" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "使用其他社区的贴纸。" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "使用系统区域设置的时间格式" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "使用操作系统的窗口边框" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "使用操作系统内置的拼写检查器。" @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "使用语音活动" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "使用操作系统自带的拼写检查器(如果可用)。否则,使用 {productName} 的应用内词典。" @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "请先验证你的邮箱" @@ -39244,7 +39260,7 @@ msgstr "查看详情" msgid "View devices that are signed in to your account" msgstr "查看已登录你账号的设备" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "查看完整个人资料" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary 已包含永久访问权限,因此无需周期性订阅。你仍然可以为他人购买礼物。" @@ -39535,7 +39551,7 @@ msgstr "语音频道" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "语音频道确认" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "语音频道已满" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "语音频道加入行为" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "语音参与者" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "语音处理" @@ -39661,7 +39677,7 @@ msgstr "语音解除拒听" msgid "Voice unmute" msgstr "语音取消静音" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "此浏览器中的语音通话使用系统输出设备。请在系统设置中更改。" @@ -39675,7 +39691,7 @@ msgstr "已作废" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "消息之间的等待时间。拥有“{bypassSlowmodePermissionLabel} msgid "Waiting for connection..." msgstr "正在等待连接…" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "正在等待通行密钥…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "等你来…" #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "正在等待桌面环境…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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} 订阅。请在安全账单门户中管理该订阅,以更新付款信息或查看续订状态。如果你刚刚付款,请稍等片刻,然后重新打开此页面。" @@ -39914,7 +39930,7 @@ msgstr "我们已将此贴纸的尺寸调整并压缩到 320x320 像素,但它 msgid "We sent a code to {email}." msgstr "验证码已发送至 {email}。" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "浏览器登录页面打开后,我们将预填 {prefillEmail}。" @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "网页预览" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "欢迎回来" @@ -40321,7 +40337,7 @@ msgstr "哪些社区" msgid "Which conversations" msgstr "哪些对话" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "开启按住说话时,快捷键会控制你的麦克风,因此静音按钮已禁用。" @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "你即将前往 {paymentProviderName} 完成支付。完成后请返回 {productName}。" @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "你刚刚按下了 Tab 键。键盘模式已开启,现在你无需鼠标即可在 {productName} 中导航。" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "你可以保留福利直到下一个续订日期。请在此之前重新激活订阅,以保留你的订阅历史记录。" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "你将立即失去所有 {PREMIUM_PRODUCT_NAME} 福利,并且你的订阅历史记录将被重置。此操作无法撤销。" @@ -41137,8 +41153,8 @@ msgstr "你需要“{permissionLabel}”权限才能在此处使用其他社区 msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "你需要“{permissionLabel}”权限才能在此处使用其他社区的贴纸。" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "你需要先认领账号,才能创建社区。" @@ -41155,8 +41171,8 @@ msgstr "你需要先认领账号才能发送私信。" msgid "You need to claim your account to send messages in this community." msgstr "你需要先认领账号,才能在此社区中发送消息。" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "你需要先验证邮箱地址,才能创建社区。" @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "你需要先验证邮箱,才能购买 {premiumProductFullName}。" @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "你将显示为离线状态" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "您将立即付费。剩余的赠送时长将添加到付费期之后,因此不会丢失。" @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "你已经是 Visionary" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "你发送举报的速度过快。请稍后再试。" #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "您已登录" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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} 账号中管理该订阅,以更改方案或查看续订状态。" @@ -41559,10 +41575,14 @@ msgstr "你的账号注册时间太短,无法在此社区中发送消息。" msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "你的账号申请正在等待审核。管理员批准后即可登录。" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "你的账号需要多重身份验证,但此设备上未设置任何受支持的方式。请在已设置身份验证器应用或安全密钥的设备上登录,或联系支持团队。" +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "你的账号需要多重身份验证,但此设备上未设置任何受支持的方式。请在已设置身份验证器应用或安全密钥的设备上登录,或联系此实例的管理员。" + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "你的账户和设置未被更改或删除。" #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "你的操作未能完成,因为它被我们的安全系统标记了。如果你认为这是误判,请联系支持团队。" +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "你的操作未能完成,因为它被我们的安全系统标记了。如果你认为这是误判,请联系此实例的管理员。" + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "创建新恢复工具包后,您当前的工具包将停止工作。" #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "桌面环境未设置全局快捷键。" #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "桌面环境会将这些按键保留给 {productName},因此其他应用无法使用。" #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "桌面环境会将这些按键保留给 {productName},因此其他应用无法使用。如需在其他应用中使用同一按键,请在下方开启“直接访问输入设备”。" #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "即使 {productName} 不在焦点,桌面环境也会运行这些快捷键。" @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "您的赠送时间已结束。订阅即可继续使用 {premiumProductName}。" #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "您的赠送时长已保留" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "你的宽限期已结束。" #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "你的应用文件已损坏,请重新安装以确保所有功能正常使用。" @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "你的上次购买已超出退款期限。如有账单问题,请联系支持团队。" #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "你的消息未能送达,因为它被我们的安全系统标记了。如果你认为这是误判,请联系支持团队。" +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "你的消息未能送达,因为它被我们的安全系统标记了。如果你认为这是误判,请联系此实例的管理员。" + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "你的消息未能送达。这通常是因为你和收件人不在同一个社区,或者收件人只接受好友的私信。你可能还需要在 {directMessagePrivacySettingsPath} 中调整自己的私信隐私设置。" #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "你的消息未能送达。你需要先认领账号才能发送私信。" #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "你的消息未能送达。你需要先认领账号才能发送消息。" @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "你的举报未能发送。请重试。" #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "你保存的 {savedResolution} ({savedFrameRate} FPS) 需要 {premiumProductName},因此共享将使用 {resolution} ({frameRate} FPS)。" 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 f3fb3d10f..08c9fa524 100644 --- a/fluxer_app/src/features/i18n/locales/zh-TW/messages.po +++ b/fluxer_app/src/features/i18n/locales/zh-TW/messages.po @@ -1404,12 +1404,12 @@ msgid "{domain} runs a newer version of Fluxer than this app. Update Fluxer, the msgstr "{domain} 執行了比此應用程式更新版本的 Fluxer。請更新 Fluxer,然後再試一次。" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far ahead the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:65 +#: src/features/user/components/popouts/UserProfileShared.tsx:66 msgid "{duration} ahead of you" msgstr "比您快 {duration}" #. Profile timezone difference text. duration is a localized hours/minutes phrase for how far behind the target user's local time is. -#: src/features/user/components/popouts/UserProfileShared.tsx:70 +#: src/features/user/components/popouts/UserProfileShared.tsx:71 msgid "{duration} behind you" msgstr "比您晚 {duration}" @@ -1528,7 +1528,7 @@ msgstr "{fps} FPS" #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. #. Frame rate option label in the video tab. FPS is a technical token and frameRate is a whole number. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:47 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:48 #: src/features/voice/components/StreamSettingsMenuContent.tsx:115 msgid "{frameRate} FPS" msgstr "{frameRate} FPS" @@ -1553,12 +1553,12 @@ msgstr "{hours, plural, one {# 小時前} other {# 小時前}}" #. Duration phrase in the profile timezone section. hours is a positive integer. #. Generic duration label for a whole number of hours. #: src/features/i18n/utils/CommonMessageDescriptors.ts:53 -#: src/features/user/components/popouts/UserProfileShared.tsx:79 +#: src/features/user/components/popouts/UserProfileShared.tsx:80 msgid "{hours, plural, one {# hour} other {# hours}}" msgstr "{hours, plural, one {# 小時} other {# 小時}}" #. Duration phrase in the profile timezone section. hours and minutes are positive integers. -#: src/features/user/components/popouts/UserProfileShared.tsx:75 +#: src/features/user/components/popouts/UserProfileShared.tsx:76 msgid "{hours, plural, one {# hour} other {# hours}} {minutes, plural, one {# minute} other {# minutes}}" msgstr "{hours, plural, one {# 小時} other {# 小時}} {minutes, plural, one {# 分鐘} other {# 分鐘}}" @@ -1602,7 +1602,7 @@ msgstr "{label} 檔案過大。請選擇小於 {maxSizeLabel} 的檔案。" msgid "{label} images cannot be animated. Use a static image." msgstr "{label} 圖片不支援動畫。請使用靜態圖片。" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:36 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:37 msgid "{languageName} flag" msgstr "{languageName}旗幟" @@ -1678,7 +1678,7 @@ msgstr "{minutes, plural, one {# 分鐘前} other {# 分鐘前}}" #. Push notification inactive timeout option. The value is a duration in minutes. #: src/features/i18n/utils/CommonMessageDescriptors.ts:49 #: src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx:25 -#: src/features/user/components/popouts/UserProfileShared.tsx:83 +#: src/features/user/components/popouts/UserProfileShared.tsx:84 msgid "{minutes, plural, one {# minute} other {# minutes}}" msgstr "{minutes, plural, one {# 分鐘} other {# 分鐘}}" @@ -1803,15 +1803,15 @@ msgstr "{PRODUCT_NAME} 偵測到名為 <0>{deviceName} 的新音訊輸出裝 msgid "{PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works." msgstr "{PRODUCT_NAME} 需要重新啟動,Chromium 的原生捲動設定才會變更捲動方式。" -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:209 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:214 msgid "{PRODUCT_NAME} needs to restart for hardware acceleration to take effect." msgstr "{PRODUCT_NAME} 需要重新啟動,硬體加速才會生效。" -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:166 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:167 msgid "{PRODUCT_NAME} needs to restart for the title bar change to take effect." msgstr "{PRODUCT_NAME} 需要重新啟動才能套用標題列的變更。" -#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:211 +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:219 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} 需要重新啟動才能停用 Chromium 的硬體加速。只有在排解顯示異常或 GPU 使用率過高的問題時才使用。" @@ -1836,27 +1836,27 @@ msgid "{productName} Bug Hunter" msgstr "{productName} 錯誤獵人" #. Linux settings text before system-wide shortcuts are set up. The desktop environment owns the keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:28 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:25 msgid "{productName} can ask your desktop to run its shortcuts while {productName} is not focused. Your desktop asks you to confirm and lets you pick the keys." msgstr "{productName} 可以要求桌面環境在 {productName} 不在焦點時執行其快速鍵。桌面環境會請您確認,並讓您選擇按鍵。" #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, on an X11 session. The app now listens for shortcuts through the X11 display server itself. Keep "X11" as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:177 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:174 msgid "{productName} can no longer read your keyboard, so it listens for shortcuts through X11 instead." msgstr "{productName} 無法再讀取您的鍵盤,因此改為透過 X11 監聽快速鍵。" #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read, for example after a restart removed the access. The app already falls back to the shortcuts the desktop runs. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:172 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:169 msgid "{productName} can no longer read your keyboard, so your desktop's shortcuts are used instead." msgstr "{productName} 無法再讀取您的鍵盤,因此改用桌面環境的快速鍵。" #. Description for the Linux direct input device access switch when it is on but the keyboard can no longer be read and nothing else runs system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:182 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:179 msgid "{productName} can no longer read your keyboard. Shortcuts only work while {productName} is focused." msgstr "{productName} 無法再讀取您的鍵盤。快速鍵僅在 {productName} 處於焦點時有效。" #. Linux settings text before system-wide shortcuts are set up on the Hyprland desktop. Hyprland shows no dialog. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:34 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:31 msgid "{productName} can register its shortcuts with Hyprland so they run while {productName} is not focused. You then bind the keys in your Hyprland config." msgstr "{productName} 可以向 Hyprland 註冊其快速鍵,讓快速鍵在 {productName} 不在焦點時也能執行。之後請在 Hyprland 設定檔中綁定按鍵。" @@ -1890,12 +1890,12 @@ msgid "{productName} cannot use a hardware encoder for this, so it will use your msgstr "{productName} 無法為此使用硬體編碼器,因此會改用您的 CPU。" #. Desktop updater modal body after a manual update check finds an update. Confirming closes the app window and opens the updater. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:37 +#: src/features/updater/commands/UpdaterModalCommands.tsx:38 msgid "{productName} closes, installs the update and opens again." msgstr "{productName} 會關閉、安裝更新並重新開啟。" #. Modal body shown when a user-initiated update check fails. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:100 +#: src/features/updater/commands/UpdaterModalCommands.tsx:101 msgid "{productName} could not reach the update service. Check your connection and try again." msgstr "{productName} 無法連線到更新服務。請檢查您的網路連線,然後再試一次。" @@ -1935,7 +1935,7 @@ msgid "{productName} has moved to {host}. Open it in your browser to install the msgstr "{productName} 已移至 {host}。請在瀏覽器中開啟以安裝新應用程式。" #. Profile membership label showing when the user account was created. -#: src/features/user/components/popouts/UserProfileShared.tsx:53 +#: src/features/user/components/popouts/UserProfileShared.tsx:54 msgid "{productName} member since" msgstr "加入 {productName} 的時間" @@ -1960,12 +1960,12 @@ msgid "{productName} needs access to your microphone. Allow microphone access in msgstr "{productName} 需要存取您的麥克風。請在作業系統的隱私設定中允許麥克風存取,然後重新啟動應用程式。" #. Camera settings notice shown when camera permission has not been granted. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:55 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:56 msgid "{productName} needs camera access to list your devices." msgstr "{productName} 需要相機存取權限才能列出您的裝置。" #. Voice settings notice shown when microphone permission has not been granted. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:136 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:137 msgid "{productName} needs microphone access to list your devices." msgstr "{productName} 需要麥克風存取權限才能列出您的裝置。" @@ -1995,7 +1995,7 @@ msgid "{productName} recovery kit" msgstr "{productName} 復原套件" #. Subtitle for system-wide shortcuts on the Hyprland desktop after setup. Hyprland shows no list of assigned keys. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:58 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:55 msgid "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused." msgstr "{productName} 已向 Hyprland 註冊其快速鍵。在 Hyprland 設定檔中綁定後,即可在 {productName} 不在焦點時使用。" @@ -2511,7 +2511,7 @@ msgid "12 months (1 year)" msgstr "12 個月(1 年)" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:54 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:55 msgid "12-hour" msgstr "12 小時制" @@ -2554,7 +2554,7 @@ msgid "24 hours" msgstr "24 小時" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:58 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:59 msgid "24-hour" msgstr "24 小時制" @@ -2734,7 +2734,7 @@ msgid "a hostname, e.g. {exampleDomain}" msgstr "主機名稱,例如 {exampleDomain}" #. Linux desktop updater modal body shown before version details and package format selector. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:113 +#: src/features/updater/commands/UpdaterModalCommands.tsx:114 msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally." msgstr "有可用的 Linux 桌面版更新。請選擇此系統適用的套件格式,{productName} 會將檔案儲存在本機。" @@ -2749,7 +2749,7 @@ msgid "a minute" msgstr "1 分鐘" #. Desktop updater modal body when the exact target version is unknown. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:25 +#: src/features/updater/commands/UpdaterModalCommands.tsx:26 msgid "A new desktop version is available. Download the installer, then run it to update {productName}." msgstr "有新的桌面版本可用。請下載安裝程式並執行,以更新 {productName}。" @@ -2817,7 +2817,7 @@ msgstr "關於 {appName}" #: src/features/app/components/pages/YouPage.tsx:171 #: src/features/user/components/modals/tabs/my_profile_tab/BioEditor.tsx:26 #: src/features/user/components/modals/UserProfileMobileSheet.tsx:791 -#: src/features/user/components/popouts/UserProfileShared.tsx:41 +#: src/features/user/components/popouts/UserProfileShared.tsx:42 #: src/features/user/components/settings_utils/search_index/MyProfileIndex.ts:133 msgid "About me" msgstr "關於我" @@ -3135,7 +3135,7 @@ msgid "Activity sharing" msgstr "活動分享" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:488 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:489 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:102 msgid "Activity threshold" msgstr "語音偵測靈敏度" @@ -3155,7 +3155,7 @@ msgstr "實際大小" #: src/features/guild/components/modals/guild_tabs/GuildDiscoveryTab.tsx:599 #: src/features/relationship/components/modals/AddFriendsToGroupModal.tsx:79 #: src/features/user/components/modals/tabs/chat_settings_tab/AddCustomSearchEngineModal.tsx:100 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:586 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:591 msgid "Add" msgstr "新增" @@ -3226,7 +3226,7 @@ msgid "Add a username and password to your account first." msgstr "請先為您的帳號加上使用者名稱和密碼。" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:140 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:141 msgid "Add a word…" msgstr "新增字詞…" @@ -3244,7 +3244,7 @@ msgstr "新增 YouTube Data API 金鑰以豐富 YouTube 連結。" #. Generic action label that starts signing in to an additional account. #. Short label in the authentication browser login handoff modal. Keep the tone plain and specific. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:23 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:22 #: src/features/i18n/utils/CommonMessageDescriptors.ts:902 msgid "Add account" msgstr "新增帳號" @@ -3642,7 +3642,7 @@ msgid "Address" msgstr "電子郵件地址" #. Description for the custom profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:95 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:96 msgid "Adjust each setting yourself: noise suppression, echo cancellation, and gain." msgstr "自行調整每個設定:雜訊抑制、回音消除和增益。" @@ -3696,7 +3696,7 @@ msgid "Advanced" msgstr "進階" #. Subsection title in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:108 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:109 msgid "Advanced video settings" msgstr "進階視訊設定" @@ -3906,22 +3906,22 @@ msgstr "允許" msgid "Allow {everyoneMention} and {hereMention}" msgstr "允許 {everyoneMention} 和 {hereMention}" -#. Shown in video settings on the macOS app when camera access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:230 +#. Shown in video settings on the macOS app when camera access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:231 msgid "Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera." msgstr "允許 {PRODUCT_NAME} 在「系統設定」>「隱私權與安全性」>「相機」中存取您的相機。" -#. Shown in voice settings on the macOS app when microphone access is denied. {PRODUCT_NAME} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:546 +#. Shown in voice settings on the macOS app when microphone access is denied. {ph({PRODUCT_NAME: RuntimeConfig.productName})} is the app name. Keep 'System Settings', 'Privacy & Security' and the permission name as macOS shows them in this language. +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:547 msgid "Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → Microphone." msgstr "允許 {PRODUCT_NAME} 在「系統設定」>「隱私權與安全性」>「麥克風」中存取您的麥克風。" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:551 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:552 msgid "Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings." msgstr "允許 {PRODUCT_NAME} 存取您的麥克風。請檢查瀏覽器的網址列或設定。" #. Body in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. {productName} and {productName2} are the app name. Keep "Screen Recording" and "System Settings" as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:36 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:37 msgid "Allow {productName} under Screen Recording in System Settings. If it is already allowed, relaunch {productName2} so macOS applies it." msgstr "在「系統設定」的「螢幕錄製」下允許 {productName}。如果已允許,請重新啟動 {productName2} 以套用 macOS 設定。" @@ -3961,7 +3961,7 @@ msgstr "允許機器人傳送私訊" msgid "Allow bots to send you direct messages?" msgstr "允許機器人傳送私訊給您?" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:249 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:251 msgid "Allow camera" msgstr "允許使用相機" @@ -4029,7 +4029,7 @@ msgstr "允許沒有「{readMessageHistoryPermissionLabel}」權限的成員查 msgid "Allow mentions for this role" msgstr "允許提及此身分組" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:571 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:573 msgid "Allow microphone" msgstr "允許麥克風" @@ -4275,7 +4275,7 @@ msgid "Always underline links" msgstr "一律為連結加上底線" #. Description for the in-app dictionary spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. Hunspell is the spellcheck engine name; keep it as a product/protocol term. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:105 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:106 msgid "Always use {productName}'s Hunspell dictionaries, downloaded on demand." msgstr "一律使用 {productName} 的 Hunspell 字典,並依需求下載。" @@ -4655,7 +4655,7 @@ msgid "App icon badge" msgstr "App 圖示標記" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:46 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:47 msgid "App language: {format}" msgstr "應用程式語言的時間格式:{format}" @@ -4804,7 +4804,7 @@ msgid "Approval required" msgstr "需要核准" #. Hint under the sign-in option on fluxer.com that pairs a newly installed app with the old installed app. productName is the app name. -#: src/features/auth/flow/AuthLoginLayout.tsx:101 +#: src/features/auth/flow/AuthLoginLayout.tsx:100 msgid "Approve this app from the {productName} app you already use. No password needed." msgstr "從您正在使用的 {productName} 應用程式核准此應用程式。無需密碼。" @@ -5344,7 +5344,7 @@ msgid "Authorized on {authorizedOn}" msgstr "已於 {authorizedOn} 授權" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:50 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:51 msgid "Auto" msgstr "自動" @@ -5369,8 +5369,8 @@ msgid "Auto-detect language" msgstr "自動偵測語言" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:115 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:475 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:116 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:476 msgid "Auto-set activity threshold" msgstr "自動設定活動門檻" @@ -5534,7 +5534,7 @@ msgstr "AV1(需先啟用)" #. Label for the available desktop version in the Linux update modal. #. Screen reader text for a check mark in the Plutonium page comparison table. #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:140 -#: src/features/updater/commands/UpdaterModalCommands.tsx:123 +#: src/features/updater/commands/UpdaterModalCommands.tsx:124 msgid "Available" msgstr "可用版本" @@ -5608,11 +5608,11 @@ msgstr "目前離開中" #. Report flow: footer button that returns to the previous question. #: src/features/auth/flow/IpAuthorizationScreen.tsx:164 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:167 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:168 #: src/features/guild/components/modals/add_guild_modal/GuildJoinForm.tsx:61 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:360 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:381 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:401 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:361 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:382 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:402 #: src/features/i18n/utils/CommonMessageDescriptors.ts:834 #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:34 #: src/features/moderation/components/report/ReportStepDetails.tsx:374 @@ -5927,7 +5927,7 @@ msgid "Best compression. Use it only when WebRTC exposes an encoder and the GPU msgstr "最佳壓縮。僅在 WebRTC 提供編碼器,且 GPU 報告指出為硬體支援時使用。" #. CTA card title in the screen-share picker promoting the desktop app for richer screen sharing. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:12 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:13 msgid "Best with the desktop app" msgstr "搭配桌面版應用程式使用效果最佳" @@ -6396,7 +6396,7 @@ msgid "Browser home" msgstr "瀏覽器:首頁" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:42 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:43 msgid "Browser locale: {format}" msgstr "瀏覽器時間格式:{format}" @@ -6545,8 +6545,8 @@ msgstr "從「{premiumProductName}」分頁購買 {premiumProductName} 禮物, msgid "Buy gift" msgstr "購買禮物" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:345 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:663 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:347 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:665 msgid "By creating a community, you agree to follow and uphold the <0>{PRODUCT_NAME} community guidelines." msgstr "建立社群即表示您同意遵守並維護 <0>{PRODUCT_NAME} 社群準則。" @@ -6658,7 +6658,7 @@ msgstr "通話" #. Short label in the video tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:734 #: src/features/permissions/system/components/useMacPermissionControl.ts:15 -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:92 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:93 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:162 #: src/features/voice/utils/SettingsDeviceOptions.ts:24 #: src/features/voice/utils/VoiceMessageDescriptors.ts:14 @@ -6736,7 +6736,7 @@ msgstr "相機預覽" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:96 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:97 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:202 msgid "Camera quality" msgstr "相機畫質" @@ -6809,8 +6809,8 @@ msgstr "無法在這裡上傳檔案" #: src/features/auth/components/modals/DeviceRevokeModal.tsx:74 #: src/features/auth/components/modals/PasskeyNameModal.tsx:80 #: src/features/auth/components/modals/PasskeyPinModal.tsx:104 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:418 -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:170 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:426 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:174 #: src/features/channel/components/bottomsheets/CreateDMBottomSheet.tsx:137 #: src/features/channel/components/MentionEveryonePopout.tsx:197 #: src/features/channel/components/modals/ChannelDeleteModal.tsx:53 @@ -6896,13 +6896,13 @@ msgstr "取消排定的切換" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:980 #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:145 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:263 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:262 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31 msgid "Cancel subscription" msgstr "取消訂閱" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:139 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:257 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:256 msgid "Cancel subscription?" msgstr "取消訂閱?" @@ -7005,7 +7005,7 @@ msgid "Category" msgstr "類別" #. Title in a modal shown before opening a category with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:187 +#: src/features/channel/components/MatureContentChannelGate.tsx:214 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:39 msgid "Category content warning" msgstr "類別內容警告" @@ -7131,15 +7131,15 @@ msgstr "變更群組暱稱" #: src/features/channel/components/modals/EditGroupModal.tsx:85 #: src/features/channel/components/modals/EditGroupModal.tsx:283 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:67 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 #: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:90 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:35 msgid "Change icon" msgstr "更換圖示" #. Button that opens the Linux desktop dialog for changing the keys of system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:83 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:80 msgid "Change in system settings" msgstr "在系統設定中變更" @@ -7554,7 +7554,7 @@ msgid "Channel badges" msgstr "頻道徽章" #. Title in a modal shown before opening a channel with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:189 +#: src/features/channel/components/MatureContentChannelGate.tsx:216 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:43 msgid "Channel content warning" msgstr "頻道內容警告" @@ -7770,7 +7770,7 @@ msgid "Chat shortcuts" msgstr "聊天快速鍵" #. Button on Linux that checks again whether the desktop offers system-wide shortcuts, for example after the desktop service started. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:139 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:136 msgid "Check again" msgstr "再次檢查" @@ -7833,7 +7833,7 @@ msgid "Checking access..." msgstr "正在檢查存取權限…" #. Loading state in the screen-share picker while checking macOS screen recording permission. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:22 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:23 msgid "Checking screen recording permission..." msgstr "正在檢查螢幕錄製權限…" @@ -7848,17 +7848,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:123 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:122 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:119 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:118 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:115 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:114 msgid "Checkout unavailable" msgstr "無法結帳" @@ -8036,7 +8036,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:58 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:57 msgid "Choose how you'd like to pay for this subscription." msgstr "請選擇此訂閱的付款方式。" @@ -8050,7 +8050,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:166 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:170 msgid "Choose payment method" msgstr "選擇付款方式" @@ -8174,7 +8174,7 @@ msgstr "選擇你的預設值" #. Heading for an authentication step that requires an instance before continuing. #. Heading for the login step that lets a user choose the instance before signing in. -#: src/features/auth/flow/AuthLoginLayout.tsx:97 +#: src/features/auth/flow/AuthLoginLayout.tsx:96 #: src/features/auth/flow/AuthRuntimeTargetGate.tsx:11 msgid "Choose your instance" msgstr "選擇你的伺服器" @@ -8216,8 +8216,8 @@ msgstr "領取禮物" #: src/features/auth/components/modals/ClaimAccountModal.tsx:45 #: src/features/channel/components/direct_message/AddFriendForm.tsx:69 #: src/features/channel/utils/CreateDMModalUtils.tsx:44 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:216 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:444 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:217 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:445 #: src/features/user/components/modals/tabs/GiftInventoryTab.tsx:345 msgid "Claim your account" msgstr "認領您的帳號" @@ -9047,7 +9047,7 @@ msgid "Community badges" msgstr "社群徽章" #. Title in a modal shown before opening a community with a custom content warning. -#: src/features/channel/components/MatureContentChannelGate.tsx:185 +#: src/features/channel/components/MatureContentChannelGate.tsx:212 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:35 msgid "Community content warning" msgstr "社群內容警示" @@ -9089,8 +9089,8 @@ msgstr "社群私訊" msgid "Community filter" msgstr "社群篩選條件" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:277 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:600 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:278 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:601 msgid "Community icon" msgstr "社群圖示" @@ -9235,7 +9235,7 @@ msgid "Community updated" msgstr "社群已更新" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:38 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:39 msgid "Community voice" msgstr "社群語音" @@ -9275,11 +9275,11 @@ 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:157 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:161 msgid "Complete payment" msgstr "完成付款" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:73 msgid "Complete the mature content check to unlock mature media." msgstr "完成成人內容檢查以解鎖成人媒體。" @@ -9409,7 +9409,7 @@ msgstr "確定" #. Settings search entry label. Names the settings search entry in the settings UI. #. Short label for an advanced voice-channel safety preference. #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAppearanceControls.tsx:24 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:18 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:19 msgid "Confirm before joining voice channels" msgstr "在加入語音頻道前確認" @@ -9457,7 +9457,7 @@ msgstr "請確認聲明以送出檢舉。" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:30 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:31 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:398 msgid "Confirm voice join" msgstr "確認語音加入" @@ -9468,7 +9468,7 @@ msgid "Confirmation" msgstr "確認" #. Settings search entry description. One-line summary of what the settings search entry controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:46 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:47 msgid "Confirmation or double-click for community voice joins" msgstr "社群語音加入時的確認或雙擊動作" @@ -9476,7 +9476,7 @@ msgstr "社群語音加入時的確認或雙擊動作" msgid "Conflicts with {conflictLabel}" msgstr "與 {conflictLabel} 衝突" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:234 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:236 msgid "Connect a camera and try again." msgstr "請連接相機後再試一次。" @@ -9489,7 +9489,7 @@ msgstr "請連接相機或虛擬擷取裝置,然後再試一次。" msgid "Connect a display, then try again." msgstr "請連接顯示器後再試一次。" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:556 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:558 msgid "Connect a microphone and try again." msgstr "請連接麥克風後再試一次。" @@ -9633,7 +9633,7 @@ msgstr "連線:{connectionId}" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for external accounts and verified domains. #: src/features/i18n/utils/CommonMessageDescriptors.ts:424 -#: src/features/user/components/popouts/UserProfileShared.tsx:618 +#: src/features/user/components/popouts/UserProfileShared.tsx:622 #: src/features/user/components/settings_utils/search_index/LinkedAccountsIndex.ts:8 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:30 msgid "Connections" @@ -9667,7 +9667,7 @@ msgid "Contact" msgstr "聯絡方式" #. Short label in the authentication content blocked handler. Keep the tone plain and specific. -#: src/features/auth/components/ContentBlockedHandler.tsx:10 +#: src/features/auth/components/ContentBlockedHandler.tsx:11 msgid "Content blocked" msgstr "內容已遭封鎖" @@ -9741,13 +9741,13 @@ msgid "Continue in your browser" msgstr "在瀏覽器中繼續" #. Button in the gift time confirmation that proceeds to subscription checkout. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:145 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:144 msgid "Continue to checkout" msgstr "繼續結帳" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:343 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:356 -#: src/features/auth/components/modals/SudoVerificationModal.tsx:379 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:351 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:364 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:387 msgid "Continue with passkey" msgstr "使用通行金鑰繼續" @@ -10059,17 +10059,17 @@ msgid "Copy invite URL" msgstr "複製邀請網址" #. Button that copies Hyprland config lines to the clipboard. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:120 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:117 msgid "Copy lines" msgstr "複製設定行" #. Screen reader name of the button that copies Hyprland config lines in the older hyprlang format. Starts with the visible button text "Copy lines". Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:129 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:126 msgid "Copy lines for hyprland.conf" msgstr "複製設定行(hyprland.conf)" #. Screen reader name of the button that copies Hyprland config lines in the Lua format. Starts with the visible button text "Copy lines". Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:124 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:121 msgid "Copy lines for hyprland.lua" msgstr "複製設定行(hyprland.lua)" @@ -10343,7 +10343,7 @@ msgid "Couldn't change your price" msgstr "無法變更您的價格" #. Modal title shown when a user-initiated update check fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:96 +#: src/features/updater/commands/UpdaterModalCommands.tsx:97 msgid "Couldn't check for updates" msgstr "無法檢查更新" @@ -10475,7 +10475,7 @@ msgid "Couldn't delete your messages" msgstr "無法刪除您的訊息" #. Modal title shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:104 +#: src/features/updater/commands/UpdaterModalCommands.tsx:105 msgid "Couldn't download the desktop update" msgstr "無法下載桌面版更新" @@ -10591,7 +10591,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:30 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:29 #: 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 @@ -10758,7 +10758,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:127 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:126 msgid "Couldn't start checkout" msgstr "無法開始結帳" @@ -10932,7 +10932,7 @@ msgstr "建立並分享" msgid "Create a community" msgstr "建立社群" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:262 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:263 msgid "Create a community for you and your friends to chat." msgstr "建立社群,和好友一起聊天。" @@ -11365,7 +11365,7 @@ msgstr "自訂" #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. #. Voice input processing profile where the user configures processing manually. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:90 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:91 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:42 #: src/features/voice/components/VoiceSettingsMenus.tsx:70 msgctxt "voice-processing-profile" @@ -11851,7 +11851,7 @@ msgid "Deafened by moderators" msgstr "遭管理員設為耳機靜音" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "DEB" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:143 +#: src/features/updater/commands/UpdaterModalCommands.tsx:144 msgid "DEB package" msgstr "DEB 套件" @@ -12496,7 +12496,7 @@ msgid "Desktop app" msgstr "桌面應用程式" #. Modal title shown after a manual desktop update check finds no update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:50 +#: src/features/updater/commands/UpdaterModalCommands.tsx:51 msgid "Desktop app is up to date" msgstr "桌面版應用程式已是最新版本" @@ -12555,7 +12555,7 @@ msgid "Desktop update {version} available. Choose a Linux package." msgstr "桌面版更新 {version} 已推出。請選擇 Linux 套件。" #. Modal title shown when a new desktop app update can be downloaded. -#: src/features/updater/commands/UpdaterModalCommands.tsx:16 +#: src/features/updater/commands/UpdaterModalCommands.tsx:17 msgid "Desktop update available" msgstr "有可用的桌面版更新" @@ -12565,7 +12565,7 @@ msgid "Desktop update available. Choose a Linux package." msgstr "有可用的桌面版更新。請選擇 Linux 套件。" #. Desktop updater modal body. The version placeholder is the target app version; productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:20 +#: src/features/updater/commands/UpdaterModalCommands.tsx:21 msgid "Desktop version {version} is available. Download the installer, then run it to update {productName}." msgstr "桌面版 {version} 已推出。下載安裝程式,然後執行以更新 {productName}。" @@ -12613,7 +12613,7 @@ msgstr "詳細資訊:{reason}" #. Item in the textarea spellcheck language submenu that detects draft message language and switches dictionaries as the user types. #. Spellcheck language mode label in the language tab. The app detects the draft message language and switches dictionaries as the user types. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:83 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:126 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:127 msgid "Detect while typing" msgstr "輸入時偵測" @@ -12661,7 +12661,7 @@ msgid "Developer tools unavailable" msgstr "開發人員工具無法使用" #. Modal title when the desktop app is running unpackaged during development. -#: src/features/updater/commands/UpdaterModalCommands.tsx:66 +#: src/features/updater/commands/UpdaterModalCommands.tsx:67 msgid "Development build" msgstr "開發版本" @@ -13455,8 +13455,8 @@ msgstr "下載" #. Nagbar button label that downloads the desktop app. productName is the app name. #. Short label in the sidebar navigation download button. Preserve {productName}; it is inserted by code. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:17 -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:18 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:27 msgid "Download {productName}" msgstr "下載 {productName}" @@ -13465,12 +13465,12 @@ msgid "Download <0>fluxer-verification and place it in your <1>.well-knownfluxer-verification 並將其放置在您的 <1>.well-known 資料夾中,以便我們驗證網域。" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:98 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:99 msgid "Download app" msgstr "下載應用程式" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:106 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:107 msgid "Download app button in the sidebar" msgstr "下載應用程式按鈕" @@ -13485,7 +13485,7 @@ msgid "Download button" msgstr "下載按鈕" #. Button or menu action label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:103 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:104 msgid "Download desktop app" msgstr "下載桌面版應用程式" @@ -13513,7 +13513,7 @@ msgid "Download image" msgstr "下載圖片" #. Button label that downloads a desktop update installer. -#: src/features/updater/commands/UpdaterModalCommands.tsx:29 +#: src/features/updater/commands/UpdaterModalCommands.tsx:30 msgid "Download installer" msgstr "下載安裝程式" @@ -13527,7 +13527,7 @@ msgid "Download media" msgstr "下載媒體" #. Button label that downloads a selected Linux desktop update package. -#: src/features/updater/commands/UpdaterModalCommands.tsx:33 +#: src/features/updater/commands/UpdaterModalCommands.tsx:34 msgid "Download package" msgstr "下載套件" @@ -13655,11 +13655,11 @@ msgstr "放下項目" msgid "Drop to upload background" msgstr "放開即可上傳背景" -#: src/features/channel/components/MatureContentChannelGate.tsx:85 +#: src/features/channel/components/MatureContentChannelGate.tsx:100 msgid "Due to mature content laws in {regionName}, mature content is blocked until you complete the mature content check." msgstr "由於{regionName}的成人內容法規,在您完成成人內容檢查之前,成人內容都會被封鎖。" -#: src/features/channel/components/MatureContentChannelGate.tsx:95 +#: src/features/channel/components/MatureContentChannelGate.tsx:110 msgid "Due to mature content laws in {regionName}, mature content is not available from here. Mature content checks are available only in the UK." msgstr "由於{regionName}的成人內容相關法律規定,此處無法提供成人內容。成人內容檢查功能僅限於英國地區使用。" @@ -13673,7 +13673,7 @@ msgstr "由於{regionName}的成人內容法規,在您完成成人內容檢查 msgid "Due to mature content laws in {regionName}, this content is not available from here. Mature content checks are available only in the UK." msgstr "由於{regionName}的成人內容法規,此內容無法在此處提供。成人內容檢查僅在英國提供。" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:61 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:67 msgid "Due to mature content laws in {regionName}, this media is not available from your current region." msgstr "由於{regionName}的成人內容法規,此媒體在您目前的地區無法使用。" @@ -13715,7 +13715,7 @@ msgid "Each code works once in place of your authenticator app." msgstr "每個代碼都可供您在驗證器應用程式中使用一次。" #. Note under the list of system-wide shortcuts on Linux. The desktop cannot assign one key to two actions. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:75 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:72 msgid "Each key can run only one system-wide shortcut." msgstr "每個按鍵只能執行一個全系統快速鍵。" @@ -14303,7 +14303,7 @@ msgid "Enable" msgstr "啟用" #. Voice settings CTA label for opening a platform permission prompt. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:123 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:124 msgid "Enable {permissionName} permission" msgstr "啟用「{permissionName}」權限" @@ -14508,7 +14508,7 @@ msgid "Enable shortcut" msgstr "啟用捷徑" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:86 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:87 msgid "Enable spellcheck" msgstr "啟用拼字檢查" @@ -14602,12 +14602,12 @@ msgid "End grace now" msgstr "立即結束寬限期" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:167 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:285 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:284 msgid "End grace period" msgstr "結束寬限期" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:160 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:278 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:277 msgid "End grace period now?" msgstr "要現在結束寬限期嗎?" @@ -14837,7 +14837,7 @@ msgid "Enter the PIN for your security key to continue." msgstr "請輸入安全金鑰的 PIN 以繼續。" #. Title in the desktop app above the code the user types into a browser on another device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:235 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:240 msgid "Enter this code in your browser" msgstr "在瀏覽器中輸入此代碼" @@ -14845,7 +14845,7 @@ msgstr "在瀏覽器中輸入此代碼" msgid "Enter this code in your browser to complete sign-in." msgstr "請在瀏覽器中輸入此代碼以完成登入。" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:148 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:150 msgid "Enter this code in your old {PRODUCT_NAME} app to complete sign-in." msgstr "請在您的舊版 {PRODUCT_NAME} 應用程式中輸入此代碼以完成登入。" @@ -14916,7 +14916,7 @@ msgstr "整個系統音訊" #. Voice menu submenu label that contains per-user entrance sound mute and volume controls. #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:181 #: src/features/ui/action_menu/items/VoiceParticipantMenuItems.tsx:313 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:187 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:188 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:150 msgid "Entrance sound" msgstr "進場音效" @@ -15026,7 +15026,7 @@ msgstr "晚上" #. Description for the automatic gain control toggle in the voice processing settings. #. Description for the automatic gain control toggle in the voice processing settings. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:171 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:172 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:63 msgid "Evens out your mic volume so you are not too quiet." msgstr "讓您的麥克風音量更平均,避免太小聲。" @@ -15249,7 +15249,7 @@ msgstr "將於 {earliest} 到 {latest} 之間到期" msgid "Expires in {remaining}s" msgstr "{remaining} 秒後到期" -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:257 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:265 msgid "Expires in {remainingSeconds}s" msgstr "將於 {remainingSeconds} 秒後過期" @@ -15728,7 +15728,7 @@ msgid "Favorite channel" msgstr "將頻道加入我的最愛" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:82 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:83 msgid "Favorite channels" msgstr "我的最愛頻道" @@ -16243,7 +16243,7 @@ msgstr "持續 {threeHours} 小時" msgid "For {twentyFourHours} hours" msgstr "持續 {twentyFourHours} 小時" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:255 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:256 msgid "For British eyes only..." msgstr "限英國地區觀看…" @@ -16253,22 +16253,22 @@ msgid "For me" msgstr "自己使用" #. Warning on GNOME when the push-to-mute shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone muted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:204 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:201 msgid "For push-to-mute, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay muted." msgstr "「按住以靜音」請使用單一按鍵,不要搭配 Ctrl、Alt 或 Shift。若使用組合鍵,請先放開主要按鍵,否則麥克風可能會保持靜音。" #. Warning on GNOME when the push-to-talk shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the microphone on. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:198 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:195 msgid "For push-to-talk, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the microphone can stay on." msgstr "「按住說話」請使用單一按鍵,不要搭配 Ctrl、Alt 或 Shift。若使用組合鍵,請先放開主要按鍵,否則麥克風可能會保持開啟。" #. Warning on GNOME when a hold shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave the shortcut active. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:216 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:213 msgid "For this shortcut, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or the shortcut can stay active." msgstr "此快速鍵請使用單一按鍵,不要搭配 Ctrl、Alt 或 Shift。若使用組合鍵,請先放開主要按鍵,否則快速鍵可能會保持作用中。" #. Warning on GNOME when the voice activity priority shortcut uses a key combination. Letting go of a modifier key such as Ctrl before the main key can leave priority speaking on. "Voice activity priority" is the shortcut name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:210 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:207 msgid "For voice activity priority, use a single key without Ctrl, Alt or Shift. With a combination, let go of the main key first or priority can stay on." msgstr "「語音活動優先」請使用單一按鍵,不要搭配 Ctrl、Alt 或 Shift。若使用組合鍵,請先放開主要按鍵,否則優先狀態可能會保持開啟。" @@ -16460,14 +16460,14 @@ msgstr "視窗外框" #. Section header in the stream settings menu for frame rate options. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:334 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:336 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:230 #: src/features/voice/components/StreamSettingsMenuContent.tsx:133 msgid "Frame rate" msgstr "影格率" #. Video settings note shown when higher frame rates require premium. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:63 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:64 msgid "Frame rates above 30 FPS require {premiumProductName}" msgstr "高於 30 FPS 的影格速率需要 {premiumProductName}" @@ -16926,12 +16926,12 @@ msgid "Get notified when you receive messages. You may need to allow notificatio msgstr "收到訊息時通知您。您可能需要在瀏覽器設定中允許通知。若要設定個別頻道或社群的通知,請在社群圖示上按一下右鍵,然後開啟通知設定。" #. Nagbar body encouraging web users to download the desktop app. productName is the app name. -#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:17 +#: src/features/app/components/layout/app_layout/nagbars/DesktopDownloadNagbar.tsx:18 msgid "Get the {productName} desktop app for system-wide push-to-talk and a few other goodies." msgstr "取得 {productName} 電腦版應用程式,即可在整個系統使用「按住說話」,還有其他好用的功能。" #. CTA button label in the screen-share picker. Opens the desktop download page. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:20 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:21 msgid "Get the desktop app" msgstr "取得電腦版應用程式" @@ -17241,12 +17241,12 @@ msgid "Go back to {productName} to continue." msgstr "返回 {productName} 以繼續。" #. Shown after approving a sign-in for an app on another device, which signs in by itself shortly. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:296 msgid "Go back to the {PRODUCT_NAME} app. It finishes signing in on its own." msgstr "返回 {PRODUCT_NAME} App。它會自行完成登入。" #. Shown after approving, when the browser has already handed the sign-in back to the desktop app. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:288 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:292 msgid "Go back to the {PRODUCT_NAME} app. You can close this tab." msgstr "回到 {PRODUCT_NAME} app。你可以關閉這個分頁。" @@ -17702,7 +17702,7 @@ msgid "Help" msgstr "說明" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:94 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:95 msgid "Help button" msgstr "說明按鈕" @@ -17712,11 +17712,11 @@ msgid "Help center" msgstr "說明中心" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:102 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:103 msgid "Help center button in the sidebar" msgstr "說明中心按鈕" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:348 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:349 msgid "Help translate {PRODUCT_NAME} into your language on <0>{I18N_WEBLATE_DOMAIN}." msgstr "協助將 {PRODUCT_NAME} 翻譯成您的語言,請前往 <0>{I18N_WEBLATE_DOMAIN}。" @@ -17841,7 +17841,7 @@ msgstr "隱藏聊天" msgid "Hide community owner crown" msgstr "隱藏社群擁有者皇冠" -#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:62 +#: src/features/app/components/layout/sidebar_nav/DownloadButton.tsx:63 msgid "Hide download button" msgstr "隱藏下載按鈕" @@ -17860,7 +17860,7 @@ msgstr "隱藏我的最愛" msgid "Hide guidelines" msgstr "隱藏指南" -#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:63 +#: src/features/app/components/layout/sidebar_nav/HelpButton.tsx:64 msgid "Hide help center button" msgstr "隱藏說明中心按鈕" @@ -17870,7 +17870,7 @@ msgid "Hide join messages" msgstr "隱藏加入訊息" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:50 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:51 msgid "Hide keyboard hints" msgstr "隱藏鍵盤提示" @@ -18156,22 +18156,22 @@ msgid "Hyperlink" msgstr "超連結" #. Instructions for the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:97 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:94 msgid "Hyprland has no shortcut dialog. Add the lines for your Hyprland version to your Hyprland config and replace KEY with the key you want." msgstr "Hyprland 沒有快速鍵對話框。請將適用於您 Hyprland 版本的設定行加入 Hyprland 設定檔,並將 KEY 替換為您想要的按鍵。" #. Instructions for the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:103 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:100 msgid "Hyprland has no shortcut dialog. Bind the keys in your Hyprland config." msgstr "Hyprland 沒有快速鍵對話框。請在 Hyprland 設定檔中綁定按鍵。" #. Label above Hyprland config lines in the older hyprlang format. Keep "hyprland.conf" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:116 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:113 msgid "hyprland.conf (before Hyprland 0.55)" msgstr "hyprland.conf(Hyprland 0.55 之前)" #. Label above Hyprland config lines in the Lua format. Keep "hyprland.lua" exactly as written. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:112 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:109 msgid "hyprland.lua (Hyprland 0.55 and later)" msgstr "hyprland.lua(Hyprland 0.55 及以上版本)" @@ -18218,8 +18218,8 @@ msgid "I confirm in good faith that the information and allegations in this noti msgstr "我本於善意確認,本通知中的資訊與指控均正確且完整。" #. Short label in the voice tab. Keep it concise. -#: src/features/channel/components/MatureContentChannelGate.tsx:207 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:107 +#: src/features/channel/components/MatureContentChannelGate.tsx:234 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:108 msgid "I understand" msgstr "我了解了" @@ -18598,11 +18598,11 @@ msgstr "正在匯入… 已處理 {processedCount, number} / {totalCount, number msgid "In" msgstr "在" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:547 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:551 msgid "In \"Operating system\" mode, dictionaries listed above are advisory. {PRODUCT_NAME} will pass these language tags to your OS spellchecker when supported. Tags it doesn't recognize are ignored." msgstr "在「作業系統」模式中,上方列出的字典僅供參考。如果支援,{PRODUCT_NAME} 會將這些語言標籤傳遞給您的作業系統拼字檢查工具。無法辨識的標籤將會被忽略。" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:317 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:318 msgid "In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app for system-wide push-to-talk." msgstr "在瀏覽器中,「按住說話」只有在 {PRODUCT_NAME} 分頁為焦點時才能運作。請安裝桌面版應用程式,以使用全系統的按住說話功能。" @@ -18650,7 +18650,7 @@ msgstr "在語音聊天中" #. Spellcheck engine option in the language tab. Uses the bundled in-app Hunspell dictionaries. Keep it concise. #. Spellcheck engine option in the textarea spellcheck submenu. The bundled in-app hunspell engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:75 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:100 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:101 msgid "In-app dictionaries" msgstr "應用程式內建字典" @@ -18875,7 +18875,7 @@ msgid "Input" msgstr "輸入" #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:175 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:176 msgid "Input and output" msgstr "輸入與輸出" @@ -18939,7 +18939,7 @@ msgid "Insert emoji" msgstr "插入表情符號" #. CTA card body in the screen-share picker promoting the desktop app. {productName} is Fluxer. -#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:16 +#: src/features/voice/components/modals/screen_share_picker_modal/DesktopDownloadCta.tsx:17 msgid "Install {productName} for the full source picker and smoother screen-sharing controls." msgstr "安裝 {productName} 以取得完整的來源選擇器和更流暢的螢幕分享控制項。" @@ -18954,12 +18954,12 @@ msgid "Install the new app" msgstr "安裝新版應用程式" #. Label for the installed desktop version in the Linux update modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:119 +#: src/features/updater/commands/UpdaterModalCommands.tsx:120 msgid "Installed" msgstr "已安裝" #. Desktop updater modal body. The currentVersion placeholder is the installed app version. -#: src/features/updater/commands/UpdaterModalCommands.tsx:54 +#: src/features/updater/commands/UpdaterModalCommands.tsx:55 msgid "Installed version: {currentVersion}." msgstr "已安裝版本:{currentVersion}。" @@ -19031,7 +19031,7 @@ msgstr "介面" #. Settings section label for interface language selection. #. Settings section title in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:82 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:83 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:42 msgid "Interface language" msgstr "介面語言" @@ -19467,13 +19467,13 @@ msgstr "加入" #. Accessible label of a button that joins a community. {communityName} is the community name. #. Nagbar button label that opens the official product community invite. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:30 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:29 #: src/features/expressions/components/ExpressionInfoCard.tsx:94 msgid "Join {communityName}" msgstr "加入「{communityName}」" #. Nagbar body inviting users to join the official product community. communityName is the community name. -#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:26 +#: src/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar.tsx:25 msgid "Join {communityName} to chat with the team and stay up to date." msgstr "加入「{communityName}」與團隊聊天,並隨時掌握最新資訊。" @@ -19561,7 +19561,7 @@ msgstr "加入視訊通話" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/profile/VoiceActivityCard.tsx:67 -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:34 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:35 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:454 msgid "Join voice" msgstr "加入語音" @@ -19756,7 +19756,7 @@ msgid "Keep free and premium tiers. You can customize the tiers, sell premium th msgstr "保留免費和進階方案。您可以自訂方案、透過 Stripe 出售進階方案,或稍後從管理面板發放禮物代碼。" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:169 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:287 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:286 msgid "Keep grace period" msgstr "保留寬限期" @@ -19771,7 +19771,7 @@ msgid "Keep running" msgstr "繼續執行" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:147 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:265 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:264 msgid "Keep subscription" msgstr "保留訂閱" @@ -19786,7 +19786,7 @@ msgid "Keep this page somewhere safe. If you forget your password, you can use i msgstr "請將此頁面妥善保管。若您忘記密碼,可使用此頁面重新登入您的帳號。持有此還原金鑰的任何人皆可重設您的密碼,請勿與他人分享。" #. Description for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:78 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:79 msgid "Keep transmitting briefly after release." msgstr "放開按鍵後仍會短暫繼續傳送。" @@ -19829,7 +19829,7 @@ msgid "Keyboard" msgstr "鍵盤" #. Linux warning when direct input device access is on but reading the keyboard failed. Not related to the "Direct input" voice processing profile. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:193 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:190 msgid "Keyboard access couldn't start. Shortcuts only work while {productName} is focused." msgstr "無法啟動鍵盤存取。快速鍵僅在 {productName} 處於焦點時有效。" @@ -19848,7 +19848,7 @@ msgid "Keyboard mode" msgstr "鍵盤模式" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:62 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:63 msgid "Keyboard shortcut hints in tooltips" msgstr "工具提示中的鍵盤快速鍵提示" @@ -19923,7 +19923,7 @@ msgstr "語言設定" #. Submenu label in the textarea spellcheck submenu listing manual language overrides. #. Subsection title for spellcheck language settings. Keep it concise. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:88 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:122 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:123 msgid "Languages" msgstr "語言" @@ -19971,7 +19971,7 @@ msgstr "延遲圖表" #. Short label in the desktop settings tab. Keep it concise. #. Short label in the theme studio settings section. Keep it concise. #: src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx:61 -#: src/features/updater/commands/UpdaterModalCommands.tsx:46 +#: src/features/updater/commands/UpdaterModalCommands.tsx:47 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx:51 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx:74 #: src/features/user/components/modals/tabs/DesktopSettingsTab.tsx:48 @@ -20214,12 +20214,12 @@ msgid "Let the member hear others in this community again" msgstr "讓該成員能再次在此社群中聽到其他人說話" #. Description for the Linux direct input device access switch while it is on, on a desktop that can also run system-wide shortcuts itself (KDE, GNOME, Hyprland). {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:166 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:163 msgid "Lets {productName} read your keyboard directly. Turn this off to set up shortcuts through your desktop instead." msgstr "讓 {productName} 直接讀取您的鍵盤。關閉此選項即可改為透過桌面環境設定快速鍵。" #. Description for the Linux direct input device access switch. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:162 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:159 msgid "Lets {productName} read your keyboard directly. Your system already allows this." msgstr "讓 {productName} 直接讀取您的鍵盤。您的系統已允許此操作。" @@ -20512,7 +20512,7 @@ msgid "Linux default" msgstr "Linux 預設值" #. Select label for choosing the Linux desktop package format to download. -#: src/features/updater/commands/UpdaterModalCommands.tsx:135 +#: src/features/updater/commands/UpdaterModalCommands.tsx:136 msgid "Linux package" msgstr "Linux 套件" @@ -20648,7 +20648,7 @@ msgid "Local files" msgstr "本機檔案" #. Profile section title for a user's local time. -#: src/features/user/components/popouts/UserProfileShared.tsx:57 +#: src/features/user/components/popouts/UserProfileShared.tsx:58 msgid "Local time" msgstr "當地時間" @@ -20730,7 +20730,7 @@ msgid "Look and feel" msgstr "外觀和風格" #. placeholder {0}: externalProcessor.name -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:671 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:673 msgid "Looks like you're using {0}. Stacking {PRODUCT_NAME}'s processing on top can cause pumping or distortion. Direct input passes your audio through untouched." msgstr "看來您正在使用 {0}。在此之上再疊加 {PRODUCT_NAME} 的處理,可能會導致音量忽大忽小或失真。直接輸入會原封不動地傳送您的音訊。" @@ -20826,7 +20826,7 @@ msgid "Make group owner" msgstr "設為群組擁有者" #. Shown above the code on the browser approval page when the app cannot be signed in automatically. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:253 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:257 msgid "Make sure this code matches the one in the {PRODUCT_NAME} app." msgstr "請確認此代碼與 {PRODUCT_NAME} 應用程式中的代碼相符。" @@ -20966,7 +20966,7 @@ msgid "Manage your subscription" msgstr "管理您的訂閱" #. Modal title when automatic in-app desktop updates cannot be used. -#: src/features/updater/commands/UpdaterModalCommands.tsx:62 +#: src/features/updater/commands/UpdaterModalCommands.tsx:63 msgid "Manual desktop update" msgstr "手動更新桌面版" @@ -21145,15 +21145,15 @@ msgstr "麻薩諸塞州" msgid "Master volume" msgstr "主音量" -#: src/features/channel/components/MatureContentChannelGate.tsx:141 +#: src/features/channel/components/MatureContentChannelGate.tsx:160 msgid "Mature category" msgstr "成人內容類別" -#: src/features/channel/components/MatureContentChannelGate.tsx:163 +#: src/features/channel/components/MatureContentChannelGate.tsx:186 msgid "Mature channel" msgstr "成人頻道" -#: src/features/channel/components/MatureContentChannelGate.tsx:118 +#: src/features/channel/components/MatureContentChannelGate.tsx:133 msgid "Mature community" msgstr "成人社群" @@ -21194,7 +21194,7 @@ msgstr "已傳送成人內容檢查" #. Body copy in the mature content check modal when the check is unavailable. #: src/features/auth/components/modals/MatureContentCheckModal.tsx:36 -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:71 +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:77 msgid "Mature content checks are currently available only in the UK." msgstr "成人內容檢查目前僅在英國提供。" @@ -21462,7 +21462,7 @@ msgid "Member roles updated" msgstr "成員身分組已更新" #: src/features/channel/components/guild_members_page/MembersTableHeaderRow.tsx:83 -#: src/features/user/components/popouts/UserProfileShared.tsx:283 +#: src/features/user/components/popouts/UserProfileShared.tsx:284 msgid "Member since" msgstr "加入時間" @@ -22013,7 +22013,7 @@ msgstr "麥克風" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:183 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:184 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:142 msgid "Mic test" msgstr "麥克風測試" @@ -22127,7 +22127,7 @@ msgstr "明尼蘇達州" #. Camera settings menu checkbox for flipping the local camera preview horizontally. #. Switch label in the camera preview modal for flipping the local camera preview horizontally. #. Switch label in the video tab for flipping the local camera preview horizontally. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:100 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:101 #: src/features/voice/components/modals/CameraPreviewModal.tsx:73 #: src/features/voice/components/VoiceSettingsMenus.tsx:114 msgid "Mirror camera" @@ -23046,7 +23046,7 @@ msgid "Neko" msgstr "貓咪" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:66 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:67 msgid "Neko cat that chases your cursor" msgstr "追逐您游標的貓咪" @@ -23285,7 +23285,7 @@ msgid "New users can't join right now. You can still create an account or sign i msgstr "新使用者目前無法加入。您仍然可以建立帳號或登入,稍後再試一次此連結。" #. Fallback version label when the available desktop version is unknown. -#: src/features/updater/commands/UpdaterModalCommands.tsx:131 +#: src/features/updater/commands/UpdaterModalCommands.tsx:132 msgid "New version" msgstr "新版本" @@ -23465,7 +23465,7 @@ msgstr "沒有書籤" msgid "No bot banner" msgstr "沒有機器人橫幅" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:226 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:227 msgid "No camera found" msgstr "找不到相機" @@ -23541,7 +23541,7 @@ msgid "No description." msgstr "沒有說明。" #. Desktop updater modal body when no installed version string is available. -#: src/features/updater/commands/UpdaterModalCommands.tsx:58 +#: src/features/updater/commands/UpdaterModalCommands.tsx:59 msgid "No desktop update is available." msgstr "沒有可用的桌面版更新。" @@ -23684,7 +23684,7 @@ msgstr "沒有符合的貼文" msgid "No mentions yet" msgstr "還沒有被提及的訊息" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:541 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:542 msgid "No microphone found" msgstr "找不到麥克風" @@ -23731,7 +23731,7 @@ msgstr "沒有符合搜尋條件的待處理邀請" msgid "No permissions found" msgstr "找不到權限" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:594 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:599 msgid "No personal words yet." msgstr "還沒有任何個人詞彙。" @@ -24093,7 +24093,7 @@ msgid "Not allowed" msgstr "不允許" #. Shown instead of a key when the desktop has no key assigned to a system-wide shortcut. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:79 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:76 msgid "Not assigned" msgstr "未指定" @@ -24423,7 +24423,7 @@ msgid "On click" msgstr "點擊時" #. One line explanation in the desktop app above the code. signInAddress is the web address of the sign-in page, such as web.fluxer.app/login?handoff=1. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:243 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:248 msgid "On your other device, sign in at {signInAddress} and enter this code when asked." msgstr "在你的其他裝置上,請前往 {signInAddress} 登入,並在要求時輸入此代碼。" @@ -24694,7 +24694,7 @@ msgid "Open {premiumProductFullName}" msgstr "開啟 {premiumProductFullName}" #. Button on the browser page after approving that opens the desktop app again if it did not come to the front. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:304 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:308 msgid "Open {PRODUCT_NAME}" msgstr "開啟 {PRODUCT_NAME}" @@ -24726,7 +24726,7 @@ msgid "Open account switcher" msgstr "開啟帳號切換器" #. Button label in the video tab that jumps to the advanced settings media section. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:113 msgid "Open advanced media settings" msgstr "開啟進階媒體設定" @@ -24788,7 +24788,7 @@ msgstr "開啟橫幅選項" msgid "Open bookmarks" msgstr "開啟書籤" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:184 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:188 msgid "Open browser" msgstr "開啟瀏覽器" @@ -24846,7 +24846,7 @@ msgid "Open date picker" msgstr "開啟日期選擇器" #. Button label that opens the Fluxer desktop downloads page in a browser. -#: src/features/updater/commands/UpdaterModalCommands.tsx:92 +#: src/features/updater/commands/UpdaterModalCommands.tsx:93 msgid "Open desktop downloads" msgstr "開啟桌面版下載頁面" @@ -25043,7 +25043,7 @@ msgid "Open settings" msgstr "開啟設定" #. Button label that opens the software center via appstream protocol. -#: src/features/updater/commands/UpdaterModalCommands.tsx:88 +#: src/features/updater/commands/UpdaterModalCommands.tsx:89 msgid "Open software center" msgstr "開啟軟體中心" @@ -25076,11 +25076,11 @@ msgid "Open System Settings" msgstr "打開「系統設定」" #. Body in the screen-share picker when macOS screen recording permission is missing. {productName} is the app name. Keep "System Settings", "Privacy & Security" and the permission name as macOS shows them in this language. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:26 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:27 msgid "Open System Settings → Privacy & Security → Screen Recording, then allow {productName}." msgstr "開啟「系統設定」>「隱私權與安全性」>「螢幕錄影」,然後允許 {productName}。" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:535 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:536 msgid "Open template JSON" msgstr "開啟範本 JSON" @@ -25089,7 +25089,7 @@ msgstr "開啟範本 JSON" msgid "Open the context menu" msgstr "開啟操作選單" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:518 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:519 msgid "Open the link below in your browser, then copy the entire JSON response and paste it into the box." msgstr "請在瀏覽器中開啟下方連結,然後複製完整的 JSON 回應並貼到方塊中。" @@ -25167,11 +25167,11 @@ msgstr "開啟語音與視訊設定" msgid "Open with {accountName} on {instanceName}" msgstr "在 {instanceName} 上以 {accountName} 開啟" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:137 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:139 msgid "Open your browser, sign in, then enter the code below to link your account." msgstr "開啟您的瀏覽器,登入後輸入以下代碼,即可連結您的帳號。" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:135 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:134 msgid "Open your old {PRODUCT_NAME} app and choose Link a new device, then enter the code below." msgstr "開啟您的舊版 {PRODUCT_NAME} 應用程式,選擇「連結新裝置」,然後輸入下方的代碼。" @@ -25199,7 +25199,7 @@ msgstr "開啟成員頁面。按空白鍵或 Enter 鍵開啟。" #. Spellcheck engine option in the textarea spellcheck submenu. Uses the host operating system spellchecker. #: src/features/auth/flow/HandoffApprovalFlow.tsx:99 #: src/features/channel/components/textarea/TextareaContextMenu.tsx:79 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:110 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:111 msgid "Operating system" msgstr "作業系統" @@ -25629,7 +25629,7 @@ msgstr "過去 7 天" msgid "Paste" msgstr "貼上" -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:490 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:491 msgid "Paste a {theOtherPlatform} template URL to import its structure into a new community." msgstr "貼上 {theOtherPlatform} 範本網址,即可將其結構匯入新的社群。" @@ -25734,12 +25734,12 @@ 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:38 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:37 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:48 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:47 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} 的下一個畫面輸入信用卡資訊。" @@ -25933,7 +25933,7 @@ msgstr "{0} 的權限" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title for personal dictionary settings. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:131 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:132 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:94 msgid "Personal dictionary" msgstr "個人字典" @@ -26004,7 +26004,7 @@ msgid "Pick at least one tag for this post." msgstr "請為此貼文選擇至少一個標籤。" #. Help text above the manual spellcheck dictionary picker in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:135 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:136 msgid "Pick one or more dictionaries. Words from any selected dictionary are accepted, which is useful for multilingual chats." msgstr "選擇一個或多個字典。系統會接受任何選定字典中的字詞,這對於多語言聊天很有幫助。" @@ -26690,7 +26690,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:149 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:148 msgid "Pricing is still loading." msgstr "價格仍在載入中。" @@ -27069,17 +27069,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:111 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:110 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:107 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:106 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:103 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:102 msgid "Purchases unavailable" msgstr "無法購買" @@ -27173,33 +27173,33 @@ msgid "Push to talk key" msgstr "按住說話按鍵" #. Switch label in the voice tab toggling push-to-talk mode. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:111 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:353 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:112 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:354 #: src/features/voice/components/VoiceSettingsMenus.tsx:422 msgid "Push-to-talk" msgstr "按住說話" #. Short label in the voice tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:99 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:100 msgid "Push-to-talk (limited)" msgstr "按住說話(受限)" #. Voice settings warning on GNOME when the desktop has no key assigned to push-to-talk. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:243 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:240 msgid "Push-to-talk has no system-wide key yet. To set one, go to Settings > Apps > {productName}." msgstr "「按住說話」尚未設定全系統按鍵。若要設定,請前往「設定」>「應用程式」>「{productName}」。" #. Voice settings warning on KDE Plasma when the desktop has no key assigned to push-to-talk. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:237 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:234 msgid "Push-to-talk has no system-wide key yet. To set one, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "「按住說話」尚未設定全系統按鍵。若要設定,請前往「系統設定」>「鍵盤」>「快捷鍵」>「{productName}」。" #. Voice settings warning on an unrecognized Linux desktop when the desktop has no key assigned to push-to-talk. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:248 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:245 msgid "Push-to-talk has no system-wide key yet. To set one, open your desktop's keyboard shortcut settings." msgstr "「按住說話」尚未設定全系統按鍵。若要設定,請開啟桌面環境的鍵盤快速鍵設定。" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:706 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:709 msgid "Push-to-talk is ignored in direct input. Switch to focused voice or custom to use it." msgstr "直接輸入模式會忽略按住說話。請切換為語音聚焦或自訂才能使用。" @@ -27214,27 +27214,27 @@ msgid "Push-to-talk is on. Hold your push-to-talk key to speak." msgstr "已開啟「按住說話」。按住您的說話鍵即可說話。" #. Voice settings warning on Linux when the desktop dialog for system-wide shortcuts was dismissed or failed. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:226 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:223 msgid "Push-to-talk only works while {productName} is focused because your desktop didn't set up system-wide shortcuts." msgstr "由於您的桌面環境未設定全系統快速鍵,「按住說話」僅在 {productName} 處於焦點時有效。" #. Voice settings warning shown when macOS Input Monitoring is required for system-wide push-to-talk. {productName} is the app name and {permissionName} is the macOS permission name. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:131 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:132 msgid "Push-to-talk only works while {productName} is focused until {permissionName} is enabled." msgstr "僅在啟用 {permissionName} 前,{productName} 處於焦點時,才能使用一鍵通話。" #. Voice settings warning on Linux before system-wide shortcuts are set up. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:222 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:219 msgid "Push-to-talk only works while {productName} is focused until you set up system-wide shortcuts." msgstr "在您設定全系統快速鍵之前,「按住說話」僅在 {productName} 處於焦點時有效。" #. Voice settings warning shown when push-to-talk is enabled in a browser. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:127 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:128 msgid "Push-to-talk only works while the browser tab is focused." msgstr "按住說話僅在瀏覽器分頁使用中時有效。" #. Linux warning next to the direct input device access switch when push-to-talk only has a key assigned by the desktop. With direct input on, only the push-to-talk key set in the app works, and without one the microphone sends whenever you speak. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:187 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:184 msgid "Push-to-talk will use the key you set in {productName}. Set one first, or your microphone will use voice activity." msgstr "「按住說話」將使用您在 {productName} 中設定的按鍵。請先設定按鍵,否則麥克風將改用語音活動。" @@ -27244,12 +27244,12 @@ msgid "Push-to-talk won't unmute your microphone while you're deafened. Undeafen msgstr "您處於耳機靜音狀態時,按住說話不會解除麥克風靜音。請先解除耳機靜音才能說話。" #. Voice settings note on the Hyprland desktop when the app id is unknown. The config is hyprland.lua on Hyprland 0.55 and later, hyprland.conf before. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:259 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:256 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config." msgstr "必須先在 Hyprland 設定檔中綁定,「按住說話」才能在 {productName} 以外使用。" #. Voice settings note on the Hyprland desktop, shown above config lines for hyprland.lua (Hyprland 0.55 and later) and for hyprland.conf (before 0.55). Keep "KEY" exactly as written. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:253 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:250 msgid "Push-to-talk works outside {productName} only after you bind it in your Hyprland config. Add the line for your Hyprland version and replace KEY with the key you want." msgstr "必須先在 Hyprland 設定檔中綁定,「按住說話」才能在 {productName} 以外使用。請新增適用於您 Hyprland 版本的設定行,並將 KEY 替換為您想要的按鍵。" @@ -27533,12 +27533,12 @@ msgstr "收件人將會前往 {0} <0>{1}" #. Spellcheck engine option in the language tab. Lets the app choose the best available spellcheck engine. #. Spellcheck engine option in the textarea spellcheck submenu. Lets the app choose the best available engine. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:70 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:90 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:91 msgid "Recommended" msgstr "推薦" #. Description for the focused voice profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:82 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:83 msgid "Recommended. Cleans up your mic for clear speech." msgstr "建議使用。讓您的麥克風更清晰地收音。" @@ -27553,7 +27553,7 @@ msgid "Reconnect succeeded. Pick a screen again if you want to resume your previ msgstr "重新連線成功。如要繼續上次的串流,請再選取一次螢幕。" #. Status text on Linux while the app reconnects to the desktop service that runs system-wide shortcuts, for example after it restarted. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:48 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:45 msgid "Reconnecting to your desktop…" msgstr "正在重新連線至桌面環境…" @@ -27836,7 +27836,7 @@ msgstr "重新啟動以套用" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label for push-to-talk release delay. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:74 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:75 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:94 msgid "Release delay" msgstr "放開後延遲" @@ -27853,7 +27853,7 @@ msgstr "相關" msgid "Reload" msgstr "重新載入" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:471 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:474 msgid "Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck requires a renderer reload because Electron can't swap providers while running." msgstr "重新載入 {PRODUCT_NAME} 以完整套用引擎變更。在應用程式內建與系統拼字檢查之間切換需要重新載入轉譯器,因為 Electron 無法在執行期間切換提供者。" @@ -27872,7 +27872,7 @@ msgstr "重新載入 {productName} 以使用網路更新 {version}" msgid "Reload app" msgstr "重新載入應用程式" -#: src/features/user/components/modals/tabs/LanguageTab.tsx:483 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:487 msgid "Reload now" msgstr "立即重新載入" @@ -27935,7 +27935,7 @@ msgid "Remove" msgstr "移除" #. Button or menu action label in the language tab. Keep it concise. Preserve {word}; it is inserted by code. Keep the tone plain and specific. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:144 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:145 msgid "Remove \"{word}\" from dictionary" msgstr "從字典中移除「{word}」" @@ -28086,8 +28086,8 @@ msgstr "從僅限網址的 GIF 最愛中移除" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:337 #: src/features/channel/components/modals/EditGroupModal.tsx:292 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:320 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:643 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:321 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:644 msgid "Remove icon" msgstr "移除圖示" @@ -29495,7 +29495,7 @@ msgid "Rows per page" msgstr "每頁列數" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "RPM" verbatim and translate only the word "package". -#: src/features/updater/commands/UpdaterModalCommands.tsx:148 +#: src/features/updater/commands/UpdaterModalCommands.tsx:149 msgid "RPM package" msgstr "RPM 套件" @@ -29530,7 +29530,7 @@ msgid "Safety" msgstr "安全性" #. Profile timezone difference text. The target user's timezone currently matches the viewer's timezone. -#: src/features/user/components/popouts/UserProfileShared.tsx:61 +#: src/features/user/components/popouts/UserProfileShared.tsx:62 msgid "Same time as you" msgstr "與您的時區相同" @@ -29770,7 +29770,7 @@ msgstr "螢幕錄影" #. Heading in the screen-share picker when macOS screen recording permission is missing. #. Title of the modal shown when screen recording permission is denied. Keep tone plain. #: src/features/permissions/system/components/MediaPermissionBlockedModal.tsx:20 -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:18 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:19 msgid "Screen recording permission required" msgstr "需要螢幕錄影權限" @@ -29858,7 +29858,7 @@ msgstr "螢幕分享隱私" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Short label in the video tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:104 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:105 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:214 msgid "Screen share quality" msgstr "螢幕分享畫質" @@ -30119,7 +30119,7 @@ msgid "Search language code…" msgstr "搜尋語言代碼…" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:74 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:75 msgid "Search languages…" msgstr "搜尋語言…" @@ -30552,7 +30552,7 @@ msgid "Select GIF {title}" msgstr "選取 GIF {title}" #. Button or menu action label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:78 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:79 msgid "Select interface language" msgstr "選擇介面語言" @@ -30573,7 +30573,7 @@ msgid "Select the account you want to sign in with on your new device." msgstr "選擇您想在新裝置上登入的帳號。" #. Aria label for the voice processing radio group in the voice settings tab. Keep it concise. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:119 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:120 msgid "Select voice processing mode" msgstr "選取語音處理模式" @@ -30887,7 +30887,7 @@ msgid "Sends raw mic audio with no processing." msgstr "傳送未經處理的原始麥克風音訊。" #. Description for the direct input profile option in the voice tab. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:87 msgid "Sends your audio untouched. Best if you're using external audio software." msgstr "直接傳送您的音訊。如果您使用外部音訊軟體,此為最佳選擇。" @@ -30986,7 +30986,7 @@ msgid "Set a member list position for the role" msgstr "為身分組設定成員列表中的位置" #. Video settings note shown when a streaming preset decides the screen share resolution and frame rate. preset is the Gaming or Screen share preset label, and Custom is the third preset label. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:81 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:82 msgid "Set by the {preset} preset. Picking a value here switches to Custom." msgstr "由 {preset} 預設值決定。選擇此處的值將切換至「自訂」。" @@ -31150,7 +31150,7 @@ msgid "Set the voice region to automatic" msgstr "將語音區域設為自動" #. Button that asks the Linux desktop to register system-wide shortcuts for the app. Keep it short. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:40 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:37 msgid "Set up" msgstr "設定" @@ -31307,7 +31307,7 @@ msgstr "分享給好友" msgid "Share your screen" msgstr "分享您的螢幕" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:318 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:320 msgid "Share your screen in high definition (1080p), quad HD (1440p), or native source resolution, at up to 60 FPS." msgstr "以高畫質 (1080p)、Quad HD (1440p) 或原始來源解析度分享您的螢幕,最高可達 60 FPS。" @@ -31399,7 +31399,7 @@ msgstr "短代碼" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #: src/features/user/components/modals/tabs/keybinds_tab/CustomKeybindRow.tsx:125 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:368 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:369 #: src/features/user/components/settings_utils/search_index/KeybindsIndex.ts:38 #: src/features/user/components/settings_utils/section_registry/VoiceVideoSections.ts:110 msgid "Shortcut" @@ -31407,7 +31407,7 @@ msgstr "快速鍵" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:58 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:59 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:370 msgid "Shortcut badges" msgstr "快速鍵徽章" @@ -31616,7 +31616,7 @@ msgid "Show favorite button" msgstr "顯示我的最愛按鈕" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:90 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:91 msgid "Show favorites throughout the app" msgstr "在應用程式各處顯示我的最愛" @@ -32039,7 +32039,7 @@ msgid "Sign in with your browser" msgstr "使用你的瀏覽器登入" #. Sign-in option and modal title on fluxer.com that pairs a newly installed app with the old installed app still signed in on the previous domain. productName is the app name. -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:28 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:27 msgid "Sign in with your old {productName} app" msgstr "使用舊版 {productName} 應用程式登入" @@ -32097,7 +32097,7 @@ msgid "Sign out?" msgstr "要登出嗎?" #. Title of the browser page after the user cancelled the sign-in request from the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:322 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:326 msgid "Sign-in cancelled" msgstr "登入已取消" @@ -32113,7 +32113,7 @@ msgid "Sign-in details" msgstr "登入詳細資訊" #. Accessible label for the stepped sign-in panel. -#: src/features/auth/flow/AuthLoginLayout.tsx:89 +#: src/features/auth/flow/AuthLoginLayout.tsx:88 msgid "Sign-in flow" msgstr "登入流程" @@ -32144,7 +32144,7 @@ msgid "Signing in as {name}" msgstr "以 {name} 身份登入" #. Text button in the desktop app that shows a code to type into a browser on a different device. -#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:214 +#: src/features/auth/flow/auth_login_core/AuthLoginBrowserStep.tsx:219 msgid "Signing in on another device?" msgstr "在其他裝置上登入?" @@ -32654,7 +32654,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:34 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:33 #: 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 @@ -32694,7 +32694,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:131 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:130 msgid "Something went wrong while starting checkout. Please try again in a moment." msgstr "啟動結帳時發生錯誤。請稍後再試一次。" @@ -32812,7 +32812,7 @@ msgstr "音效" #. Resolution option in the stream settings menu meaning the original source resolution (no downscale). #. Screen share resolution token in the stream info pill on the sharing tile, used when the person asked for the original source resolution and the app does not know the source size. Matches the Source option in the stream settings menu. #. Short label in the video tab for the native source resolution option. Keep it concise. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:77 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:78 #: src/features/voice/components/modals/ScreenSharePickerModal.tsx:250 #: src/features/voice/components/StreamSettingsMenuContent.tsx:111 #: src/features/voice/utils/VoiceMessageDescriptors.ts:336 @@ -32988,8 +32988,8 @@ msgstr "速度" #. Settings section label for spellcheck settings. #. Submenu label in the textarea right-click context menu for spellcheck preferences. #: src/features/channel/components/textarea/TextareaContextMenu.tsx:62 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:401 -#: src/features/user/components/modals/tabs/LanguageTab.tsx:443 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:402 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:446 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:74 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:78 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:50 @@ -32997,7 +32997,7 @@ msgid "Spellcheck" msgstr "拼字檢查" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:118 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:119 msgid "Spellcheck engine" msgstr "拼字檢查引擎" @@ -33099,7 +33099,7 @@ msgid "Star animation" msgstr "收藏動畫" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:86 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:87 msgid "Starred channels" msgstr "收藏頻道" @@ -33140,7 +33140,7 @@ msgstr "要開始語音通話嗎?" msgid "Start call" msgstr "開始通話" -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:279 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:281 msgid "Start camera test and configure effects" msgstr "開始相機測試並設定效果" @@ -33175,7 +33175,7 @@ msgid "Start minimized" msgstr "最小化啟動" #. Button on the browser page after cancelling that goes back to choosing an account. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:337 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:341 #: src/features/moderation/components/report/ReportStepDetails.tsx:389 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 @@ -33239,7 +33239,7 @@ msgid "Startup" msgstr "啟動" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:78 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:79 msgid "Static Neko" msgstr "靜態 Neko" @@ -33460,12 +33460,12 @@ msgid "Still indexing — check back in a moment" msgstr "仍在建立索引中,請稍後再查看" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:74 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:75 msgid "Still Neko" msgstr "靜止 Neko" #. Heading in the screen-share picker after the user has opened macOS screen recording settings and the permission is not active yet. -#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:31 +#: src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx:32 msgid "Still waiting for screen recording access" msgstr "仍在等待螢幕錄影權限" @@ -33494,7 +33494,7 @@ msgid "Stop mic test" msgstr "停止麥克風測試" #. Settings search entry description. One-line summary of what the setting controls. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:70 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:71 msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "停止 Neko 追蹤您的游標,同時仍可拖曳和互動。" @@ -33777,7 +33777,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:86 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:85 msgid "Subscription already exists" msgstr "您已有訂閱" @@ -33957,7 +33957,7 @@ msgstr "切換成舒適版面配置" msgid "Switch to dense layout" msgstr "切換成緊湊版面配置" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:666 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:668 msgid "Switch to direct input" msgstr "切換為直接輸入" @@ -34182,7 +34182,7 @@ msgid "System DMs cannot host voice calls." msgstr "系統私訊無法進行語音通話。" #. Label in the language tab. Preserve {format}. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:38 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:39 msgid "System locale: {format}" msgstr "系統時間格式:{format}" @@ -34218,17 +34218,17 @@ msgid "System tray" msgstr "系統匣" #. Modal title when the desktop app is installed through a system package manager such as Flatpak. -#: src/features/updater/commands/UpdaterModalCommands.tsx:70 +#: src/features/updater/commands/UpdaterModalCommands.tsx:71 msgid "System-managed install" msgstr "由系統管理的安裝" #. Settings subsection title for keyboard and mouse shortcuts that work outside the app. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:24 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:21 msgid "System-wide shortcuts" msgstr "全系統快速鍵" #. Linux settings text when setting up system-wide shortcuts failed. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:148 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:145 msgid "System-wide shortcuts could not be set up." msgstr "無法設定全系統快速鍵。" @@ -34344,7 +34344,7 @@ msgid "Tap to add a note" msgstr "輕觸以新增記事" #. Option in the Linux package format dropdown of the desktop updater modal. Keep the format token "tar.gz" verbatim and translate only the word "archive". -#: src/features/updater/commands/UpdaterModalCommands.tsx:153 +#: src/features/updater/commands/UpdaterModalCommands.tsx:154 msgid "tar.gz archive" msgstr "tar.gz 封存檔" @@ -34360,7 +34360,7 @@ msgstr "工作列徽章" msgid "Teleporting you to another voice region..." msgstr "正在將您傳送至另一個語音區域..." -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:567 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:568 msgid "Template" msgstr "範本" @@ -34649,7 +34649,7 @@ msgid "The {PRODUCT_NAME} app on your other device shows it under Signing in on msgstr "您在其他裝置上的 {PRODUCT_NAME} App 中,可以在「在其他裝置上登入」下方找到。請只輸入您控制的裝置上的驗證碼。" #. Shown after the user cancelled the sign-in request in the browser. PRODUCT_NAME is the app name, such as Fluxer. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:327 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:331 msgid "The {PRODUCT_NAME} app was not signed in. You can close this tab." msgstr "{PRODUCT_NAME} 應用程式未登入。您可以關閉此分頁。" @@ -34714,12 +34714,12 @@ msgid "The community you're looking for may have been deleted or you may not hav msgstr "您要找的社群可能已被刪除,或是您沒有權限存取。" #. Modal body shown when a desktop update download fails. -#: src/features/updater/commands/UpdaterModalCommands.tsx:108 +#: src/features/updater/commands/UpdaterModalCommands.tsx:109 msgid "The desktop update could not be downloaded. Try again from the update button when your connection is stable." msgstr "無法下載桌面版更新。請在網路連線穩定後,從更新按鈕重試。" #. Help text below the Linux package format selector in the desktop updater modal. -#: src/features/updater/commands/UpdaterModalCommands.tsx:139 +#: src/features/updater/commands/UpdaterModalCommands.tsx:140 msgid "The downloaded file is saved to your computer. Install it with your normal package manager." msgstr "下載的檔案已儲存到您的電腦。請使用您慣用的套件管理員進行安裝。" @@ -35177,7 +35177,7 @@ msgid "This category already contains the maximum of {maxChannelsPerCategory} ch msgstr "此類別已包含最多 {maxChannelsPerCategory} 個頻道。" #. Body in the channel gate modal for a mature category when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:254 +#: src/features/channel/components/MatureContentChannelGate.tsx:281 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:76 msgid "This category is marked for mature content and may contain material that may be inappropriate for some users." msgstr "此類別標示為成人內容,可能包含不適合部分使用者的內容。" @@ -35220,7 +35220,7 @@ msgid "This channel has a content warning. Updates can only go to channels with msgstr "這個頻道有內容警告。更新只能傳送到設有內容警告或年齡限制的頻道。" #. Body in the channel gate modal for a mature text channel when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:282 +#: src/features/channel/components/MatureContentChannelGate.tsx:309 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:91 msgid "This channel is marked for mature content and may contain material that may be inappropriate for some users." msgstr "此頻道標示為成人內容,可能包含不適合部分使用者的內容。" @@ -35309,7 +35309,7 @@ msgid "This community is full" msgstr "此社群已滿" #. Body in the channel gate modal for a mature community when no custom warning is set. -#: src/features/channel/components/MatureContentChannelGate.tsx:225 +#: src/features/channel/components/MatureContentChannelGate.tsx:252 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:71 msgid "This community is marked for mature content and may contain material that may be inappropriate for some users." msgstr "此社群標示為成人內容,可能包含不適合部分使用者的內容。" @@ -35324,14 +35324,14 @@ msgstr "此社群已無法使用" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:43 -#: src/features/user/components/popouts/UserProfileShared.tsx:45 +#: src/features/user/components/popouts/UserProfileShared.tsx:46 msgid "This connection has been verified." msgstr "此連結帳號已驗證。" #. Description text in the linked accounts tab. #. Description text in the user profile shared popout. #: src/features/user/components/modals/tabs/LinkedAccountsTab.tsx:47 -#: src/features/user/components/popouts/UserProfileShared.tsx:49 +#: src/features/user/components/popouts/UserProfileShared.tsx:50 msgid "This connection has not been verified." msgstr "此連結帳號尚未驗證。" @@ -35349,22 +35349,22 @@ msgid "This conversation is no longer available." msgstr "此對話已無法使用。" #. Desktop updater modal body for platforms that do not support in-app installation. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:78 +#: src/features/updater/commands/UpdaterModalCommands.tsx:79 msgid "This desktop build cannot install updates inside {productName}. Download the latest desktop installer instead." msgstr "這個桌面版本無法在 {productName} 內安裝更新。請改為下載最新的桌面安裝程式。" #. Voice settings warning on Linux desktops without system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:232 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:229 msgid "This desktop doesn't offer system-wide shortcuts. Push-to-talk only works while {productName} is focused." msgstr "此桌面環境不支援全系統快速鍵。「按住說話」僅在 {productName} 處於焦點時有效。" #. Linux settings text when the desktop has no system-wide shortcut support. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:144 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:141 msgid "This desktop doesn't offer system-wide shortcuts. Shortcuts still work while {productName} is focused." msgstr "此桌面環境不支援全系統快速鍵。快速鍵在 {productName} 處於焦點時仍可使用。" #. Desktop updater modal body for development or unpackaged builds. -#: src/features/updater/commands/UpdaterModalCommands.tsx:74 +#: src/features/updater/commands/UpdaterModalCommands.tsx:75 msgid "This development build cannot update itself. Download a desktop installer to test the update flow." msgstr "此開發版本無法自行更新。請下載桌面安裝程式以測試更新流程。" @@ -35476,7 +35476,7 @@ msgid "This image couldn't be read. It may be damaged." msgstr "這張圖片無法讀取,可能已損毀。" #. Desktop updater modal body for managed package builds such as Flatpak. productName is the app name. -#: src/features/updater/commands/UpdaterModalCommands.tsx:84 +#: src/features/updater/commands/UpdaterModalCommands.tsx:85 msgid "This install is managed by your system. Update {productName} from your software center or package manager." msgstr "這個安裝是由您的系統管理。請從您的軟體中心或套件管理器更新 {productName}。" @@ -35491,7 +35491,7 @@ msgid "This instance already uses usernames to sign in. This can no longer chang msgstr "此伺服器已改為使用使用者名稱登入,且無法再變更。" #. Neutral video settings note shown when higher screen share quality is disabled by instance limits. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:67 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:68 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "此實例目前支援最高 720p、30 FPS 的螢幕分享。" @@ -35629,33 +35629,44 @@ msgid "This link isn't valid. Open the link from your email again." msgstr "這個連結無效。請從您的電子郵件中重新開啟連結。" #. Body in the channel gate modal when the current user cannot access a mature category. +#. Body text on the mature content gate when the viewer cannot open a mature category. +#: src/features/channel/components/MatureContentChannelGate.tsx:36 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:63 msgid "This mature category is not available to your account." msgstr "您的帳號無法使用此成人內容類別。" -#: src/features/channel/components/MatureContentChannelGate.tsx:147 +#: src/features/channel/components/MatureContentChannelGate.tsx:167 msgid "This mature category is not available to your account. <0>Learn more" msgstr "您的帳號無法使用此成人內容類別。<0>瞭解詳情" #. Body in the channel gate modal when the current user cannot access a mature channel. +#. Body text on the mature content gate when the viewer cannot open a mature channel. +#: src/features/channel/components/MatureContentChannelGate.tsx:40 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:67 msgid "This mature channel is not available to your account." msgstr "您的帳號無法使用此成人頻道。" -#: src/features/channel/components/MatureContentChannelGate.tsx:169 +#: src/features/channel/components/MatureContentChannelGate.tsx:193 msgid "This mature channel is not available to your account. <0>Learn more" msgstr "您的帳號無法使用此成人頻道。<0>瞭解詳情" #. Body in the channel gate modal when the current user cannot access a mature community. +#. Body text on the mature content gate when the viewer cannot open a mature community. +#: src/features/channel/components/MatureContentChannelGate.tsx:32 #: src/features/channel/components/modals/ChannelAccessGateModal.tsx:59 msgid "This mature community is not available to your account." msgstr "您的帳號無法使用此成人社群。" -#: src/features/channel/components/MatureContentChannelGate.tsx:124 +#: src/features/channel/components/MatureContentChannelGate.tsx:140 msgid "This mature community is not available to your account. <0>Learn more" msgstr "您的帳號無法使用此成人社群。<0>瞭解詳情" -#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:106 +#. Body text in the mature media gate details modal when the viewer cannot open mature media. +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:31 +msgid "This mature media is not available to your account." +msgstr "您的帳號無法使用此成人媒體內容。" + +#: src/features/moderation/components/modals/MatureMediaGateDetailsModal.tsx:113 msgid "This mature media is not available to your account. <0>Learn more" msgstr "您的帳號無法使用此成人媒體內容。<0>瞭解詳情" @@ -35715,10 +35726,15 @@ 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:153 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:152 msgid "This plan isn't available. Contact support." msgstr "此方案無法使用。請聯絡客服。" +#. Error modal body shown on a self-hosted instance when the selected Plutonium plan has no price ID configured. +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:156 +msgid "This plan isn't available. Contact the administrators of this instance." +msgstr "此方案無法使用。請聯絡此實例的管理員。" + #: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:191 msgid "This purchase is not eligible for a refund." msgstr "此購買項目不符合退款資格。" @@ -35837,7 +35853,7 @@ msgstr "此討論串已鎖定。只有管理員可以傳送訊息。" msgid "This user has limited their profile. Some details are hidden from people who aren't their friends." msgstr "此使用者已限制個人檔案。部分詳細資訊不會顯示給非好友的使用者。" -#: src/features/user/components/popouts/UserProfileShared.tsx:395 +#: src/features/user/components/popouts/UserProfileShared.tsx:399 msgid "This user has no roles in this community." msgstr "此使用者在此社群中沒有任何身分組。" @@ -36050,14 +36066,14 @@ msgstr "時間" #. Settings search entry label. Also used as a search synonym in the settings search bar. #. Settings section label for app time display format. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:361 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:362 #: src/features/user/components/settings_utils/search_index/LanguageIndex.ts:26 #: src/features/user/components/settings_utils/section_registry/GeneralSettingsSections.ts:38 msgid "Time format" msgstr "時間格式" #. Short label in the language tab. Keep it concise. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:62 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:63 msgid "Time format selection" msgstr "時間格式選擇" @@ -36143,17 +36159,17 @@ msgid "Title bar platform" msgstr "標題列平台" #. Instructions for GNOME. Keep "Settings" and "Apps" as the GNOME menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:92 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:89 msgid "To change the keys, go to Settings > Apps > {productName}." msgstr "若要變更按鍵,請前往「設定」>「應用程式」>「{productName}」。" #. Instructions for KDE Plasma. Keep "System Settings", "Keyboard" and "Shortcuts" as the KDE menu names in your language. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:87 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:84 msgid "To change the keys, go to System Settings > Keyboard > Shortcuts > {productName}." msgstr "若要變更按鍵,請前往「系統設定」>「鍵盤」>「快捷鍵」>「{productName}」。" #. Instructions for changing system-wide shortcut keys on an unrecognized Linux desktop. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:108 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:105 msgid "To change the keys, open your desktop's keyboard shortcut settings." msgstr "若要變更按鍵,請開啟桌面環境的鍵盤快速鍵設定。" @@ -36341,7 +36357,7 @@ msgid "Toolbar" msgstr "工具列" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:54 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:55 msgid "Tooltip shortcuts" msgstr "工具提示快速鍵" @@ -36864,7 +36880,7 @@ msgstr "24 小時制" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:42 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:43 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:406 msgid "Two clicks" msgstr "輕觸兩下" @@ -37263,7 +37279,7 @@ msgstr "通用備用方案。畫質最低,但隨處可用。" #: src/features/i18n/utils/CommonMessageDescriptors.ts:770 #: src/features/invite/components/InviteListItem.tsx:36 #: src/features/moderation/components/modals/BanDetailsModal.tsx:115 -#: src/features/updater/commands/UpdaterModalCommands.tsx:127 +#: src/features/updater/commands/UpdaterModalCommands.tsx:128 msgid "Unknown" msgstr "不明" @@ -37429,7 +37445,7 @@ msgid "Unlock custom emojis in DMs with {premiumProductName}" msgstr "使用 {premiumProductName} 在私訊中解鎖自訂表情符號" #. Premium upsell title in video settings. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:59 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:60 msgid "Unlock HD screen share with {premiumProductName}" msgstr "使用 {premiumProductName} 解鎖高畫質螢幕分享" @@ -37817,7 +37833,7 @@ msgid "Up to 720p at 30 FPS" msgstr "最高 720p 30 FPS" #. Linux settings text when the installed desktop app is too old for system-wide shortcuts. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:152 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:149 msgid "Update {productName} to use system-wide shortcuts on Wayland." msgstr "請更新 {productName},以在 Wayland 上使用全系統快速鍵。" @@ -37841,7 +37857,7 @@ msgid "Update my status" msgstr "更新我的狀態" #. Button label that closes the desktop app and opens the updater to install an available update. -#: src/features/updater/commands/UpdaterModalCommands.tsx:42 +#: src/features/updater/commands/UpdaterModalCommands.tsx:43 msgid "Update now" msgstr "立即更新" @@ -38008,8 +38024,8 @@ msgstr "在此頻道上傳檔案和媒體。" #: src/features/channel/components/modals/EditGroupBottomSheet.tsx:328 #: src/features/channel/components/modals/EditGroupModal.tsx:283 -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:311 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:634 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:312 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:635 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/fields/GuildIconUploadField.tsx:130 msgid "Upload icon" msgstr "上傳圖示" @@ -38166,7 +38182,7 @@ msgid "Use {name} on {domain}" msgstr "在 {domain} 上使用 {name}" #. Plutonium subscription payment method picker button. Selects Pix as the payment method. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:44 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:43 msgid "Use {pixPaymentMethod}" msgstr "使用 {pixPaymentMethod}" @@ -38181,7 +38197,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:54 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:53 msgid "Use {upiPaymentMethod}" msgstr "使用 {upiPaymentMethod}" @@ -38219,7 +38235,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:63 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:62 msgid "Use alternative method" msgstr "使用其他方式" @@ -38245,12 +38261,12 @@ msgid "Use autoscrolling" msgstr "使用自動捲動" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:70 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:71 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:170 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:174 msgid "Use card" msgstr "使用卡片" @@ -38297,7 +38313,7 @@ msgid "Use default" msgstr "使用預設值" #. Switch label on Linux. When on, the app reads keyboard devices directly for system-wide shortcuts. Not related to the "Direct input" voice processing profile. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:157 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:154 msgid "Use direct input device access" msgstr "直接存取輸入裝置" @@ -38391,7 +38407,7 @@ msgid "Use stickers from other communities." msgstr "使用其他社群的貼圖。" #. Label in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:66 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:67 msgid "Use system locale for time format" msgstr "使用系統地區設定來顯示時間格式" @@ -38406,7 +38422,7 @@ msgid "Use the operating system's window chrome" msgstr "使用作業系統的視窗外框" #. Description for the operating-system spellcheck engine option in the language tab. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:114 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:115 msgid "Use the spellchecker built into your operating system." msgstr "使用作業系統內建的拼字檢查工具。" @@ -38452,7 +38468,7 @@ msgid "Use voice activity" msgstr "使用語音活動" #. Description for the recommended spellcheck engine option in the language tab. Preserve {productName}; it is inserted by code and must appear verbatim in the translation. -#: src/features/user/components/modals/tabs/LanguageTab.tsx:94 +#: src/features/user/components/modals/tabs/LanguageTab.tsx:95 msgid "Use your operating system's spellchecker when available. Otherwise, use {productName}'s in-app dictionaries." msgstr "使用您作業系統的拼字檢查工具(如果可用)。否則,請使用 {productName} 的應用程式內字典。" @@ -38926,7 +38942,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:67 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:66 msgid "Verify your email first" msgstr "請先驗證您的電子郵件" @@ -39244,7 +39260,7 @@ msgstr "查看詳情" msgid "View devices that are signed in to your account" msgstr "檢視已登入您帳號的裝置" -#: src/features/user/components/popouts/UserProfileShared.tsx:198 +#: src/features/user/components/popouts/UserProfileShared.tsx:199 msgid "View full profile" msgstr "查看完整個人檔案" @@ -39387,7 +39403,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:80 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:79 msgid "Visionary already includes permanent access, so a recurring subscription isn't needed. You can still buy gifts for others." msgstr "Visionary 已包含永久存取權,因此不需要重複訂閱。您仍然可以購買禮物送給其他人。" @@ -39535,7 +39551,7 @@ msgstr "語音頻道" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:26 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:27 #: src/features/user/components/settings_utils/section_registry/AppearanceSections.ts:402 msgid "Voice channel confirmation" msgstr "語音頻道確認" @@ -39546,7 +39562,7 @@ msgid "Voice channel full" msgstr "語音頻道已滿" #. Settings search entry label. Names the settings search entry in the settings UI. -#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:22 +#: src/features/user/components/settings_utils/search_index/AppearanceIndex.ts:23 msgid "Voice channel join behavior" msgstr "語音頻道加入行為" @@ -39615,7 +39631,7 @@ msgid "Voice participants" msgstr "語音參與者" #. Voice settings radio group label for microphone processing profile. -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:661 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:663 #: src/features/voice/components/voice_connection_status/AudioProcessingModal.tsx:55 msgid "Voice processing" msgstr "語音處理" @@ -39661,7 +39677,7 @@ msgstr "語音解除耳機靜音" msgid "Voice unmute" msgstr "語音取消靜音" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:590 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:592 msgid "Voice uses your system output device in this browser. Change it in your system settings." msgstr "此瀏覽器中的語音通話使用系統輸出裝置。請在系統設定中變更。" @@ -39675,7 +39691,7 @@ msgstr "已作廢" #. Settings search synonym. Used to match this term when the user types it in the settings search bar. #. Subsection title in the voice tab. Keep it concise. #: src/features/i18n/utils/CommonMessageDescriptors.ts:387 -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:179 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:180 #: src/features/user/components/settings_utils/search_index/NotificationsIndex.ts:86 #: src/features/user/components/settings_utils/section_registry/SharedDescriptors.ts:183 msgid "Volume" @@ -39723,7 +39739,7 @@ msgstr "訊息之間的間隔時間。擁有「{bypassSlowmodePermissionLabel} msgid "Waiting for connection..." msgstr "正在等待連線…" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:366 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:374 msgid "Waiting for passkey…" msgstr "正在等候通行金鑰…" @@ -39743,7 +39759,7 @@ msgid "Waiting for you to..." msgstr "等您來…" #. Status text while the Linux desktop shows its own dialog for confirming system-wide shortcuts. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:44 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:41 msgid "Waiting for your desktop…" msgstr "正在等待桌面環境…" @@ -39887,7 +39903,7 @@ msgid "We couldn't read this theme. It may be corrupted or invalid." 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:91 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:90 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} 訂閱。請前往安全帳務入口網站管理訂閱,以更新付款詳細資料或查看續訂狀態。如果您剛完成付款,請稍候一分鐘再重新開啟此頁面。" @@ -39914,7 +39930,7 @@ msgstr "我們已將此貼圖調整大小並壓縮至 320x320 像素,但它仍 msgid "We sent a code to {email}." msgstr "我們已將驗證碼傳送至 {email}。" -#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:158 +#: src/features/auth/flow/BrowserLoginHandoffModal.tsx:162 msgid "We will prefill {prefillEmail} once browser sign-in opens." msgstr "瀏覽器登入開啟後,我們會預填 {prefillEmail}。" @@ -40111,7 +40127,7 @@ msgid "Website previews" msgstr "網站預覽" #. Heading on the standard sign-in form. -#: src/features/auth/flow/AuthLoginLayout.tsx:93 +#: src/features/auth/flow/AuthLoginLayout.tsx:92 msgid "Welcome back" msgstr "歡迎回來" @@ -40321,7 +40337,7 @@ msgstr "哪些社群" msgid "Which conversations" msgstr "哪些對話" -#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:362 +#: src/features/user/components/modals/tabs/UserVoiceTab.tsx:363 msgid "While push-to-talk is on, your shortcut controls your microphone, so the mute button is disabled." msgstr "啟用「按住說話」時,您的快速鍵會控制麥克風,因此靜音按鈕會停用。" @@ -40631,7 +40647,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:161 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:165 msgid "You are now navigating to {paymentProviderName} to complete the payment. Return to {productName} once you've completed it." msgstr "您現在將前往 {paymentProviderName} 完成付款。完成後請返回 {productName}。" @@ -41052,12 +41068,12 @@ msgid "You just pressed Tab. Keyboard mode is now on so you can navigate {produc msgstr "您剛才按了 Tab 鍵。鍵盤模式現已開啟,您無需滑鼠即可瀏覽 {productName}。" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:141 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:259 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:258 msgid "You keep your perks until your next renewal date. Reactivate before then to keep your subscriber history." msgstr "您會保留福利到下一個續訂日期。請在此之前重新啟用訂閱,以保留您的訂閱者歷史記錄。" #: src/features/app/components/dialogs/components/PlutoniumContent.tsx:162 -#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:280 +#: src/features/premium/components/plutonium_page/PlutoniumPage.tsx:279 msgid "You lose all {PREMIUM_PRODUCT_NAME} perks immediately and your subscriber history resets. This cannot be undone." msgstr "您會立即失去所有 {PREMIUM_PRODUCT_NAME} 福利,且您的訂閱者歷史記錄將會重設。此動作無法復原。" @@ -41137,8 +41153,8 @@ msgstr "您需要「{permissionLabel}」權限才能在這裡使用來自其他 msgid "You need the \"{permissionLabel}\" permission to use stickers from other communities here." msgstr "您需要「{permissionLabel}」權限才能在這裡使用來自其他社群的貼圖。" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:210 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:438 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:211 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:439 msgid "You need to claim your account before you can create a community." msgstr "您必須先認領帳號,才能建立社群。" @@ -41155,8 +41171,8 @@ msgstr "您需要先認領帳號才能傳送私訊。" msgid "You need to claim your account to send messages in this community." msgstr "您必須先認領帳號,才能在這個社群傳送訊息。" -#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:235 -#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:463 +#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:236 +#: src/features/guild/components/modals/add_guild_modal/TemplateImportForm.tsx:464 msgid "You need to verify your email address before you can create a community." msgstr "您必須先驗證電子郵件地址,才能建立社群。" @@ -41170,7 +41186,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:71 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:70 msgid "You need to verify your email before you can purchase {premiumProductFullName}." msgstr "您必須先驗證電子郵件,才能購買 {premiumProductFullName}。" @@ -41214,7 +41230,7 @@ msgid "You'll appear offline" msgstr "您會顯示為離線" #. Body of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. The subscription is charged immediately and the unused gift time is appended after the paid period. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:140 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:139 msgid "You'll be charged now. Your remaining gift time is added after your paid period, so none of it is lost." msgstr "您將立即付費。剩餘的免費使用時間將加在付費方案之後,所以不會浪費。" @@ -41262,7 +41278,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:76 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:75 msgid "You're already Visionary" msgstr "您已經是 Visionary 了" @@ -41381,7 +41397,7 @@ msgid "You're sending reports too quickly. Try again later." msgstr "您傳送檢舉的速度太快了。請稍後再試。" #. Title of the browser page after the user approved signing in to the app. -#: src/features/auth/flow/HandoffApprovalFlow.tsx:282 +#: src/features/auth/flow/HandoffApprovalFlow.tsx:286 msgid "You're signed in" msgstr "您已成功登入" @@ -41500,7 +41516,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:97 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:96 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} 帳號管理訂閱,以變更方案或查看續訂狀態。" @@ -41559,10 +41575,14 @@ msgstr "您的帳號建立時間太短,無法在此社群傳送訊息。" msgid "Your account request is pending approval. You can sign in after an admin approves it." msgstr "您的帳號申請正在等待核准。管理員核准後即可登入。" -#: src/features/auth/components/modals/SudoVerificationModal.tsx:297 +#: src/features/auth/components/modals/SudoVerificationModal.tsx:304 msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact support." msgstr "您的帳號需要多重要素驗證,但此裝置上未設定任何支援的方法。請使用已設定驗證器應用程式或安全金鑰的裝置登入,或聯絡客服。" +#: src/features/auth/components/modals/SudoVerificationModal.tsx:298 +msgid "Your account requires multi-factor authentication, but no supported methods are set up on this device. Sign in on a device with your authenticator app or security key, or contact the administrators of this instance." +msgstr "您的帳號需要多重要素驗證,但此裝置上未設定任何支援的方法。請使用已設定驗證器應用程式或安全金鑰的裝置登入,或聯絡此實例的管理員。" + #. Security settings: confirmation modal body for turning off passkey-based two-factor authentication when passkeys are the only second factor on the account. #: src/features/user/components/modals/tabs/account_security_tab/SecurityTab.tsx:68 msgid "Your account will no longer be protected by two-factor authentication when you sign in with your password. You'll also lose elevated permissions in servers that require two-factor authentication." @@ -41574,10 +41594,15 @@ msgid "Your accounts and settings have not been changed or deleted." msgstr "你的帳號和設定並未變更或刪除。" #. Modal body shown when the safety system blocks the requested action. Keep plain and calm; offer support path. -#: src/features/auth/components/ContentBlockedHandler.tsx:14 +#: src/features/auth/components/ContentBlockedHandler.tsx:15 msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "您的操作未能完成,因為系統偵測到有安全疑慮。如果您認為這是錯誤,請聯絡客服。" +#. Modal body shown on a self-hosted instance when the safety system blocks the requested action. Keep plain and calm. +#: src/features/auth/components/ContentBlockedHandler.tsx:21 +msgid "Your action could not be completed because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "您的操作未能完成,因為系統偵測到有安全疑慮。如果您認為這是錯誤,請聯絡此實例的管理員。" + #. Report flow: section heading above the list of answers the reporter picked, on the summary screen. #: src/features/moderation/components/report_flow/ReportFlowCopy.ts:26 msgid "Your answers" @@ -41625,22 +41650,22 @@ msgid "Your current kit stops working as soon as the new one is created." msgstr "你目前的套件將在新套件建立後立即失效。" #. Linux settings text when the desktop dialog for system-wide shortcuts was dismissed or failed. Neutral wording, the user may not have declined anything. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:134 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:131 msgid "Your desktop didn't set up system-wide shortcuts." msgstr "桌面環境未設定全系統快速鍵。" #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME). A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:64 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:61 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them." msgstr "桌面環境會為 {productName} 保留這些按鍵,因此其他應用程式無法使用。" #. Linux settings note under the list of system-wide shortcuts the desktop runs (KDE, GNOME), shown when the "Use direct input device access" switch is offered below it. A key assigned here stops reaching every other app. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:69 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:66 msgid "Your desktop keeps these keys for {productName}, so other apps can't use them. To use the same key in other apps, turn on direct input device access below." msgstr "桌面環境會為 {productName} 保留這些按鍵,因此其他應用程式無法使用。若要在其他應用程式中使用相同按鍵,請在下方開啟「直接存取輸入裝置」。" #. Subtitle above the list of system-wide shortcuts assigned by the Linux desktop. {productName} is the app name. -#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:53 +#: src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx:50 msgid "Your desktop runs these shortcuts even while {productName} is not focused." msgstr "即使 {productName} 不在焦點,桌面環境也會執行這些快速鍵。" @@ -41729,7 +41754,7 @@ msgid "Your gift time has ended. Subscribe to keep {premiumProductName}." msgstr "您的贈送時間已到期。訂閱即可繼續享有 {premiumProductName}。" #. Title of the confirmation shown before checkout when a user with gifted premium time starts a recurring subscription. -#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:135 +#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:134 msgid "Your gift time is kept" msgstr "您的贈送時間將保留" @@ -41744,7 +41769,7 @@ msgid "Your grace period has ended." msgstr "您的寬限期已結束。" #. Critical nagbar body shown when the desktop installation appears corrupted. Keep the tone plain. -#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:13 +#: src/features/app/components/layout/app_layout/nagbars/CorruptedInstallationNagbar.tsx:14 msgid "Your installation is corrupted, and you need to reinstall the app for all functionality to work." msgstr "您的應用程式安裝已損毀,需要重新安裝才能正常使用所有功能。" @@ -41771,22 +41796,27 @@ msgid "Your last purchase is outside the refund window. Contact support for bill msgstr "您的上次購買已超出退款期限。如需處理帳務問題,請聯絡客服。" #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:82 +#: src/features/messaging/state/MessageQueue.tsx:83 msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact support." msgstr "您的訊息無法送達,因為它已被我們的安全系統標記。如果您認為這是錯誤,請聯絡客服。" +#. Message send error on a self-hosted instance when the safety system blocks the message. +#: src/features/messaging/state/MessageQueue.tsx:88 +msgid "Your message could not be delivered because it was flagged by our safety systems. If you believe this is a mistake, please contact the administrators of this instance." +msgstr "您的訊息無法送達,因為它已被我們的安全系統標記。如果您認為這是錯誤,請聯絡此實例的管理員。" + #. Label in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:69 +#: src/features/messaging/state/MessageQueue.tsx:70 msgid "Your message could not be delivered. This is usually because you don't share a community with the recipient or the recipient is only accepting direct messages from friends. You may also need to adjust your own direct message privacy settings in {directMessagePrivacySettingsPath}." msgstr "您的訊息無法送達。這通常是因為您與收件者沒有共同社群,或是收件者只接受好友的私訊。您可能也需要調整您在 {directMessagePrivacySettingsPath} 的私訊隱私設定。" #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:74 +#: src/features/messaging/state/MessageQueue.tsx:75 msgid "Your message could not be delivered. You need to claim your account to send direct messages." msgstr "您的訊息無法送達。您需要先認領帳號才能傳送私訊。" #. Description text in the message queue state. -#: src/features/messaging/state/MessageQueue.tsx:78 +#: src/features/messaging/state/MessageQueue.tsx:79 msgid "Your message could not be delivered. You need to claim your account to send messages." msgstr "您的訊息無法送達。您需要先認領帳號才能傳送訊息。" @@ -41885,7 +41915,7 @@ msgid "Your report didn't go through. Try again." msgstr "您的檢舉未成功送出。請再試一次。" #. Video settings note shown when the saved screen share quality is above what this account can send. Resolutions are short labels such as 1440p or Source and rates are whole numbers. FPS is a technical token. -#: src/features/user/components/modals/tabs/UserVideoTab.tsx:86 +#: src/features/user/components/modals/tabs/UserVideoTab.tsx:87 msgid "Your saved {savedResolution} at {savedFrameRate} FPS needs {premiumProductName}, so shares use {resolution} at {frameRate} FPS." msgstr "你儲存的 {savedResolution} @ {savedFrameRate} FPS 需要 {premiumProductName},因此分享會使用 {resolution} @ {frameRate} FPS。" diff --git a/fluxer_app/src/features/input/components/modals/KeyboardModeIntroModal.tsx b/fluxer_app/src/features/input/components/modals/KeyboardModeIntroModal.tsx index feb50c538..491861c3c 100644 --- a/fluxer_app/src/features/input/components/modals/KeyboardModeIntroModal.tsx +++ b/fluxer_app/src/features/input/components/modals/KeyboardModeIntroModal.tsx @@ -1,7 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import * as Modal from '@app/features/app/components/dialogs/Modal'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import styles from '@app/features/input/components/modals/KeyboardModeIntroModal.module.css'; import {SHIFT_KEY_DESCRIPTOR} from '@app/features/input/utils/KeyboardUtils'; import * as ModalCommands from '@app/features/ui/commands/ModalCommands'; @@ -57,7 +57,7 @@ export function KeyboardModeIntroModal() {

- {i18n._(YOU_JUST_PRESSED_TAB_KEYBOARD_MODE_IS_NOW_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(YOU_JUST_PRESSED_TAB_KEYBOARD_MODE_IS_NOW_DESCRIPTOR, {productName: RuntimeConfig.productName})}

  • diff --git a/fluxer_app/src/features/input/state/InputKeybind.ts b/fluxer_app/src/features/input/state/InputKeybind.ts index 7a2644926..742e3ab85 100644 --- a/fluxer_app/src/features/input/state/InputKeybind.ts +++ b/fluxer_app/src/features/input/state/InputKeybind.ts @@ -1,6 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import type {HoldAction} from '@app/features/app/keybindings/utils/RuntimeKeybinds'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {COPY_TEXT_DESCRIPTOR, DELETE_MESSAGE_DESCRIPTOR} from '@app/features/i18n/utils/CommonMessageDescriptors'; import GlobalShortcuts from '@app/features/input/state/GlobalShortcuts'; import {HoldSources} from '@app/features/input/state/HoldSources'; @@ -683,12 +684,16 @@ const getDefaultKeybinds = ( assignable: true, section: 'voice_and_video', }, - { - action: 'misc_help', - label: i18n._(OPEN_HELP_DESCRIPTOR), - combo: {key: 'h', ctrlOrMeta: true, shift: true}, - section: 'misc', - }, + ...(RuntimeConfig.getSnapshotOrNull()?.features.self_hosted + ? [] + : [ + { + action: 'misc_help', + label: i18n._(OPEN_HELP_DESCRIPTOR), + combo: {key: 'h', ctrlOrMeta: true, shift: true}, + section: 'misc', + } as const, + ]), { action: 'misc_search', label: i18n._(SEARCH_MESSAGES_DESCRIPTOR), diff --git a/fluxer_app/src/features/messaging/components/alerts/AttachmentUploadConnectivityModal.tsx b/fluxer_app/src/features/messaging/components/alerts/AttachmentUploadConnectivityModal.tsx index 38be2fc8e..e2b5a54dc 100644 --- a/fluxer_app/src/features/messaging/components/alerts/AttachmentUploadConnectivityModal.tsx +++ b/fluxer_app/src/features/messaging/components/alerts/AttachmentUploadConnectivityModal.tsx @@ -2,11 +2,11 @@ import {GenericErrorModal} from '@app/features/app/components/alerts/GenericErrorModal'; import {ExternalLink} from '@app/features/app/components/shared/ExternalLink'; -import {PRODUCT_NAME, SUPPORT_EMAIL, SUPPORT_EMAIL_MAILTO} from '@app/features/app/config/I18nDisplayConstants'; +import {SUPPORT_EMAIL, SUPPORT_EMAIL_MAILTO} from '@app/features/app/config/I18nDisplayConstants'; import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {MULTIPART_ATTACHMENT_FALLBACK_MAX_REQUEST_SIZE} from '@app/features/messaging/utils/AttachmentUploadFallbackUtils'; import {formatFileSize} from '@app/features/messaging/utils/FileUtils'; -import {msg} from '@lingui/core/macro'; +import {msg, ph} from '@lingui/core/macro'; import {Trans, useLingui} from '@lingui/react/macro'; import {observer} from 'mobx-react-lite'; @@ -23,16 +23,16 @@ export const AttachmentUploadConnectivityModal = observer(() => { message={ RuntimeConfig.isSelfHosted() ? ( - We couldn't reach the attachment upload service. {PRODUCT_NAME} can fall back to the standard upload path - for messages up to {fallbackSizeFormatted} total, but these attachments exceed that combined limit and can't - be sent until connectivity is restored. Try again later or contact the administrators of this instance if - this keeps happening. + We couldn't reach the attachment upload service. {ph({PRODUCT_NAME: RuntimeConfig.productName})} can fall + back to the standard upload path for messages up to {fallbackSizeFormatted} total, but these attachments + exceed that combined limit and can't be sent until connectivity is restored. Try again later or contact the + administrators of this instance if this keeps happening. ) : ( - We couldn't reach the attachment upload service. {PRODUCT_NAME} can fall back to the standard upload path - for messages up to {fallbackSizeFormatted} total, but these attachments exceed that combined limit and can't - be sent until connectivity is restored. Try again later or contact{' '} + We couldn't reach the attachment upload service. {ph({PRODUCT_NAME: RuntimeConfig.productName})} can fall + back to the standard upload path for messages up to {fallbackSizeFormatted} total, but these attachments + exceed that combined limit and can't be sent until connectivity is restored. Try again later or contact{' '} { const {i18n} = useLingui(); + const learnMoreUrl = HelpCenterUtils.getURL(HelpCenterArticleSlug.ChangeDateOfBirth); const handleClose = useCallback(() => { ModalCommands.pop(); }, []); @@ -103,15 +109,16 @@ export const MatureMediaGateDetailsModal = observer(({reason}: MatureMediaGateDe - - This mature media is not available to your account.{' '} - - Learn more - - + {learnMoreUrl ? ( + + This mature media is not available to your account.{' '} + + Learn more + + + ) : ( + i18n._(MATURE_MEDIA_NOT_AVAILABLE_DESCRIPTOR) + )} diff --git a/fluxer_app/src/features/permissions/system/components/MediaPermissionBlockedModal.tsx b/fluxer_app/src/features/permissions/system/components/MediaPermissionBlockedModal.tsx index 43329e2d7..7e4703359 100644 --- a/fluxer_app/src/features/permissions/system/components/MediaPermissionBlockedModal.tsx +++ b/fluxer_app/src/features/permissions/system/components/MediaPermissionBlockedModal.tsx @@ -1,7 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import {GenericErrorModal} from '@app/features/app/components/alerts/GenericErrorModal'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {isDesktop} from '@app/features/ui/utils/NativeUtils'; import {msg} from '@lingui/core/macro'; import {useLingui} from '@lingui/react/macro'; @@ -75,7 +75,7 @@ export const MediaPermissionBlockedModal = observer(({kind}: {kind: MediaPermiss return ( ); diff --git a/fluxer_app/src/features/platform/state/__fixtures__/RuntimeBootstrapFixture.ts b/fluxer_app/src/features/platform/state/__fixtures__/RuntimeBootstrapFixture.ts index eeb7c03de..245f51447 100644 --- a/fluxer_app/src/features/platform/state/__fixtures__/RuntimeBootstrapFixture.ts +++ b/fluxer_app/src/features/platform/state/__fixtures__/RuntimeBootstrapFixture.ts @@ -26,7 +26,7 @@ export const BOOTSTRAP_APP_PUBLIC: InstanceAppPublic = { premium_info_url: null, }, setup: {configured: true, admin_url: null}, - legal: {terms_url: null, privacy_url: null}, + legal: {terms_url: null, privacy_url: null, guidelines_url: null}, registration: {collect_date_of_birth: true}, }; diff --git a/fluxer_app/src/features/premium/components/plutonium_page/PlutoniumPage.tsx b/fluxer_app/src/features/premium/components/plutonium_page/PlutoniumPage.tsx index b7913998b..2310eb3d7 100644 --- a/fluxer_app/src/features/premium/components/plutonium_page/PlutoniumPage.tsx +++ b/fluxer_app/src/features/premium/components/plutonium_page/PlutoniumPage.tsx @@ -12,7 +12,6 @@ import {useSubscriptionStatus} from '@app/features/app/components/dialogs/compon import {PurchaseHistorySection} from '@app/features/app/components/dialogs/components/plutonium/PurchaseHistorySection'; import {SelfServeRefundSection} from '@app/features/app/components/dialogs/components/plutonium/SelfServeRefundSection'; import {SubscriptionCard} from '@app/features/app/components/dialogs/components/plutonium/SubscriptionCard'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; import GeoIP from '@app/features/app/state/GeoIP'; import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import Guilds from '@app/features/guild/state/Guilds'; @@ -362,10 +361,17 @@ export const PlutoniumPage = observer(function PlutoniumPage() { ? i18n._(CLOSING_GIFT_BODY_DESCRIPTOR) : i18n._(CLOSING_BODY_DESCRIPTOR); const showDonationHint = !RuntimeConfig.isSelfHosted(); - const donationTemplate = i18n._(DONATION_HINT_DESCRIPTOR, {productName: PRODUCT_NAME, donateLink: '\u0000'}); + const donationTemplate = i18n._(DONATION_HINT_DESCRIPTOR, { + productName: RuntimeConfig.productName, + donateLink: '\u0000', + }); const [donationBefore, donationAfter] = splitTemplate(donationTemplate, '\u0000'); - const footnoteTemplate = i18n._(TAG_FOOTNOTE_DESCRIPTOR, {productName: PRODUCT_NAME, visionaryLink: '\u0000'}); + const footnoteTemplate = i18n._(TAG_FOOTNOTE_DESCRIPTOR, { + productName: RuntimeConfig.productName, + visionaryLink: '\u0000', + }); const [footnoteBefore, footnoteAfter] = splitTemplate(footnoteTemplate, '\u0000'); + const visionaryHelpUrl = Routes.helpArticle('visionary'); const secondaryLinks = (
    {giftPurchasesAvailable && ( @@ -701,17 +707,23 @@ export const PlutoniumPage = observer(function PlutoniumPage() { {!RuntimeConfig.usesUniqueUsernames && (

    {`* ${footnoteBefore}`} - - + {visionaryHelpUrl ? ( + + + {i18n._(TAG_FOOTNOTE_LINK_DESCRIPTOR)} + + + ) : ( + {i18n._(TAG_FOOTNOTE_LINK_DESCRIPTOR)} - - + + )} {footnoteAfter}

    )} diff --git a/fluxer_app/src/features/search/components/modals/SearchProviderPickerModal.tsx b/fluxer_app/src/features/search/components/modals/SearchProviderPickerModal.tsx index ee58e3236..54491cab7 100644 --- a/fluxer_app/src/features/search/components/modals/SearchProviderPickerModal.tsx +++ b/fluxer_app/src/features/search/components/modals/SearchProviderPickerModal.tsx @@ -1,7 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import * as Modal from '@app/features/app/components/dialogs/Modal'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {CANCEL_DESCRIPTOR, TRANSLATE_DESCRIPTOR} from '@app/features/i18n/utils/CommonMessageDescriptors'; import Translation from '@app/features/messaging/state/Translation'; import ReverseImageSearch from '@app/features/search/state/ReverseImageSearch'; @@ -10,7 +10,7 @@ import {Button} from '@app/features/ui/button/Button'; import * as ModalCommands from '@app/features/ui/commands/ModalCommands'; import {Combobox, type ComboboxOption} from '@app/features/ui/components/form/FormCombobox'; import {formatUserSettingsPath} from '@app/features/user/components/settings_utils/SettingsConstants'; -import {msg} from '@lingui/core/macro'; +import {msg, ph} from '@lingui/core/macro'; import {Trans, useLingui} from '@lingui/react/macro'; import {observer} from 'mobx-react-lite'; import type React from 'react'; @@ -93,18 +93,18 @@ export const SearchProviderPickerModal: React.FC : i18n._(PICK_A_WEB_SEARCH_PROVIDER_DESCRIPTOR); const description = isImageMode ? ( - Choose where {PRODUCT_NAME} should send images for reverse image search. We'll remember your pick. You can change - it or add your own provider later in {searchEnginesSettingsPath}. + Choose where {ph({PRODUCT_NAME: RuntimeConfig.productName})} should send images for reverse image search. We'll + remember your pick. You can change it or add your own provider later in {searchEnginesSettingsPath}. ) : isTranslateMode ? ( - Choose where {PRODUCT_NAME} should send highlighted text for translation. We'll remember your pick. You can change - it or add your own provider later in {searchEnginesSettingsPath}. + Choose where {ph({PRODUCT_NAME: RuntimeConfig.productName})} should send highlighted text for translation. We'll + remember your pick. You can change it or add your own provider later in {searchEnginesSettingsPath}. ) : ( - Choose where {PRODUCT_NAME} should search highlighted text. We'll remember your pick. You can change it or add - your own provider later in {searchEnginesSettingsPath}. + Choose where {ph({PRODUCT_NAME: RuntimeConfig.productName})} should search highlighted text. We'll remember your + pick. You can change it or add your own provider later in {searchEnginesSettingsPath}. ); const selectLabel = isImageMode diff --git a/fluxer_app/src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx b/fluxer_app/src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx index 4b58aeb6e..71af7159a 100644 --- a/fluxer_app/src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx +++ b/fluxer_app/src/features/theme_studio/sections/ThemeStudioSettingsSection.tsx @@ -3,8 +3,8 @@ import * as AccessibilityCommands from '@app/features/accessibility/commands/AccessibilityCommands'; import Accessibility from '@app/features/accessibility/state/Accessibility'; import {ConfirmModal} from '@app/features/app/components/dialogs/ConfirmModal'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; import {useNativePlatform} from '@app/features/app/hooks/useNativePlatform'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {CANCEL_DESCRIPTOR} from '@app/features/i18n/utils/CommonMessageDescriptors'; import {ShareThemeModal} from '@app/features/theme/components/modals/ShareThemeModal'; import {remFromPx} from '@app/features/theme/layout/RemFromPx'; @@ -138,7 +138,7 @@ export const SettingsSection: React.FC = observer(() => { ModalCommands.push( modal(() => ( void | Promise ( { @@ -236,7 +237,7 @@ function ManualUpdateAvailableModal({currentVersion, version, options, onDownloa description={

    - {i18n._(LINUX_PACKAGE_UPDATE_INTRO_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(LINUX_PACKAGE_UPDATE_INTRO_DESCRIPTOR, {productName: RuntimeConfig.productName})}

    @@ -319,7 +320,7 @@ export function pushUnsupportedUpdateModal( return ( { @@ -342,7 +343,7 @@ export function pushUnsupportedUpdateModal( description={ reason === 'unpackaged' ? i18n._(DEVELOPMENT_BUILD_UPDATE_BODY_DESCRIPTOR) - : i18n._(MANUAL_UPDATE_BODY_DESCRIPTOR, {productName: PRODUCT_NAME}) + : i18n._(MANUAL_UPDATE_BODY_DESCRIPTOR, {productName: RuntimeConfig.productName}) } primaryText={i18n._(OPEN_DESKTOP_DOWNLOADS_DESCRIPTOR)} secondaryText={i18n._(LATER_DESCRIPTOR)} @@ -374,7 +375,7 @@ function pushUpdaterErrorModal(getTitle: () => string, getDescription: () => str export function pushUpdateCheckFailedModal(): void { pushUpdaterErrorModal( () => i18n._(UPDATE_CHECK_FAILED_DESCRIPTOR), - () => i18n._(UPDATE_CHECK_FAILED_BODY_DESCRIPTOR, {productName: PRODUCT_NAME}), + () => i18n._(UPDATE_CHECK_FAILED_BODY_DESCRIPTOR, {productName: RuntimeConfig.productName}), ); } diff --git a/fluxer_app/src/features/updater/utils/LinuxManualUpdateOptions.ts b/fluxer_app/src/features/updater/utils/LinuxManualUpdateOptions.ts index 478166f9a..c1b8623b7 100644 --- a/fluxer_app/src/features/updater/utils/LinuxManualUpdateOptions.ts +++ b/fluxer_app/src/features/updater/utils/LinuxManualUpdateOptions.ts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import {CANARY_RELEASE_CHANNEL_NAME, PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import type {UpdaterDownloadFormat, UpdaterDownloadOption} from '@app/features/platform/types/Electron'; type LinuxManualDownloadFormat = Extract; @@ -144,7 +144,7 @@ function buildLinuxDownloadUrl(params: { } function getModernProductName(channel: DesktopDownloadChannel): string { - return channel === 'canary' ? CANARY_RELEASE_CHANNEL_NAME : PRODUCT_NAME; + return channel === 'canary' ? `${RuntimeConfig.productName} Canary` : RuntimeConfig.productName; } function getSuggestedName( diff --git a/fluxer_app/src/features/user/components/modals/tabs/DesktopSettingsTab.tsx b/fluxer_app/src/features/user/components/modals/tabs/DesktopSettingsTab.tsx index 8510ac96a..f0cdb969a 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/DesktopSettingsTab.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/DesktopSettingsTab.tsx @@ -3,7 +3,7 @@ import {ConfirmModal} from '@app/features/app/components/dialogs/ConfirmModal'; import {SettingsSection} from '@app/features/app/components/dialogs/shared/SettingsSection'; import {SettingsTabContainer} from '@app/features/app/components/dialogs/shared/SettingsTabLayout'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {MacPermissionsSettingsRow} from '@app/features/permissions/system/components/MacPermissionsSettingsRow'; import { getAutostartStatus, @@ -125,7 +125,7 @@ const DesktopSettingsTab: React.FC = observer(() => { ModalCommands.push( modal(() => ( Tray icon changes only apply after a restart on Linux because the system tray protocol doesn't reliably @@ -153,7 +153,7 @@ const DesktopSettingsTab: React.FC = observer(() => { > {isDesktop() && ( { label={isMac ? Show menu bar icon : Show system tray icon} description={ trayChangePendingRestart && isLinux - ? i18n._(RESTART_PRODUCT_FOR_TRAY_CHANGE_DESCRIPTOR, {productName: PRODUCT_NAME}) + ? i18n._(RESTART_PRODUCT_FOR_TRAY_CHANGE_DESCRIPTOR, {productName: RuntimeConfig.productName}) : undefined } value={desktopWindowBehavior.showTrayIcon} diff --git a/fluxer_app/src/features/user/components/modals/tabs/LanguageTab.tsx b/fluxer_app/src/features/user/components/modals/tabs/LanguageTab.tsx index a09169877..2f3603a91 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/LanguageTab.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/LanguageTab.tsx @@ -9,7 +9,8 @@ import { SettingsTabSection, } from '@app/features/app/components/dialogs/shared/SettingsTabLayout'; import {ExternalLink} from '@app/features/app/components/shared/ExternalLink'; -import {I18N_WEBLATE_DOMAIN, I18N_WEBLATE_URL, PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import {I18N_WEBLATE_DOMAIN, I18N_WEBLATE_URL} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import * as EmojiUtils from '@app/features/expressions/utils/EmojiUtils'; import Spellcheck from '@app/features/messaging/state/Spellcheck'; import type {SpellcheckEngine} from '@app/features/platform/types/Electron'; @@ -27,7 +28,7 @@ import * as LocaleUtils from '@app/features/user/utils/LocaleUtils'; import {TimeFormatTypes} from '@fluxer/constants/src/UserConstants'; import {getFormattedTime} from '@fluxer/date_utils/src/DateFormatting'; import {localeUses12Hour} from '@fluxer/date_utils/src/DateHourCycle'; -import {msg} from '@lingui/core/macro'; +import {msg, ph} from '@lingui/core/macro'; import {Trans, useLingui} from '@lingui/react/macro'; import {clsx} from 'clsx'; import {observer} from 'mobx-react-lite'; @@ -346,7 +347,7 @@ const LanguageTab = observer(() => {

    - Help translate {PRODUCT_NAME} into your language on{' '} + Help translate {ph({PRODUCT_NAME: RuntimeConfig.productName})} into your language on{' '} {I18N_WEBLATE_DOMAIN} @@ -414,12 +415,14 @@ const SpellcheckSettingsSection = observer(() => { { value: 'auto', name: i18n._(RECOMMENDED_DESCRIPTOR), - desc: i18n._(USE_THE_IN_APP_HUNSPELL_ENGINE_WHEN_A_DESCRIPTOR, {productName: PRODUCT_NAME}), + desc: i18n._(USE_THE_IN_APP_HUNSPELL_ENGINE_WHEN_A_DESCRIPTOR, {productName: RuntimeConfig.productName}), }, { value: 'hunspell', name: i18n._(IN_APP_HUNSPELL_DESCRIPTOR), - desc: i18n._(ALWAYS_USE_S_HUNSPELL_DICTIONARIES_DOWNLOADED_ON_DEMAND_DESCRIPTOR, {productName: PRODUCT_NAME}), + desc: i18n._(ALWAYS_USE_S_HUNSPELL_DICTIONARIES_DOWNLOADED_ON_DEMAND_DESCRIPTOR, { + productName: RuntimeConfig.productName, + }), }, { value: 'system', @@ -469,8 +472,9 @@ const SpellcheckSettingsSection = observer(() => { data-flx="user.language-tab.spellcheck-settings-section.spellcheck-restart-banner" > - Reload {PRODUCT_NAME} to fully apply the engine change. Switching between in-app and system spellcheck - requires a renderer reload because Electron can't swap providers while running. + Reload {ph({PRODUCT_NAME: RuntimeConfig.productName})} to fully apply the engine change. Switching + between in-app and system spellcheck requires a renderer reload because Electron can't swap providers + while running. {' '}

    )} diff --git a/fluxer_app/src/features/user/components/modals/tabs/LinkedAccountsTab.tsx b/fluxer_app/src/features/user/components/modals/tabs/LinkedAccountsTab.tsx index f39f579b0..1ccfaf44a 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/LinkedAccountsTab.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/LinkedAccountsTab.tsx @@ -7,7 +7,7 @@ import {StatusSlate} from '@app/features/app/components/dialogs/shared/StatusSla import {computeVerticalDropPosition} from '@app/features/app/components/layout/dnd/DndDropPosition'; import type {ConnectionDragItem} from '@app/features/app/components/layout/types/DndTypes'; import {DragItemType} from '@app/features/app/components/layout/types/DndTypes'; -import {BLUESKY_PROVIDER_NAME, PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import {BLUESKY_PROVIDER_NAME} from '@app/features/app/config/I18nDisplayConstants'; import {useMergeRefs} from '@app/features/app/hooks/useMergeRefs'; import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import * as ConnectionCommands from '@app/features/connection/commands/ConnectionCommands'; @@ -29,7 +29,7 @@ import {useDragAutoScroll} from '@app/features/ui/hooks/useDragAutoScroll'; import {Tooltip} from '@app/features/ui/tooltip/Tooltip'; import styles from '@app/features/user/components/modals/tabs/LinkedAccountsTab.module.css'; import {type ConnectionType, ConnectionTypes} from '@fluxer/constants/src/ConnectionConstants'; -import {msg} from '@lingui/core/macro'; +import {msg, ph} from '@lingui/core/macro'; import {Trans, useLingui} from '@lingui/react/macro'; import {DotsSixVerticalIcon, GlobeSimpleIcon, PencilSimpleIcon, TrashIcon, UserListIcon} from '@phosphor-icons/react'; import {clsx} from 'clsx'; @@ -379,8 +379,8 @@ const LinkedAccountsTab: React.FC = observer(() => { title={i18n._(CONNECTIONS_DESCRIPTOR)} description={ - Link external accounts and domains to your {PRODUCT_NAME} profile. Verified connections will be displayed - on your profile for others to see. + Link external accounts and domains to your {ph({PRODUCT_NAME: RuntimeConfig.productName})} profile. + Verified connections will be displayed on your profile for others to see. } data-flx="user.linked-accounts-tab.connections" diff --git a/fluxer_app/src/features/user/components/modals/tabs/UserVideoTab.tsx b/fluxer_app/src/features/user/components/modals/tabs/UserVideoTab.tsx index 30ad90ba9..1a6968f37 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/UserVideoTab.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/UserVideoTab.tsx @@ -1,6 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; + import {GET_PREMIUM_DESCRIPTOR} from '@app/features/i18n/utils/CommonMessageDescriptors'; import {ComponentBus} from '@app/features/platform/utils/ComponentBus'; import * as PremiumModalCommands from '@app/features/premium/commands/PremiumModalCommands'; @@ -37,7 +38,7 @@ import {buildSettingsDeviceOptions} from '@app/features/voice/utils/SettingsDevi import {hasHigherVideoQuality} from '@app/features/voice/utils/VideoQualityEntitlement'; import {resolveEffectiveDeviceId} from '@app/features/voice/utils/VoiceDeviceManager'; import type {I18n} from '@lingui/core'; -import {msg} from '@lingui/core/macro'; +import {msg, ph} from '@lingui/core/macro'; import {Trans, useLingui} from '@lingui/react/macro'; import {CrownIcon, GearIcon} from '@phosphor-icons/react'; import {observer} from 'mobx-react-lite'; @@ -227,13 +228,14 @@ export const VideoTab: React.FC = observer(

    {permissionStatus === 'denied' ? ( - - Allow {PRODUCT_NAME} to access your camera in System Settings → Privacy & Security → Camera. + + Allow {ph({PRODUCT_NAME: RuntimeConfig.productName})} to access your camera in System Settings → + Privacy & Security → Camera. ) : permissionStatus === 'granted' ? ( Connect a camera and try again. ) : ( - i18n._(PRODUCT_NEEDS_CAMERA_ACCESS_DESCRIPTOR, {productName: PRODUCT_NAME}) + i18n._(PRODUCT_NEEDS_CAMERA_ACCESS_DESCRIPTOR, {productName: RuntimeConfig.productName}) )}

    diff --git a/fluxer_app/src/features/user/components/modals/tabs/UserVoiceTab.tsx b/fluxer_app/src/features/user/components/modals/tabs/UserVoiceTab.tsx index 18cd61854..c7cda15ca 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/UserVoiceTab.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/UserVoiceTab.tsx @@ -2,7 +2,8 @@ import {ConfirmModal} from '@app/features/app/components/dialogs/ConfirmModal'; import {SettingsTabSection} from '@app/features/app/components/dialogs/shared/SettingsTabLayout'; -import {DESKTOP_DOWNLOAD_URL, PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import {DESKTOP_DOWNLOAD_URL} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {getCachedNumberFormat} from '@app/features/i18n/utils/IntlCache'; import {KeybindRecorder} from '@app/features/input/components/KeybindRecorder'; import Keybind, {getDefaultKeybind} from '@app/features/input/state/InputKeybind'; @@ -65,7 +66,7 @@ import { } from '@app/features/voice/utils/VoiceMessageDescriptors'; import type {VoiceProcessingMode} from '@app/features/voice/utils/VoiceProcessingProfile'; import {VOICE_VOLUME_MAX_PERCENT} from '@app/features/voice/utils/VoiceVolumeUtils'; -import {msg} from '@lingui/core/macro'; +import {msg, ph} from '@lingui/core/macro'; import {Trans, useLingui} from '@lingui/react/macro'; import {observer} from 'mobx-react-lite'; import type React from 'react'; @@ -315,8 +316,8 @@ export const VoiceTab: React.FC = observer(({voiceSettings, autoR description={

    - In a browser, push-to-talk only works while the {PRODUCT_NAME} tab is focused. Install the desktop app - for system-wide push-to-talk. + In a browser, push-to-talk only works while the {ph({PRODUCT_NAME: RuntimeConfig.productName})} tab is + focused. Install the desktop app for system-wide push-to-talk.

    } @@ -437,7 +438,7 @@ export const VoiceTab: React.FC = observer(({voiceSettings, autoR {!isNativeDesktop ? i18n._(PUSH_TO_TALK_BROWSER_LIMITED_DESCRIPTION_DESCRIPTOR) : i18n._(PUSH_TO_TALK_PERMISSION_LIMITED_DESCRIPTION_DESCRIPTOR, { - productName: PRODUCT_NAME, + productName: RuntimeConfig.productName, permissionName: i18n._(macPermissionNameDescriptor('input-monitoring')), })} @@ -543,19 +544,20 @@ export const VoiceTab: React.FC = observer(({voiceSettings, autoR

    {permissionStatus === 'denied' ? ( isNativeDesktop ? ( - - Allow {PRODUCT_NAME} to access your microphone in System Settings → Privacy & Security → - Microphone. + + Allow {ph({PRODUCT_NAME: RuntimeConfig.productName})} to access your microphone in System Settings + → Privacy & Security → Microphone. ) : ( - Allow {PRODUCT_NAME} to access your microphone. Check your browser's address bar or settings. + Allow {ph({PRODUCT_NAME: RuntimeConfig.productName})} to access your microphone. Check your + browser's address bar or settings. ) ) : permissionStatus === 'granted' ? ( Connect a microphone and try again. ) : ( - i18n._(PRODUCT_NEEDS_MICROPHONE_ACCESS_DESCRIPTOR, {productName: PRODUCT_NAME}) + i18n._(PRODUCT_NEEDS_MICROPHONE_ACCESS_DESCRIPTOR, {productName: RuntimeConfig.productName}) )}

    @@ -669,8 +671,9 @@ export const VoiceTab: React.FC = observer(({voiceSettings, autoR data-flx="user.voice-tab.warning-alert" > - Looks like you're using {externalProcessor.name}. Stacking {PRODUCT_NAME}'s processing on top can cause - pumping or distortion. Direct input passes your audio through untouched. + Looks like you're using {externalProcessor.name}. Stacking{' '} + {ph({PRODUCT_NAME: RuntimeConfig.productName})}'s processing on top can cause pumping or distortion. + Direct input passes your audio through untouched. )} diff --git a/fluxer_app/src/features/user/components/modals/tabs/accessibility_tab/AnimationTab.tsx b/fluxer_app/src/features/user/components/modals/tabs/accessibility_tab/AnimationTab.tsx index 3857b495f..0bd580a79 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/accessibility_tab/AnimationTab.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/accessibility_tab/AnimationTab.tsx @@ -3,7 +3,7 @@ import * as AccessibilityCommands from '@app/features/accessibility/commands/AccessibilityCommands'; import Accessibility from '@app/features/accessibility/state/Accessibility'; import {resolveMotionPreferencesModel} from '@app/features/accessibility/state/MotionPreferencesMachine'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {Switch} from '@app/features/ui/components/form/FormSwitch'; import type {RadioOption} from '@app/features/ui/radio_group/RadioGroup'; import {RadioGroup} from '@app/features/ui/radio_group/RadioGroup'; @@ -165,7 +165,7 @@ export const AnimationTabContent: React.FC = observer(() => { label={ mobileLayout.enabled ? i18n._(AUTOMATICALLY_PLAY_GIFS_DESCRIPTOR) - : i18n._(AUTOMATICALLY_PLAY_GIFS_WHEN_IS_FOCUSED_DESCRIPTOR, {productName: PRODUCT_NAME}) + : i18n._(AUTOMATICALLY_PLAY_GIFS_WHEN_IS_FOCUSED_DESCRIPTOR, {productName: RuntimeConfig.productName}) } description={gifDescription()} value={motion.effectiveGifAutoPlay} diff --git a/fluxer_app/src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx b/fluxer_app/src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx index 4d3b10bdc..61620d5a2 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedAccessibilityControls.tsx @@ -3,7 +3,7 @@ import * as AccessibilityCommands from '@app/features/accessibility/commands/AccessibilityCommands'; import Accessibility from '@app/features/accessibility/state/Accessibility'; import {ConfirmModal} from '@app/features/app/components/dialogs/ConfirmModal'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import * as ModalCommands from '@app/features/ui/commands/ModalCommands'; import {modal} from '@app/features/ui/commands/ModalCommands'; import {Switch} from '@app/features/ui/components/form/FormSwitch'; @@ -15,7 +15,7 @@ import { setDesktopWindowBehaviorSettings, } from '@app/features/ui/utils/DesktopWindowBehaviorUtils'; import type {DesktopWindowBehaviorSettings} from '@app/types/electron.d'; -import {msg} from '@lingui/core/macro'; +import {msg, ph} from '@lingui/core/macro'; import {Trans, useLingui} from '@lingui/react/macro'; import {observer} from 'mobx-react-lite'; import {useCallback, useLayoutEffect, useState} from 'react'; @@ -106,10 +106,11 @@ function useChromiumScrollingRestartModal() { ModalCommands.push( modal(() => ( - {PRODUCT_NAME} needs to restart before Chromium's native scrolling settings change how scrolling works. + {ph({PRODUCT_NAME: RuntimeConfig.productName})} needs to restart before Chromium's native scrolling + settings change how scrolling works.
    } primaryText={i18n._(RESTART_NOW_DESCRIPTOR)} diff --git a/fluxer_app/src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx b/fluxer_app/src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx index 7f91cd8c8..d2ba976b7 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx @@ -1,7 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import {ConfirmModal} from '@app/features/app/components/dialogs/ConfirmModal'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import { getCachedDesktopTroubleshootingSettings, getDesktopTroubleshootingSettings, @@ -21,7 +21,7 @@ import { } from '@app/features/ui/utils/DesktopWindowBehaviorUtils'; import {getElectronAPI} from '@app/features/ui/utils/NativeUtils'; import type {DesktopTroubleshootingSettings, DesktopWindowBehaviorSettings} from '@app/types/electron.d'; -import {msg} from '@lingui/core/macro'; +import {msg, ph} from '@lingui/core/macro'; import {Trans, useLingui} from '@lingui/react/macro'; import {observer} from 'mobx-react-lite'; import {useCallback, useLayoutEffect, useState} from 'react'; @@ -162,8 +162,13 @@ export const NativeTitleBarControl = observer(() => { ModalCommands.push( modal(() => ( {PRODUCT_NAME} needs to restart for the title bar change to take effect.} + title={i18n._(RESTART_PRODUCT_DESCRIPTOR, {productName: RuntimeConfig.productName})} + description={ + + {ph({PRODUCT_NAME: RuntimeConfig.productName})} needs to restart for the title bar change to take + effect. + + } primaryText={i18n._(RESTART_NOW_DESCRIPTOR)} primaryVariant="primary" secondaryText={i18n._(LATER_DESCRIPTOR)} @@ -206,11 +211,14 @@ export const HardwareAccelerationControl = observer(() => { } description={ value ? ( - {PRODUCT_NAME} needs to restart for hardware acceleration to take effect. + + {ph({PRODUCT_NAME: RuntimeConfig.productName})} needs to restart for hardware acceleration to take + effect. + ) : ( - {PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're - troubleshooting graphics glitches or high GPU usage. + {ph({PRODUCT_NAME: RuntimeConfig.productName})} needs to restart to disable Chromium's hardware + acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage. ) } diff --git a/fluxer_app/src/features/user/components/modals/tabs/appearance_tab/ScalingTab.tsx b/fluxer_app/src/features/user/components/modals/tabs/appearance_tab/ScalingTab.tsx index e38876f91..72d6253fd 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/appearance_tab/ScalingTab.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/appearance_tab/ScalingTab.tsx @@ -6,7 +6,7 @@ import Accessibility, { ZOOM_LEVEL_MAX, ZOOM_LEVEL_MIN, } from '@app/features/accessibility/state/Accessibility'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {APP_ZOOM_LEVEL_DESCRIPTOR} from '@app/features/i18n/utils/CommonMessageDescriptors'; import {getCachedNumberFormat} from '@app/features/i18n/utils/IntlCache'; import Keybind from '@app/features/input/state/InputKeybind'; @@ -180,7 +180,7 @@ export function useAppZoomLevelDescription(): string { const {i18n} = useLingui(); return useMemo(() => { if (shouldWarnAboutFirefoxWebZoomShortcuts()) { - return i18n._(ADJUST_THE_OVERALL_ZOOM_LEVEL_OF_THE_APP_DESCRIPTOR, {productName: PRODUCT_NAME}); + return i18n._(ADJUST_THE_OVERALL_ZOOM_LEVEL_OF_THE_APP_DESCRIPTOR, {productName: RuntimeConfig.productName}); } const zoomIn = formatKeyCombo(i18n, Keybind.getByAction('system_zoom_in').combo); const zoomOut = formatKeyCombo(i18n, Keybind.getByAction('system_zoom_out').combo); diff --git a/fluxer_app/src/features/user/components/modals/tabs/applications_tab/ApplicationsList.tsx b/fluxer_app/src/features/user/components/modals/tabs/applications_tab/ApplicationsList.tsx index 0c5b1ecc1..99c79f441 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/applications_tab/ApplicationsList.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/applications_tab/ApplicationsList.tsx @@ -1,7 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import {StatusSlate} from '@app/features/app/components/dialogs/shared/StatusSlate'; -import {PRODUCT_API_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import type {DeveloperApplication} from '@app/features/devtools/models/DeveloperApplication'; import FocusRing from '@app/features/ui/focus_ring/FocusRing'; import styles from '@app/features/user/components/modals/tabs/applications_tab/ApplicationsTab.module.css'; @@ -31,7 +31,7 @@ export const ApplicationsList: React.FC = observer(({appl No applications yet} - description={i18n._(FIRST_APPLICATION_DESCRIPTION_DESCRIPTOR, {apiName: PRODUCT_API_NAME})} + description={i18n._(FIRST_APPLICATION_DESCRIPTION_DESCRIPTOR, {apiName: `${RuntimeConfig.productName} API`})} data-flx="user.applications-tab.applications-list.status-slate" /> diff --git a/fluxer_app/src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx b/fluxer_app/src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx index 463a549e3..f2ee2d1fe 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx @@ -1,7 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import {SettingsTabSection} from '@app/features/app/components/dialogs/shared/SettingsTabLayout'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {REACTIONS_DESCRIPTOR} from '@app/features/i18n/utils/CommonMessageDescriptors'; import {formatPermissionLabel} from '@app/features/permissions/utils/PermissionUtils'; import {Switch} from '@app/features/ui/components/form/FormSwitch'; @@ -113,7 +113,7 @@ export const DisplayTabContent: React.FC = observer(() => { data-flx="user.chat-settings-tab.display-tab.display-tab-content.switch-group-item.update" /> UserSettingsCommands.update({inlineAttachmentMedia: value})} data-flx="user.chat-settings-tab.display-tab.display-tab-content.switch-group-item.update--2" diff --git a/fluxer_app/src/features/user/components/modals/tabs/components/EntranceSoundSection.tsx b/fluxer_app/src/features/user/components/modals/tabs/components/EntranceSoundSection.tsx index 6cc35d051..f6835e4f9 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/components/EntranceSoundSection.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/components/EntranceSoundSection.tsx @@ -1,6 +1,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {LimitResolver} from '@app/features/app/utils/LimitResolverAdapter'; import {isLimitToggleEnabled} from '@app/features/app/utils/LimitUtils'; import Guilds from '@app/features/guild/state/Guilds'; @@ -387,7 +387,7 @@ export const EntranceSoundSection: React.FC = observer(() => { case 'dms': return i18n._(USED_IN_DIRECT_MESSAGE_CALLS_IF_YOU_DO_DESCRIPTOR); case 'guild': - return i18n._(USED_IN_THIS_COMMUNITY_IF_YOU_DO_NOT_DESCRIPTOR, {productName: PRODUCT_NAME}); + return i18n._(USED_IN_THIS_COMMUNITY_IF_YOU_DO_NOT_DESCRIPTOR, {productName: RuntimeConfig.productName}); } }, [i18n], diff --git a/fluxer_app/src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx b/fluxer_app/src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx index d621d826a..fb44c694e 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/components/SystemShortcutsSection.tsx @@ -1,10 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import { - CANARY_DESKTOP_ENTRY_NAME, - DESKTOP_ENTRY_NAME, - PRODUCT_NAME, -} from '@app/features/app/config/I18nDisplayConstants'; +import {CANARY_DESKTOP_ENTRY_NAME, DESKTOP_ENTRY_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {TRY_AGAIN_DESCRIPTOR} from '@app/features/i18n/utils/CommonMessageDescriptors'; import GlobalShortcuts from '@app/features/input/state/GlobalShortcuts'; import Keybind from '@app/features/input/state/InputKeybind'; @@ -477,7 +474,7 @@ const BoundPortalShortcuts: React.FC<{'data-flx': string}> = observer(({'data-fl

    {i18n._(desktop === 'hyprland' ? HYPRLAND_BOUND_DESCRIPTION_DESCRIPTOR : BOUND_DESCRIPTION_DESCRIPTOR, { - productName: PRODUCT_NAME, + productName: RuntimeConfig.productName, })}

    {GlobalShortcuts.portalRecovering ? ( @@ -531,7 +528,7 @@ const BoundPortalShortcuts: React.FC<{'data-flx': string}> = observer(({'data-fl {desktop === 'hyprland' ? null : (

    {i18n._(shouldShowDirectInputSwitch() ? KEYS_RESERVED_DIRECT_INPUT_DESCRIPTOR : KEYS_RESERVED_DESCRIPTOR, { - productName: PRODUCT_NAME, + productName: RuntimeConfig.productName, })}

    )} @@ -566,7 +563,7 @@ const PortalStateSection: React.FC<{'data-flx': string}> = observer(({'data-flx' > {i18n._( GlobalShortcuts.linux?.desktop === 'hyprland' ? HYPRLAND_NOT_SET_UP_DESCRIPTOR : NOT_SET_UP_DESCRIPTOR, - {productName: PRODUCT_NAME}, + {productName: RuntimeConfig.productName}, )} ); @@ -614,7 +611,7 @@ const PortalStateSection: React.FC<{'data-flx': string}> = observer(({'data-flx' } data-flx={`${dataFlx}.unsupported`} > - {i18n._(UNSUPPORTED_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(UNSUPPORTED_DESCRIPTOR, {productName: RuntimeConfig.productName})} ); case 'error': @@ -671,12 +668,12 @@ const DirectInputSwitch: React.FC<{'data-flx': string}> = observer(({'data-flx': <> {!directInput.enabled && isPushToTalkDesktopOnly() ? ( - {i18n._(DIRECT_INPUT_PUSH_TO_TALK_WARNING_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(DIRECT_INPUT_PUSH_TO_TALK_WARNING_DESCRIPTOR, {productName: RuntimeConfig.productName})} ) : null} void GlobalShortcuts.setDirectInputEnabled(value)} disabled={GlobalShortcuts.pendingAction !== null} @@ -702,7 +699,7 @@ export const SystemShortcutsSection: React.FC<{'data-flx'?: string}> = observer( if (GlobalShortcuts.legacyWaylandNeedsUpdate) { return ( - {i18n._(UPDATE_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(UPDATE_DESCRIPTOR, {productName: RuntimeConfig.productName})} ); } @@ -719,7 +716,7 @@ export const SystemShortcutsSection: React.FC<{'data-flx'?: string}> = observer( {showDirectInputError ? ( - {i18n._(DIRECT_INPUT_ERROR_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(DIRECT_INPUT_ERROR_DESCRIPTOR, {productName: RuntimeConfig.productName})} ) : null} @@ -734,8 +731,8 @@ const HyprlandPushToTalkCard: React.FC<{portalAppId: string | null; 'data-flx':

    {portalAppId - ? i18n._(PTT_HYPRLAND_DESCRIPTOR, {productName: PRODUCT_NAME}) - : i18n._(PTT_HYPRLAND_NO_APP_ID_DESCRIPTOR, {productName: PRODUCT_NAME})} + ? i18n._(PTT_HYPRLAND_DESCRIPTOR, {productName: RuntimeConfig.productName}) + : i18n._(PTT_HYPRLAND_NO_APP_ID_DESCRIPTOR, {productName: RuntimeConfig.productName})}

    {portalAppId ? ( @@ -751,7 +748,7 @@ export const SystemShortcutsPushToTalkAlert: React.FC<{'data-flx'?: string}> = o if (GlobalShortcuts.legacyWaylandNeedsUpdate) { return ( - {i18n._(UPDATE_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(UPDATE_DESCRIPTOR, {productName: RuntimeConfig.productName})} ); } @@ -760,7 +757,7 @@ export const SystemShortcutsPushToTalkAlert: React.FC<{'data-flx'?: string}> = o if (hasDirectInputError()) { return ( - {i18n._(DIRECT_INPUT_ERROR_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(DIRECT_INPUT_ERROR_DESCRIPTOR, {productName: RuntimeConfig.productName})} ); } @@ -776,7 +773,7 @@ export const SystemShortcutsPushToTalkAlert: React.FC<{'data-flx'?: string}> = o actions={} data-flx={`${dataFlx}.not-set-up`} > - {i18n._(PTT_NOT_SET_UP_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(PTT_NOT_SET_UP_DESCRIPTOR, {productName: RuntimeConfig.productName})} ); case 'binding': @@ -787,7 +784,7 @@ export const SystemShortcutsPushToTalkAlert: React.FC<{'data-flx'?: string}> = o actions={} data-flx={`${dataFlx}.declined`} > - {i18n._(PTT_DECLINED_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(PTT_DECLINED_DESCRIPTOR, {productName: RuntimeConfig.productName})} ); case 'error': @@ -805,7 +802,7 @@ export const SystemShortcutsPushToTalkAlert: React.FC<{'data-flx'?: string}> = o actions={portal.canRecheck ? : undefined} data-flx={`${dataFlx}.unsupported`} > - {i18n._(PTT_UNSUPPORTED_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(PTT_UNSUPPORTED_DESCRIPTOR, {productName: RuntimeConfig.productName})} ); case 'bound': { diff --git a/fluxer_app/src/features/user/components/modals/tabs/keybinds_tab/SystemShortcutRowHint.tsx b/fluxer_app/src/features/user/components/modals/tabs/keybinds_tab/SystemShortcutRowHint.tsx index abff394bc..fcbd993d6 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/keybinds_tab/SystemShortcutRowHint.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/keybinds_tab/SystemShortcutRowHint.tsx @@ -1,6 +1,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import GlobalShortcuts from '@app/features/input/state/GlobalShortcuts'; import Keybind, {type KeybindCommand} from '@app/features/input/state/InputKeybind'; import { @@ -62,11 +62,11 @@ export const SystemShortcutRowHint = observer(
    {variant === 'voice-tab' ? i18n._(IN_APP_KEY_DESCRIPTOR, { - productName: PRODUCT_NAME, + productName: RuntimeConfig.productName, settingsTabName: getUserSettingsTabLabel(i18n, 'keybinds'), sectionName: i18n._(SYSTEM_WIDE_SHORTCUTS_DESCRIPTOR), }) - : i18n._(WORKS_WHILE_FOCUSED_DESCRIPTOR, {productName: PRODUCT_NAME})} + : i18n._(WORKS_WHILE_FOCUSED_DESCRIPTOR, {productName: RuntimeConfig.productName})}
    {showTrigger ? (
    diff --git a/fluxer_app/src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx b/fluxer_app/src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx index cec8f54ae..aaf55d822 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/my_profile_tab/TimezoneProfileSettings.tsx @@ -2,7 +2,7 @@ import * as Modal from '@app/features/app/components/dialogs/Modal'; import {SettingsTabSection} from '@app/features/app/components/dialogs/shared/SettingsTabLayout'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {COMMUNITY_MEMBERS_DESCRIPTOR} from '@app/features/i18n/utils/CommonMessageDescriptors'; import {Button} from '@app/features/ui/button/Button'; import * as ModalCommands from '@app/features/ui/commands/ModalCommands'; @@ -110,7 +110,7 @@ export function TimezoneProfileSettings({ return (
    diff --git a/fluxer_app/src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx b/fluxer_app/src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx index bed7615d3..6320bffd5 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/notifications_tab/PushSettings.tsx @@ -1,6 +1,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {Combobox as FormCombobox} from '@app/features/ui/components/form/FormCombobox'; import styles from '@app/features/user/components/modals/tabs/notifications_tab/PushSettings.module.css'; import {msg} from '@lingui/core/macro'; @@ -60,7 +60,9 @@ export const PushSettings: React.FC = observer( {i18n._(PUSH_NOTIFICATION_INACTIVE_TIMEOUT_DESCRIPTOR)}

    - {i18n._(AVOIDS_SENDING_PUSH_NOTIFICATIONS_TO_YOUR_MOBILE_DEVICES_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(AVOIDS_SENDING_PUSH_NOTIFICATIONS_TO_YOUR_MOBILE_DEVICES_DESCRIPTOR, { + productName: RuntimeConfig.productName, + })}

    )} diff --git a/fluxer_app/src/features/user/components/popouts/UserProfileBadges.tsx b/fluxer_app/src/features/user/components/popouts/UserProfileBadges.tsx index e02acce5f..e890cf8ec 100644 --- a/fluxer_app/src/features/user/components/popouts/UserProfileBadges.tsx +++ b/fluxer_app/src/features/user/components/popouts/UserProfileBadges.tsx @@ -1,7 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import {Routes} from '@app/app/Routes'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; + import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import * as PremiumModalCommands from '@app/features/premium/commands/PremiumModalCommands'; import PlutoniumPageRollout from '@app/features/premium/state/PlutoniumPageRollout'; @@ -101,7 +101,7 @@ export const UserProfileBadges: React.FC = observer( type: 'icon', key: 'staff', iconUrl: staffBadgeUrl, - tooltip: i18n._(STAFF_DESCRIPTOR, {productName: PRODUCT_NAME}), + tooltip: i18n._(STAFF_DESCRIPTOR, {productName: RuntimeConfig.productName}), url: Routes.careers(), }); } @@ -110,7 +110,7 @@ export const UserProfileBadges: React.FC = observer( type: 'icon', key: 'partner', iconUrl: partnerBadgeUrl, - tooltip: i18n._(PARTNER_DESCRIPTOR, {productName: PRODUCT_NAME}), + tooltip: i18n._(PARTNER_DESCRIPTOR, {productName: RuntimeConfig.productName}), url: Routes.partners(), }); } @@ -119,7 +119,7 @@ export const UserProfileBadges: React.FC = observer( type: 'icon', key: 'bug_hunter', iconUrl: bugHunterBadgeUrl, - tooltip: i18n._(BUG_HUNTER_DESCRIPTOR, {productName: PRODUCT_NAME}), + tooltip: i18n._(BUG_HUNTER_DESCRIPTOR, {productName: RuntimeConfig.productName}), url: Routes.bugs(), }); } @@ -131,11 +131,14 @@ export const UserProfileBadges: React.FC = observer( if (!selfHosted && profile.premiumType === UserPremiumTypes.LIFETIME) { if (profile.premiumSince) { const premiumSinceFormatted = DateUtils.getFormattedShortDate(profile.premiumSince); - tooltipText = i18n._(VISIONARY_SINCE_DESCRIPTOR, {productName: PRODUCT_NAME, premiumSinceFormatted}); + tooltipText = i18n._(VISIONARY_SINCE_DESCRIPTOR, { + productName: RuntimeConfig.productName, + premiumSinceFormatted, + }); } else { - tooltipText = i18n._(VISIONARY_DESCRIPTOR, {productName: PRODUCT_NAME}); + tooltipText = i18n._(VISIONARY_DESCRIPTOR, {productName: RuntimeConfig.productName}); } - badgeUrl = Routes.helpArticle('visionary'); + badgeUrl = Routes.helpArticle('visionary') ?? undefined; } else if (profile.premiumSince) { const premiumSinceFormatted = DateUtils.getFormattedShortDate(profile.premiumSince); tooltipText = i18n._(SUBSCRIBER_SINCE_DESCRIPTOR, { diff --git a/fluxer_app/src/features/user/components/popouts/UserProfileShared.tsx b/fluxer_app/src/features/user/components/popouts/UserProfileShared.tsx index 542a2200d..f447aaa46 100644 --- a/fluxer_app/src/features/user/components/popouts/UserProfileShared.tsx +++ b/fluxer_app/src/features/user/components/popouts/UserProfileShared.tsx @@ -1,6 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import {BLUESKY_PROVIDER_NAME, PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import {BLUESKY_PROVIDER_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {GuildIcon} from '@app/features/guild/components/popouts/GuildIcon'; import {AddRoleButton, RoleList} from '@app/features/guild/components/RoleManagement'; import type {GuildRole} from '@app/features/guild/models/GuildRole'; @@ -290,7 +291,10 @@ export const UserProfileMembershipInfo: React.FC<{profile: Profile; user: User}> className={styles.membershipDate} data-flx="user.user-profile-shared.user-profile-membership-info.membership-date" > - +
    className={styles.membershipTitle} data-flx="user.user-profile-shared.user-profile-membership-info.membership-title--2" > - {i18n._(PRODUCT_MEMBER_SINCE_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(PRODUCT_MEMBER_SINCE_DESCRIPTOR, {productName: RuntimeConfig.productName})} = [ description: HELP_CENTER_BUTTON_IN_THE_SIDEBAR_DESCRIPTOR, audience: 'advanced', tags: ['appearance'], + isVisible: () => Routes.help() != null, }, { id: 'appearance-show-download-button', diff --git a/fluxer_app/src/features/voice/components/modals/ScreenSharePickerModal.tsx b/fluxer_app/src/features/voice/components/modals/ScreenSharePickerModal.tsx index 7e7ab0422..a66038fb8 100644 --- a/fluxer_app/src/features/voice/components/modals/ScreenSharePickerModal.tsx +++ b/fluxer_app/src/features/voice/components/modals/ScreenSharePickerModal.tsx @@ -2,7 +2,7 @@ import {showGenericErrorModal} from '@app/features/app/components/alerts/GenericErrorModalCommands'; import * as Modal from '@app/features/app/components/dialogs/Modal'; -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import Channels from '@app/features/channel/state/Channels'; import { CANCEL_DESCRIPTOR, @@ -729,10 +729,10 @@ const ScreenSharePreviewInfoModal = observer(() => { data-flx="voice.screen-share-picker-modal.preview-info-modal.content-layout" > - {i18n._(getScreenSharePreviewInfoBodyDescriptor(callContext), {productName: PRODUCT_NAME})} + {i18n._(getScreenSharePreviewInfoBodyDescriptor(callContext), {productName: RuntimeConfig.productName})}

    - {i18n._(getScreenSharePreviewPrivacyBodyDescriptor(callContext), {productName: PRODUCT_NAME})} + {i18n._(getScreenSharePreviewPrivacyBodyDescriptor(callContext), {productName: RuntimeConfig.productName})}

    { {i18n._(BEST_WITH_THE_DESKTOP_APP_DESCRIPTOR)}

    - {i18n._(INSTALL_FOR_THE_FULL_SOURCE_PICKER_AND_SMOOTHER_DESCRIPTOR, {productName: PRODUCT_NAME})} + {i18n._(INSTALL_FOR_THE_FULL_SOURCE_PICKER_AND_SMOOTHER_DESCRIPTOR, {productName: RuntimeConfig.productName})}
    diff --git a/fluxer_app/src/features/voice/components/modals/screen_share_picker_modal/PerWindowAudioNotice.tsx b/fluxer_app/src/features/voice/components/modals/screen_share_picker_modal/PerWindowAudioNotice.tsx index c9ca0f40a..b4a5f0f33 100644 --- a/fluxer_app/src/features/voice/components/modals/screen_share_picker_modal/PerWindowAudioNotice.tsx +++ b/fluxer_app/src/features/voice/components/modals/screen_share_picker_modal/PerWindowAudioNotice.tsx @@ -1,6 +1,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import styles from '@app/features/voice/components/modals/ScreenSharePickerModal.module.css'; import {msg} from '@lingui/core/macro'; import {useLingui} from '@lingui/react/macro'; @@ -108,7 +108,7 @@ export const PerWindowAudioNotice: React.FC = ({platf return (
    {i18n._(copy.title)}{' '} - {i18n._(copy.body, {productName: PRODUCT_NAME})} + {i18n._(copy.body, {productName: RuntimeConfig.productName})}
    ); }; diff --git a/fluxer_app/src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx b/fluxer_app/src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx index a2cc069d1..817ed5d6b 100644 --- a/fluxer_app/src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx +++ b/fluxer_app/src/features/voice/components/modals/screen_share_picker_modal/ScreenSharePickerDisplayPermissionPrompt.tsx @@ -1,6 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import {PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; + import { OPEN_SETTINGS_DESCRIPTOR, RELAUNCH_TO_APPLY_DESCRIPTOR, @@ -80,11 +81,11 @@ export function ScreenSharePickerDisplayPermissionPrompt({
    {restartRequired ? i18n._(SCREEN_RECORDING_PERMISSION_RELAUNCH_PROMPT_DESCRIPTOR, { - productName: PRODUCT_NAME, - productName2: PRODUCT_NAME, + productName: RuntimeConfig.productName, + productName2: RuntimeConfig.productName, }) : i18n._(SCREEN_RECORDING_PERMISSION_PROMPT_DESCRIPTOR, { - productName: PRODUCT_NAME, + productName: RuntimeConfig.productName, })}
    ", + "author": "Fluxer Platform AB ", "license": "AGPL-3.0-or-later", "private": true, "type": "module", diff --git a/fluxer_desktop/src/main/OpenExternal.test.mjs b/fluxer_desktop/src/main/OpenExternal.test.mjs index d88a0f0a4..8a4086f1c 100644 --- a/fluxer_desktop/src/main/OpenExternal.test.mjs +++ b/fluxer_desktop/src/main/OpenExternal.test.mjs @@ -57,7 +57,7 @@ describe('OpenExternal URL validation', () => { assert.equal(shouldOpenExternalUrl('https://fluxer.app'), true); assert.equal(shouldOpenExternalUrl('http://fluxer.app'), true); - assert.equal(shouldOpenExternalUrl('mailto:support@fluxer.app'), true); + assert.equal(shouldOpenExternalUrl('mailto:support@fluxer.com'), true); assert.equal(shouldOpenExternalUrl('tel:+15551234567'), true); assert.equal(shouldOpenExternalUrl('fluxer://invite/test'), true); }); diff --git a/fluxer_docs/src/content/docs/admin-api/instance.mdx b/fluxer_docs/src/content/docs/admin-api/instance.mdx index 187533dce..98234f267 100644 --- a/fluxer_docs/src/content/docs/admin-api/instance.mdx +++ b/fluxer_docs/src/content/docs/admin-api/instance.mdx @@ -294,7 +294,7 @@ Branding, legal, setup and registration field policy, in the Admin form of what | --- | --- | --- | | branding | [public branding](/http-api/instance/#public-branding-object) object | Product name, image URLs, and theme colour | | setup1 | object | Has the single boolean `configured` | -| legal | [public legal configuration](/http-api/instance/#public-legal-configuration-object) object | Terms and privacy URLs | +| legal | [public legal configuration](/http-api/instance/#public-legal-configuration-object) object | Terms, privacy, and community guidelines URLs | | registration2 | [public registration fields](/http-api/instance/#public-registration-fields-object) object | Registration field collection policy | 1 The [Instance](/http-api/instance/) resource publishes `admin_url` in this object as well @@ -360,7 +360,7 @@ Outbound email settings, and the provider resolved from them. | provider | ?string | Operator override of `smtp` or `none`, or null for no override | | effective_provider | string | Provider in use, either `smtp` or `none` | | from_email | ?string | Envelope sender address | -| from_name | ?string | Envelope sender name | +| from_name | ?string | Envelope sender name, or null when none is set and mail is sent under the instance product name | | smtp1 | object | `host`, `port`, `username`, `secure`, and `password_set` | | disable_new_ip_authorization | boolean | Whether new-IP authorisation email is suppressed by the stored setting | | effective_disable_new_ip_authorization2 | boolean | Whether it is suppressed once outbound email state is taken into account | @@ -622,7 +622,7 @@ The body has one optional object for each section. Fluxer leaves an absent secti 1 The supplied fields are merged over the stored configuration and the result is validated as a whole. Every supplied endpoint URL uses `https`, has no credentials and no fragment, and resolves to a publicly routable address, otherwise the request returns 400 `INVALID_FORM_BODY` with `INVALID_URL_FORMAT` or `URL_NOT_PUBLICLY_ROUTABLE` -2 `branding.product_name` is 1 to 80 characters, every branding and legal URL is at most 2048 characters and nullable, `branding.theme_color` is at most 64 characters and nullable, and `setup.configured` and `registration.collect_date_of_birth` are booleans. `branding.premium_product_name` is 1 to 40 characters, and null restores the default. `branding.premium_info_url` is an absolute `http` or `https` URL. Every string is trimmed before it is stored +2 `branding.product_name` is 1 to 80 characters, every branding and legal URL is at most 2048 characters and nullable, `branding.theme_color` is at most 64 characters and nullable, and `setup.configured` and `registration.collect_date_of_birth` are booleans. `branding.premium_product_name` is 1 to 40 characters, and null restores the default. `branding.premium_info_url` and `legal.guidelines_url` are absolute `http` or `https` URLs. Every string is trimmed before it is stored, and null or an empty string clears a legal URL `push_relay` takes only `relay_consent_accepted`. Fluxer sets `relay_consent_accepted_at` and `relay_consent_accepted_by` itself on the request that changes that flag, and accepts neither from a request. Turning the flag on stamps the current time and the acting account, and turning it off clears both to null. A request that repeats the flag it already holds leaves the stamp alone. diff --git a/fluxer_docs/src/content/docs/http-api/errors.md b/fluxer_docs/src/content/docs/http-api/errors.md index d4c13bd68..910904526 100644 --- a/fluxer_docs/src/content/docs/http-api/errors.md +++ b/fluxer_docs/src/content/docs/http-api/errors.md @@ -25,7 +25,7 @@ The error code determines which supplementary members a failure has, and most co `GLOBAL_IP_BANNED` and `GLOBAL_IP_TEMPORARILY_BANNED` have their own members: - `ip_address` is the normalised client address. -- `appeal_email` is the address an appeal is sent to. +- `appeal_email` is the address an appeal is sent to. It is `null` on a self-hosted instance, where `message` points at the administrators of the instance and names no address. - `appeals_supported` is `true` for both kinds of ban. - `ban_kind` is `permanent` or `temporary_24h`. `temporary_24h` covers every ban that records an expiry, whatever its length. - `expires_at` is an ISO 8601 timestamp when the ban records an expiry, and `null` otherwise, including on every permanent ban. @@ -468,11 +468,11 @@ Gift code is already redeemed ### `GLOBAL_IP_BANNED` -Your IP address {ipAddress} has been permanently blocked from the Fluxer API by platform administrators +Your IP address {ipAddress} has been permanently blocked from the {product_name} API by platform administrators ### `GLOBAL_IP_TEMPORARILY_BANNED` -Your IP address {ipAddress} has been temporarily blocked from the Fluxer API +Your IP address {ipAddress} has been temporarily blocked from the {product_name} API ### `GONE` diff --git a/fluxer_docs/src/content/docs/http-api/instance.mdx b/fluxer_docs/src/content/docs/http-api/instance.mdx index 802863df1..e900f8273 100644 --- a/fluxer_docs/src/content/docs/http-api/instance.mdx +++ b/fluxer_docs/src/content/docs/http-api/instance.mdx @@ -407,7 +407,7 @@ Branding, setup state, legal documents, and registration fields a client reads b | --- | --- | --- | | branding | [public branding](#public-branding-object) object | Public instance identity | | setup | [public setup state](#public-setup-state-object) object | Initial configuration state | -| legal | [public legal configuration](#public-legal-configuration-object) object | Registration legal document URLs | +| legal | [public legal configuration](#public-legal-configuration-object) object | Legal and policy document URLs | | registration | [public registration fields](#public-registration-fields-object) object | Registration field collection policy | ## Public branding object @@ -448,7 +448,7 @@ Whether the deployment has finished its initial configuration, and where an oper ## Public legal configuration object -The public URLs a client links from its registration form. +The public document URLs a client links from its registration form and its report flows. ### Structure @@ -456,6 +456,9 @@ The public URLs a client links from its registration form. | --- | --- | --- | | terms_url | ?string | Public terms of service URL, or null | | privacy_url | ?string | Public privacy policy URL, or null | +| guidelines_url1 | ?string | Public community guidelines URL, or null | + +1 The URL the operator set. A [report flow](/http-api/reports/#report-flows) and the account enforcement emails link it. When it is null, a hosted instance links its own guidelines page, and a self-hosted instance hides every guidelines link ## Public registration fields object diff --git a/fluxer_docs/src/content/docs/operator/configuration.mdx b/fluxer_docs/src/content/docs/operator/configuration.mdx index 35296a3e6..11c89b5c9 100644 --- a/fluxer_docs/src/content/docs/operator/configuration.mdx +++ b/fluxer_docs/src/content/docs/operator/configuration.mdx @@ -768,7 +768,7 @@ The same conditions turn on a DNS check at registration. The check runs when ema #### `FLUXER_EMAIL_FROM_NAME` -`.env.example` `Fluxer`. The sender name. Default `Fluxer`, which an empty value also gives. Compose forwards it from `.env`. +`.env.example` empty. The sender name. Default empty. An empty value sends mail under the instance product name, which is the name saved in the admin dashboard or else `FLUXER_APP_PRODUCT_NAME`, and a rename in the dashboard applies to the next email. A set value always wins. Compose forwards it from `.env`. #### `FLUXER_EMAIL_REPLY_TO_EMAIL` @@ -1203,7 +1203,7 @@ Compose forwards every name below from `.env`. The admin dashboard also sets the #### `FLUXER_APP_PRODUCT_NAME` -Default `Fluxer`. The product name clients display. Also settable in the admin dashboard, which wins. Compose forwards it from `.env`. +Default `Fluxer`. The product name clients display and the API writes in its emails and report flows. Also settable in the admin dashboard, which wins. Compose forwards it from `.env`. #### `FLUXER_APP_ICON_URL` @@ -1737,7 +1737,7 @@ The admin dashboard at `FLUXER_ADMIN_BASE_PATH` stores these in the database. Th #### Instance Config, Public App Identity -Product name, client-visible brand assets, the terms, privacy, and community guidelines links, and the setup state in the instance discovery document. No environment variable sets a legal link. On a self-hosted instance, the enforcement emails list only the terms and guidelines links set here, and the clients and report flows show no guidelines link until one is set. +Product name, client-visible brand assets, the terms, privacy, and community guidelines links, and the setup state in the instance discovery document. No environment variable sets a legal link. On a self-hosted instance, the enforcement emails list only the terms and guidelines links set here, and the clients and report flows show no guidelines link until one is set. Its emails and its IP block errors name no contact address. They tell the reader to contact the administrators of the instance, and no setting adds an address. The emails, the report flows, the IP block errors, the title of an APNs alert that has none, and the built-in admin application use the product name set here, and a rename applies without a restart. #### Instance Config, Registration Controls diff --git a/packages/config/src/ConfigLoader.ts b/packages/config/src/ConfigLoader.ts index 1093dab19..ce7920d80 100644 --- a/packages/config/src/ConfigLoader.ts +++ b/packages/config/src/ConfigLoader.ts @@ -171,7 +171,7 @@ function defaultConfig(): MasterConfig { enabled: false, provider: 'none', from_email: '', - from_name: 'Fluxer', + from_name: '', reply_to_email: '', app_base_url: '', }, diff --git a/packages/config/src/__tests__/ConfigLoader.test.ts b/packages/config/src/__tests__/ConfigLoader.test.ts index 1e79662f7..0b12868bd 100644 --- a/packages/config/src/__tests__/ConfigLoader.test.ts +++ b/packages/config/src/__tests__/ConfigLoader.test.ts @@ -306,7 +306,7 @@ describe('ConfigLoader', () => { const config = await loadConfig(); expect(config.services.api.port).toBe(8080); - expect(config.integrations.email.from_name).toBe('Fluxer'); + expect(config.integrations.email.from_name).toBe(''); expect(config.internal.kv).toBe('redis://localhost:6379/0'); expect(config.s3?.force_path_style).toBe(false); expect(config.services.api.storage_change_feed?.skip_buckets).toBeUndefined(); diff --git a/packages/errors/src/__tests__/DomainErrors.test.ts b/packages/errors/src/__tests__/DomainErrors.test.ts index 5d78144d4..9433762e2 100644 --- a/packages/errors/src/__tests__/DomainErrors.test.ts +++ b/packages/errors/src/__tests__/DomainErrors.test.ts @@ -20,6 +20,7 @@ import {InputValidationError} from '@fluxer/errors/src/domains/core/InputValidat import {InternalServerError} from '@fluxer/errors/src/domains/core/InternalServerError'; import {NotFoundError} from '@fluxer/errors/src/domains/core/NotFoundError'; import {ServiceUnavailableError} from '@fluxer/errors/src/domains/core/ServiceUnavailableError'; +import {IpBannedError} from '@fluxer/errors/src/domains/moderation/IpBannedError'; import {PremiumPurchaseBlockedError} from '@fluxer/errors/src/domains/payment/PremiumPurchaseBlockedError'; import {StoreBillingUnavailableError} from '@fluxer/errors/src/domains/payment/StoreBillingUnavailableError'; import {StoreNotificationUnauthorizedError} from '@fluxer/errors/src/domains/payment/StoreNotificationUnauthorizedError'; @@ -251,3 +252,44 @@ describe('PremiumPurchaseBlockedError', () => { }); }); }); + +describe('IpBannedError', () => { + it('passes the appeal address through to the data and the message', () => { + const error = new IpBannedError({ + ipAddress: '203.0.113.20', + kind: 'temporary_24h', + expiresAt: new Date('2026-10-01T23:30:00Z'), + appealEmail: 'support@fluxer.com', + productName: 'Fluxer', + }); + expect(error.code).toBe(APIErrorCodes.GLOBAL_IP_TEMPORARILY_BANNED); + expect(error.data).toEqual({ + ip_address: '203.0.113.20', + appeal_email: 'support@fluxer.com', + appeals_supported: true, + ban_kind: 'temporary_24h', + expires_at: '2026-10-01T23:30:00.000Z', + }); + expect(error.messageVariables).toEqual({ + ipAddress: '203.0.113.20', + appealEmail: 'support@fluxer.com', + product_name: 'Fluxer', + }); + }); + + it('has no appeal address of its own', () => { + const error = new IpBannedError({ + ipAddress: '203.0.113.20', + kind: 'permanent', + appealEmail: null, + productName: 'Example Chat', + }); + expect(error.code).toBe(APIErrorCodes.GLOBAL_IP_BANNED); + expect(error.data).toMatchObject({appeal_email: null, appeals_supported: true, expires_at: null}); + expect(error.messageVariables).toEqual({ + ipAddress: '203.0.113.20', + appealEmail: null, + product_name: 'Example Chat', + }); + }); +}); diff --git a/packages/errors/src/domains/moderation/IpBannedError.ts b/packages/errors/src/domains/moderation/IpBannedError.ts index bf8bc80ff..f5115f102 100644 --- a/packages/errors/src/domains/moderation/IpBannedError.ts +++ b/packages/errors/src/domains/moderation/IpBannedError.ts @@ -9,10 +9,10 @@ interface IpBannedErrorOptions { ipAddress: string; kind: GlobalIpBanKind; expiresAt?: Date | null; + appealEmail: string | null; + productName: string; } -const SUPPORT_EMAIL = 'support@fluxer.com'; - export class IpBannedError extends ForbiddenError { constructor(options: IpBannedErrorOptions) { const isTemporary = options.kind === 'temporary_24h'; @@ -20,13 +20,15 @@ export class IpBannedError extends ForbiddenError { code: isTemporary ? APIErrorCodes.GLOBAL_IP_TEMPORARILY_BANNED : APIErrorCodes.GLOBAL_IP_BANNED, data: { ip_address: options.ipAddress, - appeal_email: SUPPORT_EMAIL, + appeal_email: options.appealEmail, appeals_supported: true, ban_kind: options.kind, expires_at: options.expiresAt?.toISOString() ?? null, }, messageVariables: { ipAddress: options.ipAddress, + appealEmail: options.appealEmail, + product_name: options.productName, }, }); } diff --git a/packages/errors/src/i18n/ErrorI18n.test.ts b/packages/errors/src/i18n/ErrorI18n.test.ts index f695bafbd..e874acda2 100644 --- a/packages/errors/src/i18n/ErrorI18n.test.ts +++ b/packages/errors/src/i18n/ErrorI18n.test.ts @@ -6,6 +6,7 @@ import { getErrorMessageUnsafe, hasErrorLocale, } from '@fluxer/errors/src/i18n/ErrorI18n'; +import {ERROR_I18N_LOCALE_MESSAGES} from '@fluxer/errors/src/i18n/ErrorI18nLocales'; import type {ErrorI18nKey} from '@fluxer/errors/src/i18n/ErrorI18nTypes.generated'; import {beforeEach, describe, expect, it, type MockInstance, vi} from 'vitest'; @@ -151,4 +152,96 @@ describe('ErrorI18n', () => { expect(getErrorMessage('account.limited', 'zz-ZZ')).toBe(getErrorMessage('account.limited', 'en-US')); }); }); + describe('global IP block messages', () => { + const HOSTED = {ipAddress: '203.0.113.20', appealEmail: 'support@fluxer.com', product_name: 'Fluxer'}; + const SELF_HOSTED = {ipAddress: '203.0.113.20', appealEmail: null, product_name: 'Example Chat'}; + + it('names the appeal address when there is one', () => { + expect(getErrorMessageUnsafe('GLOBAL_IP_BANNED', 'en-US', HOSTED)).toBe( + 'Your IP address 203.0.113.20 has been permanently blocked from the Fluxer API by platform administrators. If you believe this is a mistake, contact support@fluxer.com to appeal. Include this IP address in your appeal.', + ); + expect(getErrorMessageUnsafe('GLOBAL_IP_TEMPORARILY_BANNED', 'en-US', HOSTED)).toBe( + 'Your IP address 203.0.113.20 has been temporarily blocked from the Fluxer API. The block lifts on its own when it expires. If you think this is a mistake, contact support@fluxer.com and include this IP address.', + ); + }); + it('points at the instance administrators when there is no appeal address', () => { + expect(getErrorMessageUnsafe('GLOBAL_IP_BANNED', 'en-US', SELF_HOSTED)).toBe( + 'Your IP address 203.0.113.20 has been permanently blocked from the Example Chat API by platform administrators. If you believe this is a mistake, contact the administrators of this instance to appeal. Include this IP address in your appeal.', + ); + expect(getErrorMessageUnsafe('GLOBAL_IP_TEMPORARILY_BANNED', 'en-US', SELF_HOSTED)).toBe( + 'Your IP address 203.0.113.20 has been temporarily blocked from the Example Chat API. The block lifts on its own when it expires. If you think this is a mistake, contact the administrators of this instance and include this IP address.', + ); + }); + it.each([ + ['de', 'die Administratoren dieser Instanz'], + ['pt-BR', 'os administradores desta instância'], + ['ja', 'このインスタンスの管理者'], + ])('renders both variants in %s', (locale, administrators) => { + for (const code of ['GLOBAL_IP_BANNED', 'GLOBAL_IP_TEMPORARILY_BANNED']) { + const hosted = getErrorMessageUnsafe(code, locale, HOSTED); + const neutral = getErrorMessageUnsafe(code, locale, SELF_HOSTED); + expect(hosted).toContain('support@fluxer.com'); + expect(hosted).toContain('203.0.113.20'); + expect(hosted).not.toContain(administrators); + expect(neutral).toContain(administrators); + expect(neutral).toContain('203.0.113.20'); + expect(neutral).not.toContain('@'); + expect(neutral).not.toMatch(/\bnull\b/); + expect(neutral).not.toContain('{'); + } + expect(consoleWarnSpy).not.toHaveBeenCalled(); + }); + it('names the instance and no mailbox in any locale when there is no appeal address', () => { + for (const locale of Object.keys(ERROR_I18N_LOCALE_MESSAGES)) { + for (const code of ['GLOBAL_IP_BANNED', 'GLOBAL_IP_TEMPORARILY_BANNED']) { + const neutral = getErrorMessageUnsafe(code, locale, SELF_HOSTED); + expect(neutral, `${locale} ${code}`).toContain('203.0.113.20'); + expect(neutral, `${locale} ${code}`).not.toMatch(/@|\bnull\b|\{/); + expect(neutral, `${locale} ${code}`).toContain('Example Chat'); + expect(neutral, `${locale} ${code}`).not.toContain('Fluxer'); + const hosted = getErrorMessageUnsafe(code, locale, HOSTED); + expect(hosted, `${locale} ${code}`).toContain('support@fluxer.com'); + expect(hosted, `${locale} ${code}`).toContain('Fluxer'); + } + } + }); + }); + describe('payment processing error', () => { + const HOSTED = {supportEmail: 'support@fluxer.com'}; + const SELF_HOSTED = {supportEmail: null}; + const ENGLISH_NEUTRAL = + 'Payment processing encountered an error. Please try again or contact the administrators of this instance.'; + + it('keeps the hosted text and names the instance administrators on a self-hosted instance', () => { + expect(getErrorMessageUnsafe('STRIPE_ERROR', 'en-US', HOSTED)).toBe( + 'Payment processing encountered an error. Please try again or contact support.', + ); + expect(getErrorMessageUnsafe('STRIPE_ERROR', 'en-US', SELF_HOSTED)).toBe(ENGLISH_NEUTRAL); + }); + it.each([ + ['de', 'kontaktiere den Support', 'die Administratoren dieser Instanz'], + ['pt-BR', 'com o suporte', 'os administradores desta instância'], + ['ja', 'サポートにお問い合わせください', 'このインスタンスの管理者'], + ])('renders both variants in %s', (locale, support, administrators) => { + const hosted = getErrorMessageUnsafe('STRIPE_ERROR', locale, HOSTED); + const neutral = getErrorMessageUnsafe('STRIPE_ERROR', locale, SELF_HOSTED); + expect(hosted).toContain(support); + expect(hosted).not.toContain(administrators); + expect(neutral).toContain(administrators); + expect(neutral).not.toContain(support); + expect(consoleWarnSpy).not.toHaveBeenCalled(); + }); + it('has a translated neutral variant in every locale', () => { + for (const locale of Object.keys(ERROR_I18N_LOCALE_MESSAGES)) { + const hosted = getErrorMessageUnsafe('STRIPE_ERROR', locale, HOSTED); + const neutral = getErrorMessageUnsafe('STRIPE_ERROR', locale, SELF_HOSTED); + expect(neutral, locale).not.toBe(hosted); + expect(neutral, locale).not.toMatch(/@|\bnull\b|\{|support/i); + if (locale !== 'en-GB') { + expect(neutral, locale).not.toBe(ENGLISH_NEUTRAL); + } + } + expect(consoleWarnSpy).not.toHaveBeenCalled(); + }); + }); }); diff --git a/packages/errors/src/i18n/ErrorI18nMessages.ts b/packages/errors/src/i18n/ErrorI18nMessages.ts index 9382e0926..1a2b3687b 100644 --- a/packages/errors/src/i18n/ErrorI18nMessages.ts +++ b/packages/errors/src/i18n/ErrorI18nMessages.ts @@ -453,9 +453,9 @@ export const ERROR_I18N_MESSAGES = { 'moderation_and_reports.user_is_not_banned': "This user isn't banned.", 'names_and_normalization.name_empty_after_normalization': "Name can't be empty after normalization.", 'permissions.global_ip_banned': - 'Your IP address {ipAddress} has been permanently blocked from the Fluxer API by platform administrators. If you believe this is a mistake, contact support@fluxer.app to appeal. Include this IP address in your appeal.', + 'Your IP address {ipAddress} has been permanently blocked from the {product_name} API by platform administrators. {appealEmail, select, null {If you believe this is a mistake, contact the administrators of this instance to appeal.} other {If you believe this is a mistake, contact {appealEmail} to appeal.}} Include this IP address in your appeal.', 'permissions.global_ip_temporarily_banned': - 'Your IP address {ipAddress} has been temporarily blocked from the Fluxer API. The block lifts on its own when it expires. If you think this is a mistake, contact support@fluxer.com and include this IP address.', + 'Your IP address {ipAddress} has been temporarily blocked from the {product_name} API. The block lifts on its own when it expires. {appealEmail, select, null {If you think this is a mistake, contact the administrators of this instance and include this IP address.} other {If you think this is a mistake, contact {appealEmail} and include this IP address.}}', 'permissions.missing_access': "You don't have access to this resource or feature.", 'permissions.missing_permissions': "You don't have the permissions required to perform this action.", 'permissions.user_banned_from_guild': 'This user is banned from this community.', @@ -518,7 +518,8 @@ export const ERROR_I18N_MESSAGES = { 'store_billing.purchase_sandbox_not_entitled': 'Test purchases cannot be applied to this account.', 'store_billing.unavailable': 'In-app purchases are unavailable right now. Try again later.', 'store_billing.unknown_purchase': 'Unknown store purchase.', - 'stripe.error': 'Payment processing encountered an error. Please try again or contact support.', + 'stripe.error': + '{supportEmail, select, null {Payment processing encountered an error. Please try again or contact the administrators of this instance.} other {Payment processing encountered an error. Please try again or contact support.}}', 'stripe.invalid_product_configuration': 'Invalid product configuration.', 'stripe.invalid_product_selection': 'Invalid product selection.', 'stripe.no_active_subscription_found': 'No active subscription found.', diff --git a/packages/errors/src/i18n/locales/ar.ts b/packages/errors/src/i18n/locales/ar.ts index 28fbe1cc1..f199692fc 100644 --- a/packages/errors/src/i18n/locales/ar.ts +++ b/packages/errors/src/i18n/locales/ar.ts @@ -386,8 +386,8 @@ const ERROR_I18N_AR_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "بلاغ غير معروف.", "moderation_and_reports.user_is_not_banned": "المستخدم غير محظور.", "names_and_normalization.name_empty_after_normalization": "لا يمكن أن يكون الاسم فارغًا بعد التسوية.", - "permissions.global_ip_banned": "تم حظر عنوان IP الخاص بك {ipAddress} نهائيًا من Fluxer API بواسطة مسؤولي المنصة. إذا كنت تعتقد أن هذا خطأ، فتواصل مع support@fluxer.app للاستئناف. اذكر عنوان IP هذا في الاستئناف.", - "permissions.global_ip_temporarily_banned": "تم حظر عنوان IP الخاص بك {ipAddress} مؤقتًا من Fluxer API. يُرفع الحظر تلقائيًا عند انتهاء مدته. إذا كنت تعتقد أن هذا خطأ، فتواصل مع support@fluxer.com واذكر عنوان IP هذا.", + "permissions.global_ip_banned": "تم حظر عنوان IP الخاص بك {ipAddress} نهائيًا من {product_name} API بواسطة مسؤولي المنصة. {appealEmail, select, null {إذا كنت تعتقد أن هذا خطأ، فتواصل مع مسؤولي هذا المثيل للاستئناف.} other {إذا كنت تعتقد أن هذا خطأ، فتواصل مع {appealEmail} للاستئناف.}} اذكر عنوان IP هذا في الاستئناف.", + "permissions.global_ip_temporarily_banned": "تم حظر عنوان IP الخاص بك {ipAddress} مؤقتًا من {product_name} API. يُرفع الحظر تلقائيًا عند انتهاء مدته. {appealEmail, select, null {إذا كنت تعتقد أن هذا خطأ، فتواصل مع مسؤولي هذا المثيل واذكر عنوان IP هذا.} other {إذا كنت تعتقد أن هذا خطأ، فتواصل مع {appealEmail} واذكر عنوان IP هذا.}}", "permissions.missing_access": "ليس لديك وصول إلى هذا المورد أو الميزة.", "permissions.missing_permissions": "لا تملك الأذونات المطلوبة لتنفيذ هذا الإجراء.", "permissions.user_banned_from_guild": "المستخدم محظور من هذا المجتمع.", @@ -435,7 +435,7 @@ const ERROR_I18N_AR_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "لا يمكن تطبيق عمليات الشراء التجريبية على هذا الحساب.", "store_billing.unavailable": "عمليات الشراء داخل التطبيق غير متاحة حاليًا. حاول مجددًا لاحقًا.", "store_billing.unknown_purchase": "عملية شراء غير معروفة من المتجر.", - "stripe.error": "حدث خطأ في معالجة الدفع. حاول مجددًا أو تواصل مع الدعم.", + "stripe.error": "{supportEmail, select, null {حدث خطأ في معالجة الدفع. حاول مجددًا أو تواصل مع مسؤولي هذا المثيل.} other {حدث خطأ في معالجة الدفع. حاول مجددًا أو تواصل مع الدعم.}}", "stripe.invalid_product_configuration": "تكوين منتج غير صالح.", "stripe.invalid_product_selection": "اختيار منتج غير صالح.", "stripe.no_active_subscription_found": "لم يتم العثور على اشتراك نشط.", diff --git a/packages/errors/src/i18n/locales/bg.ts b/packages/errors/src/i18n/locales/bg.ts index a4bfb1940..13893c263 100644 --- a/packages/errors/src/i18n/locales/bg.ts +++ b/packages/errors/src/i18n/locales/bg.ts @@ -386,8 +386,8 @@ const ERROR_I18N_BG_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Неизвестен сигнал.", "moderation_and_reports.user_is_not_banned": "Този потребител няма наложена забрана.", "names_and_normalization.name_empty_after_normalization": "Името не може да бъде празно след нормализиране.", - "permissions.global_ip_banned": "IP адресът ти {ipAddress} е блокиран за постоянно за достъп до Fluxer API от администраторите на платформата. Ако смяташ, че това е грешка, свържи се със support@fluxer.app, за да обжалваш. Включи този IP адрес в обжалването.", - "permissions.global_ip_temporarily_banned": "IP адресът ти {ipAddress} е временно блокиран за достъп до Fluxer API. Блокирането се премахва автоматично, когато изтече. Ако смяташ, че това е грешка, свържи се със support@fluxer.com и посочи този IP адрес.", + "permissions.global_ip_banned": "IP адресът ти {ipAddress} е блокиран за постоянно за достъп до {product_name} API от администраторите на платформата. {appealEmail, select, null {Ако смяташ, че това е грешка, свържи се с администраторите на тази инстанция, за да обжалваш.} other {Ако смяташ, че това е грешка, свържи се със {appealEmail}, за да обжалваш.}} Включи този IP адрес в обжалването.", + "permissions.global_ip_temporarily_banned": "IP адресът ти {ipAddress} е временно блокиран за достъп до {product_name} API. Блокирането се премахва автоматично, когато изтече. {appealEmail, select, null {Ако смяташ, че това е грешка, свържи се с администраторите на тази инстанция и посочи този IP адрес.} other {Ако смяташ, че това е грешка, свържи се със {appealEmail} и посочи този IP адрес.}}", "permissions.missing_access": "Нямаш достъп до този ресурс или функция.", "permissions.missing_permissions": "Нямаш необходимите разрешения, за да изпълниш това действие.", "permissions.user_banned_from_guild": "Този потребител има наложена забрана в тази общност.", @@ -435,7 +435,7 @@ const ERROR_I18N_BG_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Тестовите покупки не могат да се приложат към този акаунт.", "store_billing.unavailable": "Покупките в приложението в момента не са достъпни. Опитай отново по-късно.", "store_billing.unknown_purchase": "Неизвестна покупка от магазина.", - "stripe.error": "Възникна грешка при обработката на плащането. Опитай отново или се свържи с поддръжката.", + "stripe.error": "{supportEmail, select, null {Възникна грешка при обработката на плащането. Опитай отново или се свържи с администраторите на тази инстанция.} other {Възникна грешка при обработката на плащането. Опитай отново или се свържи с поддръжката.}}", "stripe.invalid_product_configuration": "Невалидна конфигурация на продукт.", "stripe.invalid_product_selection": "Невалиден избор на продукт.", "stripe.no_active_subscription_found": "Не е намерен активен абонамент.", diff --git a/packages/errors/src/i18n/locales/cs.ts b/packages/errors/src/i18n/locales/cs.ts index 2a5676e71..6484ad01f 100644 --- a/packages/errors/src/i18n/locales/cs.ts +++ b/packages/errors/src/i18n/locales/cs.ts @@ -386,8 +386,8 @@ const ERROR_I18N_CS_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Neznámé nahlášení.", "moderation_and_reports.user_is_not_banned": "Tento uživatel není zabanován.", "names_and_normalization.name_empty_after_normalization": "Název nemůže být po normalizaci prázdný.", - "permissions.global_ip_banned": "Vaše IP adresa {ipAddress} byla správci platformy trvale zablokována pro Fluxer API. Pokud se domníváte, že jde o chybu, podejte odvolání na adrese support@fluxer.app. V odvolání uveďte tuto IP adresu.", - "permissions.global_ip_temporarily_banned": "Vaše IP adresa {ipAddress} byla dočasně zablokována pro Fluxer API. Blokace se po vypršení sama zruší. Pokud se domníváte, že jde o chybu, napište na adresu support@fluxer.com a uveďte tuto IP adresu.", + "permissions.global_ip_banned": "Vaše IP adresa {ipAddress} byla správci platformy trvale zablokována pro {product_name} API. {appealEmail, select, null {Pokud se domníváte, že jde o chybu, podejte odvolání u správců této instance.} other {Pokud se domníváte, že jde o chybu, podejte odvolání na adrese {appealEmail}.}} V odvolání uveďte tuto IP adresu.", + "permissions.global_ip_temporarily_banned": "Vaše IP adresa {ipAddress} byla dočasně zablokována pro {product_name} API. Blokace se po vypršení sama zruší. {appealEmail, select, null {Pokud se domníváte, že jde o chybu, kontaktujte správce této instance a uveďte tuto IP adresu.} other {Pokud se domníváte, že jde o chybu, napište na adresu {appealEmail} a uveďte tuto IP adresu.}}", "permissions.missing_access": "Nemáte přístup k tomuto zdroji nebo funkci.", "permissions.missing_permissions": "Nemáte potřebná oprávnění k provedení této akce.", "permissions.user_banned_from_guild": "Tento uživatel má v této komunitě ban.", @@ -435,7 +435,7 @@ const ERROR_I18N_CS_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Testovací nákupy nelze uplatnit na tento účet.", "store_billing.unavailable": "Nákupy v aplikaci teď nejsou k dispozici. Zkuste to znovu později.", "store_billing.unknown_purchase": "Neznámý nákup z obchodu.", - "stripe.error": "Při zpracování platby došlo k chybě. Zkuste to znovu nebo kontaktujte podporu.", + "stripe.error": "{supportEmail, select, null {Při zpracování platby došlo k chybě. Zkuste to znovu nebo kontaktujte správce této instance.} other {Při zpracování platby došlo k chybě. Zkuste to znovu nebo kontaktujte podporu.}}", "stripe.invalid_product_configuration": "Neplatná konfigurace produktu.", "stripe.invalid_product_selection": "Neplatný výběr produktu.", "stripe.no_active_subscription_found": "Nebylo nalezeno žádné aktivní předplatné.", diff --git a/packages/errors/src/i18n/locales/da.ts b/packages/errors/src/i18n/locales/da.ts index 852e74051..e5128278a 100644 --- a/packages/errors/src/i18n/locales/da.ts +++ b/packages/errors/src/i18n/locales/da.ts @@ -386,8 +386,8 @@ const ERROR_I18N_DA_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Ukendt anmeldelse.", "moderation_and_reports.user_is_not_banned": "Denne bruger er ikke udelukket.", "names_and_normalization.name_empty_after_normalization": "Navnet må ikke være tomt efter normalisering.", - "permissions.global_ip_banned": "Din IP-adresse {ipAddress} er permanent blokeret fra Fluxer API af platformadministratorer. Hvis du mener, at dette er en fejl, kan du kontakte support@fluxer.app for at klage. Medtag denne IP-adresse i klagen.", - "permissions.global_ip_temporarily_banned": "Din IP-adresse {ipAddress} er midlertidigt blokeret fra Fluxer API. Blokeringen ophæves automatisk, når den udløber. Hvis du mener, at dette er en fejl, kan du kontakte support@fluxer.com og oplyse denne IP-adresse.", + "permissions.global_ip_banned": "Din IP-adresse {ipAddress} er permanent blokeret fra {product_name} API af platformadministratorer. {appealEmail, select, null {Hvis du mener, at dette er en fejl, kan du kontakte administratorerne af denne instans for at klage.} other {Hvis du mener, at dette er en fejl, kan du kontakte {appealEmail} for at klage.}} Medtag denne IP-adresse i klagen.", + "permissions.global_ip_temporarily_banned": "Din IP-adresse {ipAddress} er midlertidigt blokeret fra {product_name} API. Blokeringen ophæves automatisk, når den udløber. {appealEmail, select, null {Hvis du mener, at dette er en fejl, kan du kontakte administratorerne af denne instans og oplyse denne IP-adresse.} other {Hvis du mener, at dette er en fejl, kan du kontakte {appealEmail} og oplyse denne IP-adresse.}}", "permissions.missing_access": "Du har ikke adgang til denne ressource eller funktion.", "permissions.missing_permissions": "Du har ikke de nødvendige tilladelser til at udføre denne handling.", "permissions.user_banned_from_guild": "Denne bruger er udelukket fra dette fællesskab.", @@ -435,7 +435,7 @@ const ERROR_I18N_DA_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Testkøb kan ikke anvendes på denne konto.", "store_billing.unavailable": "Køb i appen er ikke tilgængelige lige nu. Prøv igen senere.", "store_billing.unknown_purchase": "Ukendt køb fra butikken.", - "stripe.error": "Noget gik galt under betalingsbehandlingen. Prøv igen eller kontakt support.", + "stripe.error": "{supportEmail, select, null {Noget gik galt under betalingsbehandlingen. Prøv igen eller kontakt administratorerne af denne instans.} other {Noget gik galt under betalingsbehandlingen. Prøv igen eller kontakt support.}}", "stripe.invalid_product_configuration": "Ugyldig produktkonfiguration.", "stripe.invalid_product_selection": "Ugyldigt produktvalg.", "stripe.no_active_subscription_found": "Intet aktivt abonnement fundet.", diff --git a/packages/errors/src/i18n/locales/de.ts b/packages/errors/src/i18n/locales/de.ts index 3823d9092..04678cb04 100644 --- a/packages/errors/src/i18n/locales/de.ts +++ b/packages/errors/src/i18n/locales/de.ts @@ -386,8 +386,8 @@ const ERROR_I18N_DE_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Unbekannte Meldung.", "moderation_and_reports.user_is_not_banned": "Dieser Benutzer ist nicht gebannt.", "names_and_normalization.name_empty_after_normalization": "Der Name darf nach der Normalisierung nicht leer bleiben.", - "permissions.global_ip_banned": "Deine IP-Adresse {ipAddress} wurde von Plattformadministratoren dauerhaft von der Fluxer API gesperrt. Wenn du glaubst, dass dies ein Fehler ist, kontaktiere support@fluxer.app, um Einspruch einzulegen. Gib diese IP-Adresse in deinem Einspruch an.", - "permissions.global_ip_temporarily_banned": "Deine IP-Adresse {ipAddress} wurde vorübergehend von der Fluxer API gesperrt. Die Sperre wird automatisch aufgehoben, sobald sie abläuft. Wenn du glaubst, dass dies ein Fehler ist, kontaktiere support@fluxer.com und gib diese IP-Adresse an.", + "permissions.global_ip_banned": "Deine IP-Adresse {ipAddress} wurde von Plattformadministratoren dauerhaft von der {product_name} API gesperrt. {appealEmail, select, null {Wenn du glaubst, dass dies ein Fehler ist, kontaktiere die Administratoren dieser Instanz, um Einspruch einzulegen.} other {Wenn du glaubst, dass dies ein Fehler ist, kontaktiere {appealEmail}, um Einspruch einzulegen.}} Gib diese IP-Adresse in deinem Einspruch an.", + "permissions.global_ip_temporarily_banned": "Deine IP-Adresse {ipAddress} wurde vorübergehend von der {product_name} API gesperrt. Die Sperre wird automatisch aufgehoben, sobald sie abläuft. {appealEmail, select, null {Wenn du glaubst, dass dies ein Fehler ist, kontaktiere die Administratoren dieser Instanz und gib diese IP-Adresse an.} other {Wenn du glaubst, dass dies ein Fehler ist, kontaktiere {appealEmail} und gib diese IP-Adresse an.}}", "permissions.missing_access": "Du hast keinen Zugriff auf diese Ressource oder Funktion.", "permissions.missing_permissions": "Du hast nicht die erforderlichen Berechtigungen, um diese Aktion auszuführen.", "permissions.user_banned_from_guild": "Dieser Benutzer ist aus dieser Community gebannt.", @@ -435,7 +435,7 @@ const ERROR_I18N_DE_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Testkäufe können nicht auf dieses Konto angewendet werden.", "store_billing.unavailable": "In-App-Käufe sind gerade nicht verfügbar. Versuch es später noch mal.", "store_billing.unknown_purchase": "Unbekannter Store-Kauf.", - "stripe.error": "Bei der Zahlungsabwicklung ist ein Fehler aufgetreten. Versuch es noch mal oder kontaktiere den Support.", + "stripe.error": "{supportEmail, select, null {Bei der Zahlungsabwicklung ist ein Fehler aufgetreten. Versuch es noch mal oder kontaktiere die Administratoren dieser Instanz.} other {Bei der Zahlungsabwicklung ist ein Fehler aufgetreten. Versuch es noch mal oder kontaktiere den Support.}}", "stripe.invalid_product_configuration": "Ungültige Produktkonfiguration.", "stripe.invalid_product_selection": "Ungültige Produktauswahl.", "stripe.no_active_subscription_found": "Kein aktives Abonnement gefunden.", diff --git a/packages/errors/src/i18n/locales/el.ts b/packages/errors/src/i18n/locales/el.ts index 0e3cb25b4..10f2637bc 100644 --- a/packages/errors/src/i18n/locales/el.ts +++ b/packages/errors/src/i18n/locales/el.ts @@ -386,8 +386,8 @@ const ERROR_I18N_EL_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Άγνωστη αναφορά.", "moderation_and_reports.user_is_not_banned": "Αυτός ο χρήστης δεν έχει αποκλειστεί.", "names_and_normalization.name_empty_after_normalization": "Το όνομα δεν μπορεί να είναι κενό μετά την κανονικοποίηση.", - "permissions.global_ip_banned": "Η διεύθυνση IP σου {ipAddress} έχει αποκλειστεί μόνιμα από το Fluxer API από τους διαχειριστές της πλατφόρμας. Αν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με support@fluxer.app για να υποβάλεις προσφυγή. Συμπερίλαβε αυτήν τη διεύθυνση IP στην προσφυγή σου.", - "permissions.global_ip_temporarily_banned": "Η διεύθυνση IP σου {ipAddress} έχει αποκλειστεί προσωρινά από το Fluxer API. Ο αποκλεισμός αίρεται αυτόματα όταν λήξει. Αν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με support@fluxer.com και συμπερίλαβε αυτήν τη διεύθυνση IP.", + "permissions.global_ip_banned": "Η διεύθυνση IP σου {ipAddress} έχει αποκλειστεί μόνιμα από το {product_name} API από τους διαχειριστές της πλατφόρμας. {appealEmail, select, null {Αν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με τους διαχειριστές αυτής της παρουσίας για να υποβάλεις προσφυγή.} other {Αν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με {appealEmail} για να υποβάλεις προσφυγή.}} Συμπερίλαβε αυτήν τη διεύθυνση IP στην προσφυγή σου.", + "permissions.global_ip_temporarily_banned": "Η διεύθυνση IP σου {ipAddress} έχει αποκλειστεί προσωρινά από το {product_name} API. Ο αποκλεισμός αίρεται αυτόματα όταν λήξει. {appealEmail, select, null {Αν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με τους διαχειριστές αυτής της παρουσίας και συμπερίλαβε αυτήν τη διεύθυνση IP.} other {Αν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με {appealEmail} και συμπερίλαβε αυτήν τη διεύθυνση IP.}}", "permissions.missing_access": "Δεν έχεις πρόσβαση σε αυτόν τον πόρο ή σε αυτήν τη λειτουργία.", "permissions.missing_permissions": "Δεν έχεις τα απαραίτητα δικαιώματα για να εκτελέσεις αυτήν την ενέργεια.", "permissions.user_banned_from_guild": "Αυτός ο χρήστης έχει αποκλειστεί από αυτήν την κοινότητα.", @@ -435,7 +435,7 @@ const ERROR_I18N_EL_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Οι δοκιμαστικές αγορές δεν μπορούν να εφαρμοστούν σε αυτόν τον λογαριασμό.", "store_billing.unavailable": "Οι αγορές εντός εφαρμογής δεν είναι διαθέσιμες αυτή τη στιγμή. Δοκίμασε ξανά αργότερα.", "store_billing.unknown_purchase": "Άγνωστη αγορά από το κατάστημα.", - "stripe.error": "Παρουσιάστηκε σφάλμα στην επεξεργασία πληρωμής. Δοκίμασε ξανά ή επικοινώνησε με την υποστήριξη.", + "stripe.error": "{supportEmail, select, null {Παρουσιάστηκε σφάλμα στην επεξεργασία πληρωμής. Δοκίμασε ξανά ή επικοινώνησε με τους διαχειριστές αυτής της παρουσίας.} other {Παρουσιάστηκε σφάλμα στην επεξεργασία πληρωμής. Δοκίμασε ξανά ή επικοινώνησε με την υποστήριξη.}}", "stripe.invalid_product_configuration": "Μη έγκυρη διαμόρφωση προϊόντος.", "stripe.invalid_product_selection": "Μη έγκυρη επιλογή προϊόντος.", "stripe.no_active_subscription_found": "Δεν βρέθηκε ενεργή συνδρομή.", diff --git a/packages/errors/src/i18n/locales/en-GB.ts b/packages/errors/src/i18n/locales/en-GB.ts index 13490a8ba..a7b6f3062 100644 --- a/packages/errors/src/i18n/locales/en-GB.ts +++ b/packages/errors/src/i18n/locales/en-GB.ts @@ -386,8 +386,8 @@ const ERROR_I18N_EN_GB_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Unknown report.", "moderation_and_reports.user_is_not_banned": "This user isn't banned.", "names_and_normalization.name_empty_after_normalization": "Name can't be empty after normalisation.", - "permissions.global_ip_banned": "Your IP address {ipAddress} has been permanently blocked from the Fluxer API by platform administrators. If you believe this is a mistake, contact support@fluxer.app to appeal. Include this IP address in your appeal.", - "permissions.global_ip_temporarily_banned": "Your IP address {ipAddress} has been temporarily blocked from the Fluxer API. The block lifts on its own when it expires. If you think this is a mistake, contact support@fluxer.com and include this IP address.", + "permissions.global_ip_banned": "Your IP address {ipAddress} has been permanently blocked from the {product_name} API by platform administrators. {appealEmail, select, null {If you believe this is a mistake, contact the administrators of this instance to appeal.} other {If you believe this is a mistake, contact {appealEmail} to appeal.}} Include this IP address in your appeal.", + "permissions.global_ip_temporarily_banned": "Your IP address {ipAddress} has been temporarily blocked from the {product_name} API. The block lifts on its own when it expires. {appealEmail, select, null {If you think this is a mistake, contact the administrators of this instance and include this IP address.} other {If you think this is a mistake, contact {appealEmail} and include this IP address.}}", "permissions.missing_access": "You don't have access to this resource or feature.", "permissions.missing_permissions": "You don't have the permissions required to perform this action.", "permissions.user_banned_from_guild": "This user is banned from this community.", @@ -435,7 +435,7 @@ const ERROR_I18N_EN_GB_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Test purchases cannot be applied to this account.", "store_billing.unavailable": "In-app purchases are unavailable right now. Try again later.", "store_billing.unknown_purchase": "Unknown store purchase.", - "stripe.error": "Payment processing encountered an error. Please try again or contact support.", + "stripe.error": "{supportEmail, select, null {Payment processing encountered an error. Please try again or contact the administrators of this instance.} other {Payment processing encountered an error. Please try again or contact support.}}", "stripe.invalid_product_configuration": "Invalid product configuration.", "stripe.invalid_product_selection": "Invalid product selection.", "stripe.no_active_subscription_found": "No active subscription found.", diff --git a/packages/errors/src/i18n/locales/es-419.ts b/packages/errors/src/i18n/locales/es-419.ts index d96f557ca..62cd6ba9a 100644 --- a/packages/errors/src/i18n/locales/es-419.ts +++ b/packages/errors/src/i18n/locales/es-419.ts @@ -386,8 +386,8 @@ const ERROR_I18N_ES_419_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Reporte desconocido.", "moderation_and_reports.user_is_not_banned": "Este usuario no ha sido baneado.", "names_and_normalization.name_empty_after_normalization": "El nombre no puede quedar vacío después de la normalización.", - "permissions.global_ip_banned": "Tu dirección IP {ipAddress} fue bloqueada permanentemente de la API de Fluxer por administradores de la plataforma. Si crees que es un error, escribe a support@fluxer.app para apelar. Incluye esta dirección IP en tu apelación.", - "permissions.global_ip_temporarily_banned": "Tu dirección IP {ipAddress} fue bloqueada temporalmente de la API de Fluxer. El bloqueo se levanta automáticamente cuando vence. Si crees que es un error, escribe a support@fluxer.com e incluye esta dirección IP.", + "permissions.global_ip_banned": "Tu dirección IP {ipAddress} fue bloqueada permanentemente de la API de {product_name} por administradores de la plataforma. {appealEmail, select, null {Si crees que es un error, comunícate con los administradores de esta instancia para apelar.} other {Si crees que es un error, escribe a {appealEmail} para apelar.}} Incluye esta dirección IP en tu apelación.", + "permissions.global_ip_temporarily_banned": "Tu dirección IP {ipAddress} fue bloqueada temporalmente de la API de {product_name}. El bloqueo se levanta automáticamente cuando vence. {appealEmail, select, null {Si crees que es un error, comunícate con los administradores de esta instancia e incluye esta dirección IP.} other {Si crees que es un error, escribe a {appealEmail} e incluye esta dirección IP.}}", "permissions.missing_access": "No tienes acceso a este recurso o función.", "permissions.missing_permissions": "No tienes los permisos necesarios para realizar esta acción.", "permissions.user_banned_from_guild": "Este usuario ha sido baneado de esta comunidad.", @@ -435,7 +435,7 @@ const ERROR_I18N_ES_419_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Las compras de prueba no se pueden aplicar a esta cuenta.", "store_billing.unavailable": "Las compras dentro de la app no están disponibles en este momento. Inténtalo de nuevo más tarde.", "store_billing.unknown_purchase": "Compra de la tienda desconocida.", - "stripe.error": "El procesamiento del pago tuvo un error. Inténtalo de nuevo o contacta al equipo de soporte.", + "stripe.error": "{supportEmail, select, null {El procesamiento del pago tuvo un error. Inténtalo de nuevo o comunícate con los administradores de esta instancia.} other {El procesamiento del pago tuvo un error. Inténtalo de nuevo o contacta al equipo de soporte.}}", "stripe.invalid_product_configuration": "Configuración de producto inválida.", "stripe.invalid_product_selection": "Selección de producto inválida.", "stripe.no_active_subscription_found": "No se encontró una suscripción activa.", diff --git a/packages/errors/src/i18n/locales/es-ES.ts b/packages/errors/src/i18n/locales/es-ES.ts index ac4e39d1f..eeef6b2af 100644 --- a/packages/errors/src/i18n/locales/es-ES.ts +++ b/packages/errors/src/i18n/locales/es-ES.ts @@ -386,8 +386,8 @@ const ERROR_I18N_ES_ES_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Denuncia desconocida.", "moderation_and_reports.user_is_not_banned": "Este usuario no está baneado.", "names_and_normalization.name_empty_after_normalization": "El nombre no puede quedar vacío tras la normalización.", - "permissions.global_ip_banned": "Tu dirección IP {ipAddress} ha sido bloqueada permanentemente de la API de Fluxer por administradores de la plataforma. Si crees que es un error, contacta con support@fluxer.app para apelar. Incluye esta dirección IP en la apelación.", - "permissions.global_ip_temporarily_banned": "Tu dirección IP {ipAddress} ha sido bloqueada temporalmente de la API de Fluxer. El bloqueo se levantará automáticamente cuando caduque. Si crees que es un error, contacta con support@fluxer.com e incluye esta dirección IP.", + "permissions.global_ip_banned": "Tu dirección IP {ipAddress} ha sido bloqueada permanentemente de la API de {product_name} por administradores de la plataforma. {appealEmail, select, null {Si crees que es un error, contacta con los administradores de esta instancia para apelar.} other {Si crees que es un error, contacta con {appealEmail} para apelar.}} Incluye esta dirección IP en la apelación.", + "permissions.global_ip_temporarily_banned": "Tu dirección IP {ipAddress} ha sido bloqueada temporalmente de la API de {product_name}. El bloqueo se levantará automáticamente cuando caduque. {appealEmail, select, null {Si crees que es un error, contacta con los administradores de esta instancia e incluye esta dirección IP.} other {Si crees que es un error, contacta con {appealEmail} e incluye esta dirección IP.}}", "permissions.missing_access": "No tienes acceso a este recurso o función.", "permissions.missing_permissions": "No tienes los permisos necesarios para realizar esta acción.", "permissions.user_banned_from_guild": "Este usuario está baneado de esta comunidad.", @@ -435,7 +435,7 @@ const ERROR_I18N_ES_ES_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Las compras de prueba no se pueden aplicar a esta cuenta.", "store_billing.unavailable": "Las compras dentro de la aplicación no están disponibles ahora mismo. Inténtalo de nuevo más tarde.", "store_billing.unknown_purchase": "Compra de la tienda desconocida.", - "stripe.error": "El procesamiento del pago ha encontrado un error. Inténtalo de nuevo o contacta con soporte.", + "stripe.error": "{supportEmail, select, null {El procesamiento del pago ha encontrado un error. Inténtalo de nuevo o contacta con los administradores de esta instancia.} other {El procesamiento del pago ha encontrado un error. Inténtalo de nuevo o contacta con soporte.}}", "stripe.invalid_product_configuration": "Configuración de producto no válida.", "stripe.invalid_product_selection": "Selección de producto no válida.", "stripe.no_active_subscription_found": "No se encontró ninguna suscripción activa.", diff --git a/packages/errors/src/i18n/locales/fi.ts b/packages/errors/src/i18n/locales/fi.ts index 1454e4e2f..6296fdb43 100644 --- a/packages/errors/src/i18n/locales/fi.ts +++ b/packages/errors/src/i18n/locales/fi.ts @@ -386,8 +386,8 @@ const ERROR_I18N_FI_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Tuntematon ilmoitus.", "moderation_and_reports.user_is_not_banned": "Tällä käyttäjällä ei ole porttikieltoa.", "names_and_normalization.name_empty_after_normalization": "Normalisoinnin jälkeen nimi ei voi olla tyhjä.", - "permissions.global_ip_banned": "Alustan ylläpitäjät ovat estäneet IP-osoitteelta {ipAddress} pääsyn Fluxer API -rajapintaan pysyvästi. Jos uskot tämän olevan virhe, lähetä valitus osoitteeseen support@fluxer.app. Liitä tämä IP-osoite valitukseesi.", - "permissions.global_ip_temporarily_banned": "IP-osoitteeltasi {ipAddress} on estetty väliaikaisesti pääsy Fluxer API -rajapintaan. Esto poistuu automaattisesti, kun sen voimassaolo päättyy. Jos uskot tämän olevan virhe, ota yhteyttä osoitteeseen support@fluxer.com ja mainitse tämä IP-osoite.", + "permissions.global_ip_banned": "Alustan ylläpitäjät ovat estäneet IP-osoitteelta {ipAddress} pääsyn {product_name} API -rajapintaan pysyvästi. {appealEmail, select, null {Jos uskot tämän olevan virhe, lähetä valitus tämän instanssin ylläpitäjille.} other {Jos uskot tämän olevan virhe, lähetä valitus osoitteeseen {appealEmail}.}} Liitä tämä IP-osoite valitukseesi.", + "permissions.global_ip_temporarily_banned": "IP-osoitteeltasi {ipAddress} on estetty väliaikaisesti pääsy {product_name} API -rajapintaan. Esto poistuu automaattisesti, kun sen voimassaolo päättyy. {appealEmail, select, null {Jos uskot tämän olevan virhe, ota yhteyttä tämän instanssin ylläpitäjiin ja mainitse tämä IP-osoite.} other {Jos uskot tämän olevan virhe, ota yhteyttä osoitteeseen {appealEmail} ja mainitse tämä IP-osoite.}}", "permissions.missing_access": "Ei oikeutta tähän resurssiin tai ominaisuuteen.", "permissions.missing_permissions": "Ei tarvittavia oikeuksia tämän toiminnon tekemiseen.", "permissions.user_banned_from_guild": "Tällä käyttäjällä on porttikielto tähän yhteisöön.", @@ -435,7 +435,7 @@ const ERROR_I18N_FI_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Testiostoja ei voi käyttää tällä tilillä.", "store_billing.unavailable": "Sovelluksen sisäiset ostot eivät ole juuri nyt käytettävissä. Yritä myöhemmin uudelleen.", "store_billing.unknown_purchase": "Tuntematon kauppaostos.", - "stripe.error": "Maksun käsittelyssä tapahtui virhe. Yritä uudelleen tai ota yhteyttä tukeen.", + "stripe.error": "{supportEmail, select, null {Maksun käsittelyssä tapahtui virhe. Yritä uudelleen tai ota yhteyttä tämän instanssin ylläpitäjiin.} other {Maksun käsittelyssä tapahtui virhe. Yritä uudelleen tai ota yhteyttä tukeen.}}", "stripe.invalid_product_configuration": "Virheellinen tuotekonfiguraatio.", "stripe.invalid_product_selection": "Virheellinen tuotevalinta.", "stripe.no_active_subscription_found": "Aktiivista tilausta ei löytynyt.", diff --git a/packages/errors/src/i18n/locales/fr.ts b/packages/errors/src/i18n/locales/fr.ts index db0c2ea7f..3b6340314 100644 --- a/packages/errors/src/i18n/locales/fr.ts +++ b/packages/errors/src/i18n/locales/fr.ts @@ -386,8 +386,8 @@ const ERROR_I18N_FR_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Signalement inconnu.", "moderation_and_reports.user_is_not_banned": "Cet utilisateur n'est pas banni.", "names_and_normalization.name_empty_after_normalization": "Le nom ne peut pas être vide une fois normalisé.", - "permissions.global_ip_banned": "Les administrateurs de la plateforme ont définitivement bloqué l’accès à Fluxer API depuis votre adresse IP {ipAddress}. Si vous pensez qu’il s’agit d’une erreur, écrivez à support@fluxer.app pour déposer un recours. Indiquez cette adresse IP dans votre recours.", - "permissions.global_ip_temporarily_banned": "L’accès à Fluxer API depuis votre adresse IP {ipAddress} a été temporairement bloqué. Le blocage sera levé automatiquement à son expiration. Si vous pensez qu’il s’agit d’une erreur, écrivez à support@fluxer.com en indiquant cette adresse IP.", + "permissions.global_ip_banned": "Les administrateurs de la plateforme ont définitivement bloqué l’accès à {product_name} API depuis votre adresse IP {ipAddress}. {appealEmail, select, null {Si vous pensez qu’il s’agit d’une erreur, contactez les administrateurs de cette instance pour déposer un recours.} other {Si vous pensez qu’il s’agit d’une erreur, écrivez à {appealEmail} pour déposer un recours.}} Indiquez cette adresse IP dans votre recours.", + "permissions.global_ip_temporarily_banned": "L’accès à {product_name} API depuis votre adresse IP {ipAddress} a été temporairement bloqué. Le blocage sera levé automatiquement à son expiration. {appealEmail, select, null {Si vous pensez qu’il s’agit d’une erreur, contactez les administrateurs de cette instance en indiquant cette adresse IP.} other {Si vous pensez qu’il s’agit d’une erreur, écrivez à {appealEmail} en indiquant cette adresse IP.}}", "permissions.missing_access": "Vous n’avez pas accès à cette ressource ou fonctionnalité.", "permissions.missing_permissions": "Vous n’avez pas les permissions requises pour effectuer cette action.", "permissions.user_banned_from_guild": "Cet utilisateur est banni de cette communauté.", @@ -435,7 +435,7 @@ const ERROR_I18N_FR_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Les achats de test ne peuvent pas être appliqués à ce compte.", "store_billing.unavailable": "Les achats intégrés sont indisponibles pour le moment. Réessayez plus tard.", "store_billing.unknown_purchase": "Achat en boutique inconnu.", - "stripe.error": "Une erreur est survenue lors du traitement du paiement. Réessayez ou contactez l’assistance.", + "stripe.error": "{supportEmail, select, null {Une erreur est survenue lors du traitement du paiement. Réessayez ou contactez les administrateurs de cette instance.} other {Une erreur est survenue lors du traitement du paiement. Réessayez ou contactez l’assistance.}}", "stripe.invalid_product_configuration": "Configuration de produit invalide.", "stripe.invalid_product_selection": "Sélection de produit invalide.", "stripe.no_active_subscription_found": "Aucun abonnement actif trouvé.", diff --git a/packages/errors/src/i18n/locales/he.ts b/packages/errors/src/i18n/locales/he.ts index 50337edba..e62b75753 100644 --- a/packages/errors/src/i18n/locales/he.ts +++ b/packages/errors/src/i18n/locales/he.ts @@ -386,8 +386,8 @@ const ERROR_I18N_HE_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "דיווח לא ידוע.", "moderation_and_reports.user_is_not_banned": "משתמש זה לא חסום.", "names_and_normalization.name_empty_after_normalization": "השם לא יכול להיות ריק לאחר נורמליזציה.", - "permissions.global_ip_banned": "כתובת ה-IP שלך {ipAddress} נחסמה לצמיתות מ-Fluxer API על ידי מנהלי הפלטפורמה. אם לדעתך זו טעות, אפשר לפנות אל support@fluxer.app כדי לערער. יש לכלול את כתובת ה-IP הזו בערעור.", - "permissions.global_ip_temporarily_banned": "כתובת ה-IP שלך {ipAddress} נחסמה זמנית מ-Fluxer API. החסימה תוסר אוטומטית כשתפוג. אם לדעתך זו טעות, אפשר לפנות אל support@fluxer.com ולציין את כתובת ה-IP הזו.", + "permissions.global_ip_banned": "כתובת ה-IP שלך {ipAddress} נחסמה לצמיתות מ-{product_name} API על ידי מנהלי הפלטפורמה. {appealEmail, select, null {אם לדעתך זו טעות, אפשר לפנות אל מנהלי המערכת של המופע הזה כדי לערער.} other {אם לדעתך זו טעות, אפשר לפנות אל {appealEmail} כדי לערער.}} יש לכלול את כתובת ה-IP הזו בערעור.", + "permissions.global_ip_temporarily_banned": "כתובת ה-IP שלך {ipAddress} נחסמה זמנית מ-{product_name} API. החסימה תוסר אוטומטית כשתפוג. {appealEmail, select, null {אם לדעתך זו טעות, אפשר לפנות אל מנהלי המערכת של המופע הזה ולציין את כתובת ה-IP הזו.} other {אם לדעתך זו טעות, אפשר לפנות אל {appealEmail} ולציין את כתובת ה-IP הזו.}}", "permissions.missing_access": "אין לך גישה למשאב או לתכונה הזו.", "permissions.missing_permissions": "אין לך את ההרשאות הנדרשות לביצוע פעולה זו.", "permissions.user_banned_from_guild": "משתמש זה חסום בקהילה זו.", @@ -435,7 +435,7 @@ const ERROR_I18N_HE_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "לא ניתן להחיל רכישות ניסיון על החשבון הזה.", "store_billing.unavailable": "רכישות בתוך האפליקציה אינן זמינות כרגע. ניתן לנסות שוב מאוחר יותר.", "store_billing.unknown_purchase": "רכישה לא ידועה מהחנות.", - "stripe.error": "אירעה שגיאה בעיבוד התשלום. ניתן לנסות שוב או לפנות לתמיכה.", + "stripe.error": "{supportEmail, select, null {אירעה שגיאה בעיבוד התשלום. ניתן לנסות שוב או לפנות אל מנהלי המערכת של המופע הזה.} other {אירעה שגיאה בעיבוד התשלום. ניתן לנסות שוב או לפנות לתמיכה.}}", "stripe.invalid_product_configuration": "תצורת מוצר שגויה.", "stripe.invalid_product_selection": "בחירת מוצר שגויה.", "stripe.no_active_subscription_found": "לא נמצא מנוי פעיל.", diff --git a/packages/errors/src/i18n/locales/hi.ts b/packages/errors/src/i18n/locales/hi.ts index 670034402..3d688fff6 100644 --- a/packages/errors/src/i18n/locales/hi.ts +++ b/packages/errors/src/i18n/locales/hi.ts @@ -386,8 +386,8 @@ const ERROR_I18N_HI_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "अज्ञात रिपोर्ट।", "moderation_and_reports.user_is_not_banned": "यह यूज़र बैन नहीं है।", "names_and_normalization.name_empty_after_normalization": "नॉर्मलाइज़ेशन के बाद नाम खाली नहीं हो सकता।", - "permissions.global_ip_banned": "आपका IP पता {ipAddress} प्लेटफ़ॉर्म एडमिनों द्वारा Fluxer API से स्थायी रूप से ब्लॉक कर दिया गया है। अगर आपको लगता है कि यह गलती है, तो अपील के लिए support@fluxer.app से संपर्क करें। अपनी अपील में यह IP पता शामिल करें।", - "permissions.global_ip_temporarily_banned": "आपका IP पता {ipAddress} Fluxer API से अस्थायी रूप से ब्लॉक कर दिया गया है। समय पूरा होने पर ब्लॉक अपने-आप हट जाएगा। अगर आपको लगता है कि यह गलती है, तो support@fluxer.com से संपर्क करें और यह IP पता शामिल करें।", + "permissions.global_ip_banned": "आपका IP पता {ipAddress} प्लेटफ़ॉर्म एडमिनों द्वारा {product_name} API से स्थायी रूप से ब्लॉक कर दिया गया है। {appealEmail, select, null {अगर आपको लगता है कि यह गलती है, तो अपील के लिए इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {अगर आपको लगता है कि यह गलती है, तो अपील के लिए {appealEmail} से संपर्क करें।}} अपनी अपील में यह IP पता शामिल करें।", + "permissions.global_ip_temporarily_banned": "आपका IP पता {ipAddress} {product_name} API से अस्थायी रूप से ब्लॉक कर दिया गया है। समय पूरा होने पर ब्लॉक अपने-आप हट जाएगा। {appealEmail, select, null {अगर आपको लगता है कि यह गलती है, तो इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें और यह IP पता शामिल करें।} other {अगर आपको लगता है कि यह गलती है, तो {appealEmail} से संपर्क करें और यह IP पता शामिल करें।}}", "permissions.missing_access": "आपके पास इस रिसोर्स या फ़ीचर का एक्सेस नहीं है।", "permissions.missing_permissions": "आपके पास यह एक्शन करने के लिए ज़रूरी अनुमति नहीं है।", "permissions.user_banned_from_guild": "इस यूज़र को इस कम्युनिटी से बैन कर दिया गया है।", @@ -435,7 +435,7 @@ const ERROR_I18N_HI_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "टेस्ट खरीदारी इस खाते पर लागू नहीं की जा सकती।", "store_billing.unavailable": "इन-ऐप खरीदारी अभी उपलब्ध नहीं है। कृपया बाद में फिर से प्रयास करें।", "store_billing.unknown_purchase": "अज्ञात स्टोर खरीदारी।", - "stripe.error": "पेमेंट प्रोसेसिंग में गड़बड़ी हुई। कृपया फिर से प्रयास करें या सपोर्ट से संपर्क करें।", + "stripe.error": "{supportEmail, select, null {पेमेंट प्रोसेसिंग में गड़बड़ी हुई। कृपया फिर से प्रयास करें या इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {पेमेंट प्रोसेसिंग में गड़बड़ी हुई। कृपया फिर से प्रयास करें या सपोर्ट से संपर्क करें।}}", "stripe.invalid_product_configuration": "अमान्य प्रोडक्ट कॉन्फ़िगरेशन।", "stripe.invalid_product_selection": "अमान्य प्रोडक्ट चयन।", "stripe.no_active_subscription_found": "कोई एक्टिव सब्सक्रिप्शन नहीं मिला।", diff --git a/packages/errors/src/i18n/locales/hr.ts b/packages/errors/src/i18n/locales/hr.ts index 7813d84e5..bc7e214bc 100644 --- a/packages/errors/src/i18n/locales/hr.ts +++ b/packages/errors/src/i18n/locales/hr.ts @@ -386,8 +386,8 @@ const ERROR_I18N_HR_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Nepoznata prijava.", "moderation_and_reports.user_is_not_banned": "Ovaj korisnik nema zabranu.", "names_and_normalization.name_empty_after_normalization": "Ime ne može biti prazno nakon normalizacije.", - "permissions.global_ip_banned": "Administratori platforme trajno su blokirali pristup Fluxer API-ju s tvoje IP adrese {ipAddress}. Ako smatraš da je to pogreška, javi se na support@fluxer.app i uloži žalbu. U žalbu uključi ovu IP adresu.", - "permissions.global_ip_temporarily_banned": "Pristup Fluxer API-ju s tvoje IP adrese {ipAddress} privremeno je blokiran. Blokada se automatski uklanja kada istekne. Ako smatraš da je to pogreška, javi se na support@fluxer.com i navedi ovu IP adresu.", + "permissions.global_ip_banned": "Administratori platforme trajno su blokirali pristup {product_name} API-ju s tvoje IP adrese {ipAddress}. {appealEmail, select, null {Ako smatraš da je to pogreška, obrati se administratorima ove instance i uloži žalbu.} other {Ako smatraš da je to pogreška, javi se na {appealEmail} i uloži žalbu.}} U žalbu uključi ovu IP adresu.", + "permissions.global_ip_temporarily_banned": "Pristup {product_name} API-ju s tvoje IP adrese {ipAddress} privremeno je blokiran. Blokada se automatski uklanja kada istekne. {appealEmail, select, null {Ako smatraš da je to pogreška, obrati se administratorima ove instance i navedi ovu IP adresu.} other {Ako smatraš da je to pogreška, javi se na {appealEmail} i navedi ovu IP adresu.}}", "permissions.missing_access": "Nemaš pristup ovom resursu ili značajci.", "permissions.missing_permissions": "Nemaš potrebna dopuštenja za ovu radnju.", "permissions.user_banned_from_guild": "Ovaj korisnik ima zabranu pristupa ovoj zajednici.", @@ -435,7 +435,7 @@ const ERROR_I18N_HR_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Testne kupnje ne mogu se primijeniti na ovaj račun.", "store_billing.unavailable": "Kupnje unutar aplikacije trenutačno nisu dostupne. Pokušaj ponovno kasnije.", "store_billing.unknown_purchase": "Nepoznata kupnja iz trgovine.", - "stripe.error": "Došlo je do pogreške pri obradi plaćanja. Pokušaj ponovno ili se javi podršci.", + "stripe.error": "{supportEmail, select, null {Došlo je do pogreške pri obradi plaćanja. Pokušaj ponovno ili se obrati administratorima ove instance.} other {Došlo je do pogreške pri obradi plaćanja. Pokušaj ponovno ili se javi podršci.}}", "stripe.invalid_product_configuration": "Nevažeća konfiguracija proizvoda.", "stripe.invalid_product_selection": "Nevažeći odabir proizvoda.", "stripe.no_active_subscription_found": "Nema aktivne pretplate.", diff --git a/packages/errors/src/i18n/locales/hu.ts b/packages/errors/src/i18n/locales/hu.ts index da702d2f5..be22b48b6 100644 --- a/packages/errors/src/i18n/locales/hu.ts +++ b/packages/errors/src/i18n/locales/hu.ts @@ -386,8 +386,8 @@ const ERROR_I18N_HU_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Ismeretlen bejelentés.", "moderation_and_reports.user_is_not_banned": "Ez a felhasználó nincs kitiltva.", "names_and_normalization.name_empty_after_normalization": "Normalizálás után a név nem lehet üres.", - "permissions.global_ip_banned": "Az IP-címedet ({ipAddress}) a platform adminisztrátorai véglegesen letiltották a Fluxer API használatáról. Ha úgy gondolod, hogy ez tévedés, a support@fluxer.app címre írhatsz fellebbezést. Add meg benne ezt az IP-címet.", - "permissions.global_ip_temporarily_banned": "Az IP-címedet ({ipAddress}) ideiglenesen letiltottuk a Fluxer API használatáról. A tiltás a lejártakor magától megszűnik. Ha úgy gondolod, hogy ez tévedés, írj a support@fluxer.com címre, és add meg ezt az IP-címet.", + "permissions.global_ip_banned": "Az IP-címedet ({ipAddress}) a platform adminisztrátorai véglegesen letiltották a {product_name} API használatáról. {appealEmail, select, null {Ha úgy gondolod, hogy ez tévedés, ennek a példánynak az adminisztrátoraihoz nyújthatsz be fellebbezést.} other {Ha úgy gondolod, hogy ez tévedés, a {appealEmail} címre írhatsz fellebbezést.}} Add meg benne ezt az IP-címet.", + "permissions.global_ip_temporarily_banned": "Az IP-címedet ({ipAddress}) ideiglenesen letiltottuk a {product_name} API használatáról. A tiltás a lejártakor magától megszűnik. {appealEmail, select, null {Ha úgy gondolod, hogy ez tévedés, fordulj ennek a példánynak az adminisztrátoraihoz, és add meg ezt az IP-címet.} other {Ha úgy gondolod, hogy ez tévedés, írj a {appealEmail} címre, és add meg ezt az IP-címet.}}", "permissions.missing_access": "Nem férsz hozzá ehhez az erőforráshoz vagy funkcióhoz.", "permissions.missing_permissions": "Nincs meg a művelet elvégzéséhez szükséges jogosultságod.", "permissions.user_banned_from_guild": "Ez a felhasználó ki van tiltva a közösségből.", @@ -435,7 +435,7 @@ const ERROR_I18N_HU_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "A tesztvásárlások nem alkalmazhatók erre a fiókra.", "store_billing.unavailable": "Az alkalmazáson belüli vásárlások most nem érhetők el. Próbáld újra később.", "store_billing.unknown_purchase": "Ismeretlen áruházi vásárlás.", - "stripe.error": "Hiba történt a fizetés feldolgozása során. Próbáld újra, vagy keresd az ügyfélszolgálatot.", + "stripe.error": "{supportEmail, select, null {Hiba történt a fizetés feldolgozása során. Próbáld újra, vagy fordulj ennek a példánynak az adminisztrátoraihoz.} other {Hiba történt a fizetés feldolgozása során. Próbáld újra, vagy keresd az ügyfélszolgálatot.}}", "stripe.invalid_product_configuration": "Érvénytelen termékkonfiguráció.", "stripe.invalid_product_selection": "Érvénytelen termékválasztás.", "stripe.no_active_subscription_found": "Nem található aktív előfizetés.", diff --git a/packages/errors/src/i18n/locales/id.ts b/packages/errors/src/i18n/locales/id.ts index cba95e617..5a8c76111 100644 --- a/packages/errors/src/i18n/locales/id.ts +++ b/packages/errors/src/i18n/locales/id.ts @@ -386,8 +386,8 @@ const ERROR_I18N_ID_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Laporan tidak dikenal.", "moderation_and_reports.user_is_not_banned": "Pengguna ini tidak diblokir.", "names_and_normalization.name_empty_after_normalization": "Nama tidak bisa kosong setelah normalisasi.", - "permissions.global_ip_banned": "Alamat IP kamu {ipAddress} telah diblokir permanen dari Fluxer API oleh admin platform. Jika kamu merasa ini keliru, hubungi support@fluxer.app untuk mengajukan banding. Sertakan alamat IP ini dalam bandingmu.", - "permissions.global_ip_temporarily_banned": "Alamat IP kamu {ipAddress} diblokir sementara dari Fluxer API. Pemblokiran akan dicabut secara otomatis saat masa berlakunya habis. Jika kamu merasa ini keliru, hubungi support@fluxer.com dan sertakan alamat IP ini.", + "permissions.global_ip_banned": "Alamat IP kamu {ipAddress} telah diblokir permanen dari {product_name} API oleh admin platform. {appealEmail, select, null {Jika kamu merasa ini keliru, hubungi administrator instance ini untuk mengajukan banding.} other {Jika kamu merasa ini keliru, hubungi {appealEmail} untuk mengajukan banding.}} Sertakan alamat IP ini dalam bandingmu.", + "permissions.global_ip_temporarily_banned": "Alamat IP kamu {ipAddress} diblokir sementara dari {product_name} API. Pemblokiran akan dicabut secara otomatis saat masa berlakunya habis. {appealEmail, select, null {Jika kamu merasa ini keliru, hubungi administrator instance ini dan sertakan alamat IP ini.} other {Jika kamu merasa ini keliru, hubungi {appealEmail} dan sertakan alamat IP ini.}}", "permissions.missing_access": "Kamu tidak memiliki akses ke sumber daya atau fitur ini.", "permissions.missing_permissions": "Kamu tidak memiliki izin yang diperlukan untuk melakukan tindakan ini.", "permissions.user_banned_from_guild": "Pengguna ini diblokir dari komunitas ini.", @@ -435,7 +435,7 @@ const ERROR_I18N_ID_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Pembelian uji coba tidak dapat diterapkan ke akun ini.", "store_billing.unavailable": "Pembelian dalam aplikasi sedang tidak tersedia. Coba lagi nanti.", "store_billing.unknown_purchase": "Pembelian toko tidak dikenal.", - "stripe.error": "Terjadi kesalahan saat memproses pembayaran. Coba lagi atau hubungi dukungan.", + "stripe.error": "{supportEmail, select, null {Terjadi kesalahan saat memproses pembayaran. Coba lagi atau hubungi administrator instance ini.} other {Terjadi kesalahan saat memproses pembayaran. Coba lagi atau hubungi dukungan.}}", "stripe.invalid_product_configuration": "Konfigurasi produk tidak valid.", "stripe.invalid_product_selection": "Pilihan produk tidak valid.", "stripe.no_active_subscription_found": "Langganan aktif tidak ditemukan.", diff --git a/packages/errors/src/i18n/locales/it.ts b/packages/errors/src/i18n/locales/it.ts index 55a3ac46c..c732f0445 100644 --- a/packages/errors/src/i18n/locales/it.ts +++ b/packages/errors/src/i18n/locales/it.ts @@ -386,8 +386,8 @@ const ERROR_I18N_IT_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Segnalazione sconosciuta.", "moderation_and_reports.user_is_not_banned": "L'utente non è bannato.", "names_and_normalization.name_empty_after_normalization": "Il nome non può essere vuoto dopo la normalizzazione.", - "permissions.global_ip_banned": "Il tuo indirizzo IP {ipAddress} è stato bloccato in modo permanente dall'API Fluxer dagli amministratori della piattaforma. Se pensi che sia un errore, contatta support@fluxer.app per fare ricorso. Includi questo indirizzo IP nel ricorso.", - "permissions.global_ip_temporarily_banned": "Il tuo indirizzo IP {ipAddress} è stato bloccato temporaneamente dall'API Fluxer. Il blocco verrà rimosso automaticamente alla scadenza. Se pensi che sia un errore, contatta support@fluxer.com indicando questo indirizzo IP.", + "permissions.global_ip_banned": "Il tuo indirizzo IP {ipAddress} è stato bloccato in modo permanente dall'API {product_name} dagli amministratori della piattaforma. {appealEmail, select, null {Se pensi che sia un errore, contatta gli amministratori di questa istanza per fare ricorso.} other {Se pensi che sia un errore, contatta {appealEmail} per fare ricorso.}} Includi questo indirizzo IP nel ricorso.", + "permissions.global_ip_temporarily_banned": "Il tuo indirizzo IP {ipAddress} è stato bloccato temporaneamente dall'API {product_name}. Il blocco verrà rimosso automaticamente alla scadenza. {appealEmail, select, null {Se pensi che sia un errore, contatta gli amministratori di questa istanza indicando questo indirizzo IP.} other {Se pensi che sia un errore, contatta {appealEmail} indicando questo indirizzo IP.}}", "permissions.missing_access": "Non hai accesso a questa risorsa o funzionalità.", "permissions.missing_permissions": "Non hai le autorizzazioni necessarie per eseguire questa azione.", "permissions.user_banned_from_guild": "L'utente è bannato da questa community.", @@ -435,7 +435,7 @@ const ERROR_I18N_IT_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Gli acquisti di prova non possono essere applicati a questo account.", "store_billing.unavailable": "Gli acquisti in-app non sono disponibili al momento. Riprova più tardi.", "store_billing.unknown_purchase": "Acquisto dallo store sconosciuto.", - "stripe.error": "Si è verificato un errore durante l'elaborazione del pagamento. Riprova o contatta l'assistenza.", + "stripe.error": "{supportEmail, select, null {Si è verificato un errore durante l'elaborazione del pagamento. Riprova o contatta gli amministratori di questa istanza.} other {Si è verificato un errore durante l'elaborazione del pagamento. Riprova o contatta l'assistenza.}}", "stripe.invalid_product_configuration": "Configurazione prodotto non valida.", "stripe.invalid_product_selection": "Selezione del prodotto non valida.", "stripe.no_active_subscription_found": "Nessun abbonamento attivo trovato.", diff --git a/packages/errors/src/i18n/locales/ja.ts b/packages/errors/src/i18n/locales/ja.ts index 2749a3872..875ccab21 100644 --- a/packages/errors/src/i18n/locales/ja.ts +++ b/packages/errors/src/i18n/locales/ja.ts @@ -386,8 +386,8 @@ const ERROR_I18N_JA_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "不明な報告です。", "moderation_and_reports.user_is_not_banned": "このユーザーはBANされていません。", "names_and_normalization.name_empty_after_normalization": "正規化後、名前は空にできません。", - "permissions.global_ip_banned": "IPアドレス{ipAddress}は、プラットフォーム管理者によりFluxer APIから永久にブロックされました。誤りだと思う場合は、support@fluxer.appに連絡して異議申し立てをしてください。申し立てにはこのIPアドレスを記載してください。", - "permissions.global_ip_temporarily_banned": "IPアドレス{ipAddress}は、Fluxer APIから一時的にブロックされました。ブロックは期限が切れると自動的に解除されます。誤りだと思う場合は、このIPアドレスを記載のうえ、support@fluxer.comに連絡してください。", + "permissions.global_ip_banned": "IPアドレス{ipAddress}は、プラットフォーム管理者により{product_name} APIから永久にブロックされました。{appealEmail, select, null {誤りだと思う場合は、このインスタンスの管理者に連絡して異議申し立てをしてください。} other {誤りだと思う場合は、{appealEmail}に連絡して異議申し立てをしてください。}}申し立てにはこのIPアドレスを記載してください。", + "permissions.global_ip_temporarily_banned": "IPアドレス{ipAddress}は、{product_name} APIから一時的にブロックされました。ブロックは期限が切れると自動的に解除されます。{appealEmail, select, null {誤りだと思う場合は、このIPアドレスを記載のうえ、このインスタンスの管理者に連絡してください。} other {誤りだと思う場合は、このIPアドレスを記載のうえ、{appealEmail}に連絡してください。}}", "permissions.missing_access": "このリソースや機能にアクセスする権限がありません。", "permissions.missing_permissions": "この操作を実行するために必要な権限がありません。", "permissions.user_banned_from_guild": "このユーザーはこのコミュニティでBANされています。", @@ -435,7 +435,7 @@ const ERROR_I18N_JA_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "テスト購入はこのアカウントには適用できません。", "store_billing.unavailable": "現在、アプリ内課金をご利用いただけません。後でもう一度お試しください。", "store_billing.unknown_purchase": "不明なストア購入です。", - "stripe.error": "支払い処理でエラーが発生しました。もう一度お試しいただくか、サポートにお問い合わせください。", + "stripe.error": "{supportEmail, select, null {支払い処理でエラーが発生しました。もう一度お試しいただくか、このインスタンスの管理者にお問い合わせください。} other {支払い処理でエラーが発生しました。もう一度お試しいただくか、サポートにお問い合わせください。}}", "stripe.invalid_product_configuration": "商品の設定が無効です。", "stripe.invalid_product_selection": "選択された商品が無効です。", "stripe.no_active_subscription_found": "有効なサブスクリプションが見つかりません。", diff --git a/packages/errors/src/i18n/locales/ko.ts b/packages/errors/src/i18n/locales/ko.ts index ee2c2eb23..2a37b2dfc 100644 --- a/packages/errors/src/i18n/locales/ko.ts +++ b/packages/errors/src/i18n/locales/ko.ts @@ -386,8 +386,8 @@ const ERROR_I18N_KO_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "알 수 없는 신고예요.", "moderation_and_reports.user_is_not_banned": "이 사용자는 차단되지 않았어요.", "names_and_normalization.name_empty_after_normalization": "정규화 후 이름은 비워둘 수 없어요.", - "permissions.global_ip_banned": "회원님의 IP 주소 {ipAddress}는 플랫폼 관리자가 Fluxer API에서 영구 차단했어요. 오류라고 생각한다면 support@fluxer.app으로 문의해 이의를 제기해 주세요. 이의 제기에는 이 IP 주소를 포함해 주세요.", - "permissions.global_ip_temporarily_banned": "회원님의 IP 주소 {ipAddress}는 Fluxer API에서 일시 차단되었어요. 차단은 기간이 끝나면 자동으로 해제돼요. 오류라고 생각한다면 이 IP 주소를 포함해 support@fluxer.com으로 문의해 주세요.", + "permissions.global_ip_banned": "회원님의 IP 주소 {ipAddress}는 플랫폼 관리자가 {product_name} API에서 영구 차단했어요. {appealEmail, select, null {오류라고 생각한다면 이 인스턴스의 관리자에게 문의해 이의를 제기해 주세요.} other {오류라고 생각한다면 {appealEmail}으로 문의해 이의를 제기해 주세요.}} 이의 제기에는 이 IP 주소를 포함해 주세요.", + "permissions.global_ip_temporarily_banned": "회원님의 IP 주소 {ipAddress}는 {product_name} API에서 일시 차단되었어요. 차단은 기간이 끝나면 자동으로 해제돼요. {appealEmail, select, null {오류라고 생각한다면 이 IP 주소를 포함해 이 인스턴스의 관리자에게 문의해 주세요.} other {오류라고 생각한다면 이 IP 주소를 포함해 {appealEmail}으로 문의해 주세요.}}", "permissions.missing_access": "이 리소스 또는 기능에 접근할 권한이 없어요.", "permissions.missing_permissions": "이 작업을 수행하는 데 필요한 권한이 없어요.", "permissions.user_banned_from_guild": "이 사용자는 이 커뮤니티에서 차단되었어요.", @@ -435,7 +435,7 @@ const ERROR_I18N_KO_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "테스트 구매는 이 계정에 적용할 수 없어요.", "store_billing.unavailable": "지금은 인앱 구매를 이용할 수 없어요. 나중에 다시 시도해 주세요.", "store_billing.unknown_purchase": "알 수 없는 스토어 구매예요.", - "stripe.error": "결제 처리 중 오류가 발생했어요. 다시 시도하거나 지원팀에 문의해 주세요.", + "stripe.error": "{supportEmail, select, null {결제 처리 중 오류가 발생했어요. 다시 시도하거나 이 인스턴스의 관리자에게 문의해 주세요.} other {결제 처리 중 오류가 발생했어요. 다시 시도하거나 지원팀에 문의해 주세요.}}", "stripe.invalid_product_configuration": "올바르지 않은 상품 구성이에요.", "stripe.invalid_product_selection": "올바르지 않은 상품 선택이에요.", "stripe.no_active_subscription_found": "활성화된 구독을 찾을 수 없어요.", diff --git a/packages/errors/src/i18n/locales/lt.ts b/packages/errors/src/i18n/locales/lt.ts index 062a52617..c4ea6df0f 100644 --- a/packages/errors/src/i18n/locales/lt.ts +++ b/packages/errors/src/i18n/locales/lt.ts @@ -386,8 +386,8 @@ const ERROR_I18N_LT_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Nežinomas pranešimas.", "moderation_and_reports.user_is_not_banned": "Šis naudotojas nėra užblokuotas.", "names_and_normalization.name_empty_after_normalization": "Po normalizavimo pavadinimas negali būti tuščias.", - "permissions.global_ip_banned": "Tavo IP adresas {ipAddress} platformos administratorių visam laikui užblokuotas Fluxer API. Jei manai, kad tai klaida, dėl apeliacijos susisiek adresu support@fluxer.app. Apeliacijoje nurodyk šį IP adresą.", - "permissions.global_ip_temporarily_banned": "Tavo IP adresas {ipAddress} laikinai užblokuotas Fluxer API. Blokavimas bus panaikintas automatiškai, kai baigsis jo laikas. Jei manai, kad tai klaida, susisiek adresu support@fluxer.com ir nurodyk šį IP adresą.", + "permissions.global_ip_banned": "Tavo IP adresas {ipAddress} platformos administratorių visam laikui užblokuotas {product_name} API. {appealEmail, select, null {Jei manai, kad tai klaida, dėl apeliacijos susisiek su šios instancijos administratoriais.} other {Jei manai, kad tai klaida, dėl apeliacijos susisiek adresu {appealEmail}.}} Apeliacijoje nurodyk šį IP adresą.", + "permissions.global_ip_temporarily_banned": "Tavo IP adresas {ipAddress} laikinai užblokuotas {product_name} API. Blokavimas bus panaikintas automatiškai, kai baigsis jo laikas. {appealEmail, select, null {Jei manai, kad tai klaida, susisiek su šios instancijos administratoriais ir nurodyk šį IP adresą.} other {Jei manai, kad tai klaida, susisiek adresu {appealEmail} ir nurodyk šį IP adresą.}}", "permissions.missing_access": "Neturi prieigos prie šio ištekliaus ar funkcijos.", "permissions.missing_permissions": "Neturi reikiamų leidimų atlikti šį veiksmą.", "permissions.user_banned_from_guild": "Šis naudotojas užblokuotas šioje bendruomenėje.", @@ -435,7 +435,7 @@ const ERROR_I18N_LT_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Bandomųjų pirkinių negalima pritaikyti šiai paskyrai.", "store_billing.unavailable": "Pirkiniai programėlėje šiuo metu nepasiekiami. Pabandyk vėliau.", "store_billing.unknown_purchase": "Nežinomas parduotuvės pirkinys.", - "stripe.error": "Įvyko mokėjimo apdorojimo klaida. Bandyk dar kartą arba kreipkis į palaikymo komandą.", + "stripe.error": "{supportEmail, select, null {Įvyko mokėjimo apdorojimo klaida. Bandyk dar kartą arba kreipkis į šios instancijos administratorius.} other {Įvyko mokėjimo apdorojimo klaida. Bandyk dar kartą arba kreipkis į palaikymo komandą.}}", "stripe.invalid_product_configuration": "Neteisinga produkto konfigūracija.", "stripe.invalid_product_selection": "Neteisingas produkto pasirinkimas.", "stripe.no_active_subscription_found": "Nėra aktyvios prenumeratos.", diff --git a/packages/errors/src/i18n/locales/nl.ts b/packages/errors/src/i18n/locales/nl.ts index e0b9c3ea7..b466c871c 100644 --- a/packages/errors/src/i18n/locales/nl.ts +++ b/packages/errors/src/i18n/locales/nl.ts @@ -386,8 +386,8 @@ const ERROR_I18N_NL_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Onbekende melding.", "moderation_and_reports.user_is_not_banned": "Deze gebruiker is niet verbannen.", "names_and_normalization.name_empty_after_normalization": "Naam kan niet leeg zijn na normalisatie.", - "permissions.global_ip_banned": "Je IP-adres {ipAddress} is door platformbeheerders permanent geblokkeerd voor de Fluxer API. Als je denkt dat dit een fout is, neem dan contact op met support@fluxer.app om bezwaar te maken. Vermeld dit IP-adres in je bezwaar.", - "permissions.global_ip_temporarily_banned": "Je IP-adres {ipAddress} is tijdelijk geblokkeerd voor de Fluxer API. De blokkade wordt automatisch opgeheven zodra deze verloopt. Als je denkt dat dit een fout is, neem dan contact op met support@fluxer.com en vermeld dit IP-adres.", + "permissions.global_ip_banned": "Je IP-adres {ipAddress} is door platformbeheerders permanent geblokkeerd voor de {product_name} API. {appealEmail, select, null {Als je denkt dat dit een fout is, neem dan contact op met de beheerders van deze instantie om bezwaar te maken.} other {Als je denkt dat dit een fout is, neem dan contact op met {appealEmail} om bezwaar te maken.}} Vermeld dit IP-adres in je bezwaar.", + "permissions.global_ip_temporarily_banned": "Je IP-adres {ipAddress} is tijdelijk geblokkeerd voor de {product_name} API. De blokkade wordt automatisch opgeheven zodra deze verloopt. {appealEmail, select, null {Als je denkt dat dit een fout is, neem dan contact op met de beheerders van deze instantie en vermeld dit IP-adres.} other {Als je denkt dat dit een fout is, neem dan contact op met {appealEmail} en vermeld dit IP-adres.}}", "permissions.missing_access": "Je hebt geen toegang tot dit item of deze functie.", "permissions.missing_permissions": "Je hebt niet de benodigde machtigingen om deze actie uit te voeren.", "permissions.user_banned_from_guild": "Deze gebruiker is verbannen uit deze community.", @@ -435,7 +435,7 @@ const ERROR_I18N_NL_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Testaankopen kunnen niet op dit account worden toegepast.", "store_billing.unavailable": "In-app-aankopen zijn op dit moment niet beschikbaar. Probeer het later opnieuw.", "store_billing.unknown_purchase": "Onbekende winkelaankoop.", - "stripe.error": "Er is een fout opgetreden bij de betaling. Probeer het opnieuw of neem contact op met support.", + "stripe.error": "{supportEmail, select, null {Er is een fout opgetreden bij de betaling. Probeer het opnieuw of neem contact op met de beheerders van deze instantie.} other {Er is een fout opgetreden bij de betaling. Probeer het opnieuw of neem contact op met support.}}", "stripe.invalid_product_configuration": "Ongeldige productconfiguratie.", "stripe.invalid_product_selection": "Ongeldige productselectie.", "stripe.no_active_subscription_found": "Geen actief abonnement gevonden.", diff --git a/packages/errors/src/i18n/locales/no.ts b/packages/errors/src/i18n/locales/no.ts index 5887e82dc..7eb2fe1b8 100644 --- a/packages/errors/src/i18n/locales/no.ts +++ b/packages/errors/src/i18n/locales/no.ts @@ -386,8 +386,8 @@ const ERROR_I18N_NO_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Ukjent rapport.", "moderation_and_reports.user_is_not_banned": "Denne brukeren er ikke utestengt.", "names_and_normalization.name_empty_after_normalization": "Navnet kan ikke være tomt etter normalisering.", - "permissions.global_ip_banned": "IP-adressen din {ipAddress} er permanent blokkert fra Fluxer-API-et av plattformadministratorene. Hvis du mener dette er en feil, kan du kontakte support@fluxer.app for å klage. Ta med denne IP-adressen i klagen.", - "permissions.global_ip_temporarily_banned": "IP-adressen din {ipAddress} er midlertidig blokkert fra Fluxer-API-et. Blokkeringen oppheves automatisk når den utløper. Hvis du mener dette er en feil, kan du kontakte support@fluxer.com og oppgi denne IP-adressen.", + "permissions.global_ip_banned": "IP-adressen din {ipAddress} er permanent blokkert fra {product_name}-API-et av plattformadministratorene. {appealEmail, select, null {Hvis du mener dette er en feil, kan du kontakte administratorene av denne instansen for å klage.} other {Hvis du mener dette er en feil, kan du kontakte {appealEmail} for å klage.}} Ta med denne IP-adressen i klagen.", + "permissions.global_ip_temporarily_banned": "IP-adressen din {ipAddress} er midlertidig blokkert fra {product_name}-API-et. Blokkeringen oppheves automatisk når den utløper. {appealEmail, select, null {Hvis du mener dette er en feil, kan du kontakte administratorene av denne instansen og oppgi denne IP-adressen.} other {Hvis du mener dette er en feil, kan du kontakte {appealEmail} og oppgi denne IP-adressen.}}", "permissions.missing_access": "Du har ikke tilgang til denne ressursen eller funksjonen.", "permissions.missing_permissions": "Du har ikke de nødvendige tillatelsene til å utføre denne handlingen.", "permissions.user_banned_from_guild": "Denne brukeren er utestengt fra dette fellesskapet.", @@ -435,7 +435,7 @@ const ERROR_I18N_NO_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Testkjøp kan ikke brukes på denne kontoen.", "store_billing.unavailable": "Kjøp i appen er ikke tilgjengelig akkurat nå. Prøv igjen senere.", "store_billing.unknown_purchase": "Ukjent kjøp fra butikken.", - "stripe.error": "Det oppstod en feil under betalingsbehandlingen. Prøv igjen eller kontakt kundestøtte.", + "stripe.error": "{supportEmail, select, null {Det oppstod en feil under betalingsbehandlingen. Prøv igjen eller kontakt administratorene av denne instansen.} other {Det oppstod en feil under betalingsbehandlingen. Prøv igjen eller kontakt kundestøtte.}}", "stripe.invalid_product_configuration": "Ugyldig produktkonfigurasjon.", "stripe.invalid_product_selection": "Ugyldig produktvalg.", "stripe.no_active_subscription_found": "Ingen aktive abonnementer ble funnet.", diff --git a/packages/errors/src/i18n/locales/pl.ts b/packages/errors/src/i18n/locales/pl.ts index 36556eb4f..fcd628e38 100644 --- a/packages/errors/src/i18n/locales/pl.ts +++ b/packages/errors/src/i18n/locales/pl.ts @@ -386,8 +386,8 @@ const ERROR_I18N_PL_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Nieznane zgłoszenie.", "moderation_and_reports.user_is_not_banned": "Ten użytkownik nie ma bana.", "names_and_normalization.name_empty_after_normalization": "Nazwa nie może być pusta po normalizacji.", - "permissions.global_ip_banned": "Twój adres IP {ipAddress} został trwale zablokowany w Fluxer API przez administratorów platformy. Jeśli uważasz, że to błąd, skontaktuj się z support@fluxer.app, aby się odwołać. Podaj ten adres IP w odwołaniu.", - "permissions.global_ip_temporarily_banned": "Twój adres IP {ipAddress} został tymczasowo zablokowany w Fluxer API. Blokada zostanie zdjęta automatycznie po jej wygaśnięciu. Jeśli uważasz, że to błąd, skontaktuj się z support@fluxer.com i podaj ten adres IP.", + "permissions.global_ip_banned": "Twój adres IP {ipAddress} został trwale zablokowany w {product_name} API przez administratorów platformy. {appealEmail, select, null {Jeśli uważasz, że to błąd, skontaktuj się z administratorami tej instancji, aby się odwołać.} other {Jeśli uważasz, że to błąd, skontaktuj się z {appealEmail}, aby się odwołać.}} Podaj ten adres IP w odwołaniu.", + "permissions.global_ip_temporarily_banned": "Twój adres IP {ipAddress} został tymczasowo zablokowany w {product_name} API. Blokada zostanie zdjęta automatycznie po jej wygaśnięciu. {appealEmail, select, null {Jeśli uważasz, że to błąd, skontaktuj się z administratorami tej instancji i podaj ten adres IP.} other {Jeśli uważasz, że to błąd, skontaktuj się z {appealEmail} i podaj ten adres IP.}}", "permissions.missing_access": "Brak dostępu do tego zasobu lub funkcji.", "permissions.missing_permissions": "Brak wymaganych uprawnień do wykonania tej akcji.", "permissions.user_banned_from_guild": "Ten użytkownik ma bana w tej społeczności.", @@ -435,7 +435,7 @@ const ERROR_I18N_PL_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Zakupów testowych nie można zastosować do tego konta.", "store_billing.unavailable": "Zakupy w aplikacji są teraz niedostępne. Spróbuj ponownie później.", "store_billing.unknown_purchase": "Nieznany zakup ze sklepu.", - "stripe.error": "Podczas przetwarzania płatności wystąpił błąd. Spróbuj ponownie lub skontaktuj się z pomocą techniczną.", + "stripe.error": "{supportEmail, select, null {Podczas przetwarzania płatności wystąpił błąd. Spróbuj ponownie lub skontaktuj się z administratorami tej instancji.} other {Podczas przetwarzania płatności wystąpił błąd. Spróbuj ponownie lub skontaktuj się z pomocą techniczną.}}", "stripe.invalid_product_configuration": "Nieprawidłowa konfiguracja produktu.", "stripe.invalid_product_selection": "Nieprawidłowy wybór produktu.", "stripe.no_active_subscription_found": "Nie znaleziono aktywnej subskrypcji.", diff --git a/packages/errors/src/i18n/locales/pt-BR.ts b/packages/errors/src/i18n/locales/pt-BR.ts index 90b36efb7..3ad732b16 100644 --- a/packages/errors/src/i18n/locales/pt-BR.ts +++ b/packages/errors/src/i18n/locales/pt-BR.ts @@ -386,8 +386,8 @@ const ERROR_I18N_PT_BR_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Denúncia não encontrada.", "moderation_and_reports.user_is_not_banned": "Este usuário não está banido.", "names_and_normalization.name_empty_after_normalization": "O nome não pode ficar vazio após a normalização.", - "permissions.global_ip_banned": "Seu endereço IP {ipAddress} foi bloqueado permanentemente na Fluxer API pelos administradores da plataforma. Se você acredita que isso é um erro, entre em contato com support@fluxer.app para recorrer. Inclua este endereço IP no recurso.", - "permissions.global_ip_temporarily_banned": "Seu endereço IP {ipAddress} foi bloqueado temporariamente na Fluxer API. O bloqueio será removido automaticamente quando expirar. Se você acredita que isso é um erro, entre em contato com support@fluxer.com e informe este endereço IP.", + "permissions.global_ip_banned": "Seu endereço IP {ipAddress} foi bloqueado permanentemente na {product_name} API pelos administradores da plataforma. {appealEmail, select, null {Se você acredita que isso é um erro, entre em contato com os administradores desta instância para recorrer.} other {Se você acredita que isso é um erro, entre em contato com {appealEmail} para recorrer.}} Inclua este endereço IP no recurso.", + "permissions.global_ip_temporarily_banned": "Seu endereço IP {ipAddress} foi bloqueado temporariamente na {product_name} API. O bloqueio será removido automaticamente quando expirar. {appealEmail, select, null {Se você acredita que isso é um erro, entre em contato com os administradores desta instância e informe este endereço IP.} other {Se você acredita que isso é um erro, entre em contato com {appealEmail} e informe este endereço IP.}}", "permissions.missing_access": "Você não tem acesso a este recurso ou funcionalidade.", "permissions.missing_permissions": "Você não tem as permissões necessárias para executar esta ação.", "permissions.user_banned_from_guild": "Este usuário está banido desta comunidade.", @@ -435,7 +435,7 @@ const ERROR_I18N_PT_BR_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Compras de teste não podem ser aplicadas a esta conta.", "store_billing.unavailable": "As compras no app estão indisponíveis no momento. Tente novamente mais tarde.", "store_billing.unknown_purchase": "Compra da loja desconhecida.", - "stripe.error": "Ocorreu um erro no processamento do pagamento. Tente novamente ou entre em contato com o suporte.", + "stripe.error": "{supportEmail, select, null {Ocorreu um erro no processamento do pagamento. Tente novamente ou entre em contato com os administradores desta instância.} other {Ocorreu um erro no processamento do pagamento. Tente novamente ou entre em contato com o suporte.}}", "stripe.invalid_product_configuration": "Configuração de produto inválida.", "stripe.invalid_product_selection": "Seleção de produto inválida.", "stripe.no_active_subscription_found": "Nenhuma assinatura ativa encontrada.", diff --git a/packages/errors/src/i18n/locales/ro.ts b/packages/errors/src/i18n/locales/ro.ts index a7e2fc19f..0b40c4707 100644 --- a/packages/errors/src/i18n/locales/ro.ts +++ b/packages/errors/src/i18n/locales/ro.ts @@ -386,8 +386,8 @@ const ERROR_I18N_RO_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Raport necunoscut.", "moderation_and_reports.user_is_not_banned": "Acest utilizator nu este banat.", "names_and_normalization.name_empty_after_normalization": "Numele nu poate fi gol după normalizare.", - "permissions.global_ip_banned": "Accesul adresei tale IP {ipAddress} la Fluxer API a fost blocat permanent de administratorii platformei. Dacă crezi că este o greșeală, contactează support@fluxer.app pentru a depune o contestație. Include această adresă IP în contestație.", - "permissions.global_ip_temporarily_banned": "Accesul adresei tale IP {ipAddress} la Fluxer API a fost blocat temporar. Blocarea se ridică automat când expiră. Dacă crezi că este o greșeală, contactează support@fluxer.com și include această adresă IP.", + "permissions.global_ip_banned": "Accesul adresei tale IP {ipAddress} la {product_name} API a fost blocat permanent de administratorii platformei. {appealEmail, select, null {Dacă crezi că este o greșeală, contactează administratorii acestei instanțe pentru a depune o contestație.} other {Dacă crezi că este o greșeală, contactează {appealEmail} pentru a depune o contestație.}} Include această adresă IP în contestație.", + "permissions.global_ip_temporarily_banned": "Accesul adresei tale IP {ipAddress} la {product_name} API a fost blocat temporar. Blocarea se ridică automat când expiră. {appealEmail, select, null {Dacă crezi că este o greșeală, contactează administratorii acestei instanțe și include această adresă IP.} other {Dacă crezi că este o greșeală, contactează {appealEmail} și include această adresă IP.}}", "permissions.missing_access": "Nu ai acces la această resursă sau funcție.", "permissions.missing_permissions": "Nu ai permisiunile necesare pentru a efectua această acțiune.", "permissions.user_banned_from_guild": "Acest utilizator este banat din această comunitate.", @@ -435,7 +435,7 @@ const ERROR_I18N_RO_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Achizițiile de test nu pot fi aplicate acestui cont.", "store_billing.unavailable": "Achizițiile din aplicație nu sunt disponibile acum. Încearcă din nou mai târziu.", "store_billing.unknown_purchase": "Achiziție din magazin necunoscută.", - "stripe.error": "Procesarea plății a întâmpinat o eroare. Încearcă din nou sau contactează echipa de asistență.", + "stripe.error": "{supportEmail, select, null {Procesarea plății a întâmpinat o eroare. Încearcă din nou sau contactează administratorii acestei instanțe.} other {Procesarea plății a întâmpinat o eroare. Încearcă din nou sau contactează echipa de asistență.}}", "stripe.invalid_product_configuration": "Configurație de produs invalidă.", "stripe.invalid_product_selection": "Selecție de produs invalidă.", "stripe.no_active_subscription_found": "Nu s-a găsit niciun abonament activ.", diff --git a/packages/errors/src/i18n/locales/ru.ts b/packages/errors/src/i18n/locales/ru.ts index f63f708ec..a248fd443 100644 --- a/packages/errors/src/i18n/locales/ru.ts +++ b/packages/errors/src/i18n/locales/ru.ts @@ -386,8 +386,8 @@ const ERROR_I18N_RU_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Жалоба не найдена.", "moderation_and_reports.user_is_not_banned": "Этот пользователь не забанен.", "names_and_normalization.name_empty_after_normalization": "Имя не может быть пустым после нормализации.", - "permissions.global_ip_banned": "Твой IP-адрес {ipAddress} навсегда заблокирован в Fluxer API администраторами платформы. Если считаешь, что это ошибка, напиши на support@fluxer.app, чтобы подать апелляцию. Укажи в ней этот IP-адрес.", - "permissions.global_ip_temporarily_banned": "Твой IP-адрес {ipAddress} временно заблокирован в Fluxer API. Блокировка снимется автоматически, когда истечёт её срок. Если считаешь, что это ошибка, напиши на support@fluxer.com и укажи этот IP-адрес.", + "permissions.global_ip_banned": "Твой IP-адрес {ipAddress} навсегда заблокирован в {product_name} API администраторами платформы. {appealEmail, select, null {Если считаешь, что это ошибка, свяжись с администраторами этого экземпляра, чтобы подать апелляцию.} other {Если считаешь, что это ошибка, напиши на {appealEmail}, чтобы подать апелляцию.}} Укажи в ней этот IP-адрес.", + "permissions.global_ip_temporarily_banned": "Твой IP-адрес {ipAddress} временно заблокирован в {product_name} API. Блокировка снимется автоматически, когда истечёт её срок. {appealEmail, select, null {Если считаешь, что это ошибка, свяжись с администраторами этого экземпляра и укажи этот IP-адрес.} other {Если считаешь, что это ошибка, напиши на {appealEmail} и укажи этот IP-адрес.}}", "permissions.missing_access": "У тебя нет доступа к этому ресурсу или функции.", "permissions.missing_permissions": "У тебя нет необходимых разрешений для выполнения этого действия.", "permissions.user_banned_from_guild": "Этот пользователь забанен в этом сообществе.", @@ -435,7 +435,7 @@ const ERROR_I18N_RU_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Тестовые покупки нельзя применить к этому аккаунту.", "store_billing.unavailable": "Встроенные покупки сейчас недоступны. Повтори попытку позже.", "store_billing.unknown_purchase": "Неизвестная покупка в магазине.", - "stripe.error": "При обработке платежа произошла ошибка. Повтори попытку или обратись в поддержку.", + "stripe.error": "{supportEmail, select, null {При обработке платежа произошла ошибка. Повтори попытку или обратись к администраторам этого экземпляра.} other {При обработке платежа произошла ошибка. Повтори попытку или обратись в поддержку.}}", "stripe.invalid_product_configuration": "Некорректная конфигурация продукта.", "stripe.invalid_product_selection": "Некорректный выбор продукта.", "stripe.no_active_subscription_found": "Активная подписка не найдена.", diff --git a/packages/errors/src/i18n/locales/sv-SE.ts b/packages/errors/src/i18n/locales/sv-SE.ts index 83b698a7a..2f47d71e0 100644 --- a/packages/errors/src/i18n/locales/sv-SE.ts +++ b/packages/errors/src/i18n/locales/sv-SE.ts @@ -386,8 +386,8 @@ const ERROR_I18N_SV_SE_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Okänd anmälan.", "moderation_and_reports.user_is_not_banned": "Den här användaren är inte bannlyst.", "names_and_normalization.name_empty_after_normalization": "Namnet kan inte vara tomt efter att ha normaliserats.", - "permissions.global_ip_banned": "Din IP-adress {ipAddress} har blockerats permanent från Fluxers API av plattformsadministratörerna. Om du anser att detta är ett misstag kan du kontakta support@fluxer.app för att överklaga. Ange den här IP-adressen i ditt överklagande.", - "permissions.global_ip_temporarily_banned": "Din IP-adress {ipAddress} har blockerats tillfälligt från Fluxers API. Blockeringen hävs automatiskt när den löper ut. Om du anser att detta är ett misstag kan du kontakta support@fluxer.com och ange den här IP-adressen.", + "permissions.global_ip_banned": "Din IP-adress {ipAddress} har blockerats permanent från {product_name}-API:et av plattformsadministratörerna. {appealEmail, select, null {Om du anser att detta är ett misstag kan du kontakta administratörerna för den här instansen för att överklaga.} other {Om du anser att detta är ett misstag kan du kontakta {appealEmail} för att överklaga.}} Ange den här IP-adressen i ditt överklagande.", + "permissions.global_ip_temporarily_banned": "Din IP-adress {ipAddress} har blockerats tillfälligt från {product_name}-API:et. Blockeringen hävs automatiskt när den löper ut. {appealEmail, select, null {Om du anser att detta är ett misstag kan du kontakta administratörerna för den här instansen och ange den här IP-adressen.} other {Om du anser att detta är ett misstag kan du kontakta {appealEmail} och ange den här IP-adressen.}}", "permissions.missing_access": "Du har inte åtkomst till denna resurs eller funktion.", "permissions.missing_permissions": "Du har inte de behörigheter som krävs för att utföra denna åtgärd.", "permissions.user_banned_from_guild": "Den här användaren är bannlyst från den här communityn.", @@ -435,7 +435,7 @@ const ERROR_I18N_SV_SE_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Testköp kan inte tillämpas på det här kontot.", "store_billing.unavailable": "Köp i appen är inte tillgängliga just nu. Försök igen senare.", "store_billing.unknown_purchase": "Okänt butiksköp.", - "stripe.error": "Ett fel uppstod i betalningshanteringen. Försök igen eller kontakta supporten.", + "stripe.error": "{supportEmail, select, null {Ett fel uppstod i betalningshanteringen. Försök igen eller kontakta administratörerna för den här instansen.} other {Ett fel uppstod i betalningshanteringen. Försök igen eller kontakta supporten.}}", "stripe.invalid_product_configuration": "Felaktig produktkonfiguration.", "stripe.invalid_product_selection": "Felaktigt produktval.", "stripe.no_active_subscription_found": "Inget aktivt abonnemang hittades.", diff --git a/packages/errors/src/i18n/locales/th.ts b/packages/errors/src/i18n/locales/th.ts index 242682d2c..4284ffef7 100644 --- a/packages/errors/src/i18n/locales/th.ts +++ b/packages/errors/src/i18n/locales/th.ts @@ -386,8 +386,8 @@ const ERROR_I18N_TH_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "ไม่พบรายงาน", "moderation_and_reports.user_is_not_banned": "ผู้ใช้รายนี้ไม่ได้ถูกแบน", "names_and_normalization.name_empty_after_normalization": "ชื่อต้องไม่ว่างเปล่าหลังจากการปรับให้เป็นมาตรฐาน", - "permissions.global_ip_banned": "ที่อยู่ IP ของคุณ {ipAddress} ถูกบล็อกจาก Fluxer API อย่างถาวรโดยผู้ดูแลแพลตฟอร์ม หากคุณเชื่อว่านี่เป็นข้อผิดพลาด โปรดติดต่อ support@fluxer.app เพื่ออุทธรณ์ โปรดแนบที่อยู่ IP นี้ในการอุทธรณ์", - "permissions.global_ip_temporarily_banned": "ที่อยู่ IP ของคุณ {ipAddress} ถูกบล็อกจาก Fluxer API ชั่วคราว การบล็อกจะถูกยกเลิกโดยอัตโนมัติเมื่อหมดเวลา หากคุณเชื่อว่านี่เป็นข้อผิดพลาด โปรดติดต่อ support@fluxer.com และแนบที่อยู่ IP นี้มาด้วย", + "permissions.global_ip_banned": "ที่อยู่ IP ของคุณ {ipAddress} ถูกบล็อกจาก {product_name} API อย่างถาวรโดยผู้ดูแลแพลตฟอร์ม {appealEmail, select, null {หากคุณเชื่อว่านี่เป็นข้อผิดพลาด โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้เพื่ออุทธรณ์} other {หากคุณเชื่อว่านี่เป็นข้อผิดพลาด โปรดติดต่อ {appealEmail} เพื่ออุทธรณ์}} โปรดแนบที่อยู่ IP นี้ในการอุทธรณ์", + "permissions.global_ip_temporarily_banned": "ที่อยู่ IP ของคุณ {ipAddress} ถูกบล็อกจาก {product_name} API ชั่วคราว การบล็อกจะถูกยกเลิกโดยอัตโนมัติเมื่อหมดเวลา {appealEmail, select, null {หากคุณเชื่อว่านี่เป็นข้อผิดพลาด โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้และแนบที่อยู่ IP นี้มาด้วย} other {หากคุณเชื่อว่านี่เป็นข้อผิดพลาด โปรดติดต่อ {appealEmail} และแนบที่อยู่ IP นี้มาด้วย}}", "permissions.missing_access": "คุณไม่มีสิทธิ์เข้าถึงทรัพยากรหรือฟีเจอร์นี้", "permissions.missing_permissions": "คุณไม่มีสิทธิ์ที่จำเป็นในการดำเนินการนี้", "permissions.user_banned_from_guild": "ผู้ใช้รายนี้ถูกแบนจากคอมมูนิตี้นี้", @@ -435,7 +435,7 @@ const ERROR_I18N_TH_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "ไม่สามารถใช้การซื้อทดสอบกับบัญชีนี้ได้", "store_billing.unavailable": "การซื้อในแอปไม่พร้อมใช้งานในขณะนี้ โปรดลองอีกครั้งในภายหลัง", "store_billing.unknown_purchase": "ไม่พบการซื้อจากสโตร์", - "stripe.error": "เกิดข้อผิดพลาดในการดำเนินการชำระเงิน โปรดลองอีกครั้งหรือติดต่อฝ่ายสนับสนุน", + "stripe.error": "{supportEmail, select, null {เกิดข้อผิดพลาดในการดำเนินการชำระเงิน โปรดลองอีกครั้งหรือติดต่อผู้ดูแลระบบของอินสแตนซ์นี้} other {เกิดข้อผิดพลาดในการดำเนินการชำระเงิน โปรดลองอีกครั้งหรือติดต่อฝ่ายสนับสนุน}}", "stripe.invalid_product_configuration": "การกำหนดค่าสินค้าไม่ถูกต้อง", "stripe.invalid_product_selection": "การเลือกสินค้าไม่ถูกต้อง", "stripe.no_active_subscription_found": "ไม่พบการสมัครสมาชิกที่ใช้งานอยู่", diff --git a/packages/errors/src/i18n/locales/tr.ts b/packages/errors/src/i18n/locales/tr.ts index 50b249ed9..f411bc987 100644 --- a/packages/errors/src/i18n/locales/tr.ts +++ b/packages/errors/src/i18n/locales/tr.ts @@ -386,8 +386,8 @@ const ERROR_I18N_TR_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Bilinmeyen rapor.", "moderation_and_reports.user_is_not_banned": "Bu kullanıcı yasaklı değil.", "names_and_normalization.name_empty_after_normalization": "Ad, normalleştirildikten sonra boş olamaz.", - "permissions.global_ip_banned": "IP adresin {ipAddress}, platform yöneticileri tarafından Fluxer API'den kalıcı olarak engellendi. Bunun bir hata olduğunu düşünüyorsan itiraz etmek için support@fluxer.app ile iletişime geç. İtirazına bu IP adresini ekle.", - "permissions.global_ip_temporarily_banned": "IP adresin {ipAddress}, Fluxer API'den geçici olarak engellendi. Engelleme süresi dolduğunda kendiliğinden kalkar. Bunun bir hata olduğunu düşünüyorsan support@fluxer.com ile iletişime geç ve bu IP adresini belirt.", + "permissions.global_ip_banned": "IP adresin {ipAddress}, platform yöneticileri tarafından {product_name} API'den kalıcı olarak engellendi. {appealEmail, select, null {Bunun bir hata olduğunu düşünüyorsan itiraz etmek için bu kurulumun yöneticileriyle iletişime geç.} other {Bunun bir hata olduğunu düşünüyorsan itiraz etmek için {appealEmail} ile iletişime geç.}} İtirazına bu IP adresini ekle.", + "permissions.global_ip_temporarily_banned": "IP adresin {ipAddress}, {product_name} API'den geçici olarak engellendi. Engelleme süresi dolduğunda kendiliğinden kalkar. {appealEmail, select, null {Bunun bir hata olduğunu düşünüyorsan bu kurulumun yöneticileriyle iletişime geç ve bu IP adresini belirt.} other {Bunun bir hata olduğunu düşünüyorsan {appealEmail} ile iletişime geç ve bu IP adresini belirt.}}", "permissions.missing_access": "Bu kaynağa veya özelliğe erişimin yok.", "permissions.missing_permissions": "Bu eylemi gerçekleştirmek için gerekli izinlere sahip değilsin.", "permissions.user_banned_from_guild": "Bu kullanıcı bu topluluktan yasaklandı.", @@ -435,7 +435,7 @@ const ERROR_I18N_TR_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Test satın almaları bu hesaba uygulanamaz.", "store_billing.unavailable": "Uygulama içi satın almalar şu anda kullanılamıyor. Lütfen daha sonra tekrar dene.", "store_billing.unknown_purchase": "Bilinmeyen mağaza satın alması.", - "stripe.error": "Ödeme işlemi sırasında bir hata oluştu. Lütfen tekrar dene veya destek ekibine başvur.", + "stripe.error": "{supportEmail, select, null {Ödeme işlemi sırasında bir hata oluştu. Lütfen tekrar dene veya bu kurulumun yöneticilerine başvur.} other {Ödeme işlemi sırasında bir hata oluştu. Lütfen tekrar dene veya destek ekibine başvur.}}", "stripe.invalid_product_configuration": "Geçersiz ürün yapılandırması.", "stripe.invalid_product_selection": "Geçersiz ürün seçimi.", "stripe.no_active_subscription_found": "Aktif abonelik bulunamadı.", diff --git a/packages/errors/src/i18n/locales/uk.ts b/packages/errors/src/i18n/locales/uk.ts index 615457778..2625666e5 100644 --- a/packages/errors/src/i18n/locales/uk.ts +++ b/packages/errors/src/i18n/locales/uk.ts @@ -386,8 +386,8 @@ const ERROR_I18N_UK_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Невідомий звіт.", "moderation_and_reports.user_is_not_banned": "Цей користувач не забанений.", "names_and_normalization.name_empty_after_normalization": "Ім'я не може бути порожнім після нормалізації.", - "permissions.global_ip_banned": "Адміністратори платформи назавжди заблокували твоїй IP-адресі {ipAddress} доступ до Fluxer API. Якщо ти вважаєш, що це помилка, напиши на support@fluxer.app, щоб подати апеляцію. Вкажи цю IP-адресу в апеляції.", - "permissions.global_ip_temporarily_banned": "Твоїй IP-адресі {ipAddress} тимчасово заблоковано доступ до Fluxer API. Блокування зніметься автоматично, коли завершиться його строк. Якщо ти вважаєш, що це помилка, напиши на support@fluxer.com і вкажи цю IP-адресу.", + "permissions.global_ip_banned": "Адміністратори платформи назавжди заблокували твоїй IP-адресі {ipAddress} доступ до {product_name} API. {appealEmail, select, null {Якщо ти вважаєш, що це помилка, звернися до адміністраторів цього екземпляра, щоб подати апеляцію.} other {Якщо ти вважаєш, що це помилка, напиши на {appealEmail}, щоб подати апеляцію.}} Вкажи цю IP-адресу в апеляції.", + "permissions.global_ip_temporarily_banned": "Твоїй IP-адресі {ipAddress} тимчасово заблоковано доступ до {product_name} API. Блокування зніметься автоматично, коли завершиться його строк. {appealEmail, select, null {Якщо ти вважаєш, що це помилка, звернися до адміністраторів цього екземпляра і вкажи цю IP-адресу.} other {Якщо ти вважаєш, що це помилка, напиши на {appealEmail} і вкажи цю IP-адресу.}}", "permissions.missing_access": "Ти не маєш доступу до цього ресурсу або функції.", "permissions.missing_permissions": "Ти не маєш потрібних дозволів для цієї дії.", "permissions.user_banned_from_guild": "Цей користувач забанений у цій спільноті.", @@ -435,7 +435,7 @@ const ERROR_I18N_UK_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Тестові покупки не можна застосувати до цього облікового запису.", "store_billing.unavailable": "Покупки в застосунку зараз недоступні. Спробуй пізніше.", "store_billing.unknown_purchase": "Невідома покупка в магазині.", - "stripe.error": "Сталася помилка під час обробки платежу. Спробуй ще раз або звернися до підтримки.", + "stripe.error": "{supportEmail, select, null {Сталася помилка під час обробки платежу. Спробуй ще раз або звернися до адміністраторів цього екземпляра.} other {Сталася помилка під час обробки платежу. Спробуй ще раз або звернися до підтримки.}}", "stripe.invalid_product_configuration": "Неправильна конфігурація продукту.", "stripe.invalid_product_selection": "Неправильний вибір продукту.", "stripe.no_active_subscription_found": "Активної підписки не знайдено.", diff --git a/packages/errors/src/i18n/locales/vi.ts b/packages/errors/src/i18n/locales/vi.ts index e40eb72bf..172cc5af6 100644 --- a/packages/errors/src/i18n/locales/vi.ts +++ b/packages/errors/src/i18n/locales/vi.ts @@ -386,8 +386,8 @@ const ERROR_I18N_VI_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "Báo cáo không xác định.", "moderation_and_reports.user_is_not_banned": "Người dùng này không bị cấm.", "names_and_normalization.name_empty_after_normalization": "Tên không được để trống sau khi chuẩn hóa.", - "permissions.global_ip_banned": "Địa chỉ IP của bạn {ipAddress} đã bị quản trị viên nền tảng chặn vĩnh viễn khỏi Fluxer API. Nếu bạn cho rằng đây là nhầm lẫn, hãy liên hệ support@fluxer.app để khiếu nại. Hãy kèm địa chỉ IP này trong khiếu nại.", - "permissions.global_ip_temporarily_banned": "Địa chỉ IP của bạn {ipAddress} đã bị chặn tạm thời khỏi Fluxer API. Lệnh chặn sẽ tự động được gỡ khi hết hạn. Nếu bạn cho rằng đây là nhầm lẫn, hãy liên hệ support@fluxer.com và kèm theo địa chỉ IP này.", + "permissions.global_ip_banned": "Địa chỉ IP của bạn {ipAddress} đã bị quản trị viên nền tảng chặn vĩnh viễn khỏi {product_name} API. {appealEmail, select, null {Nếu bạn cho rằng đây là nhầm lẫn, hãy liên hệ quản trị viên của máy chủ này để khiếu nại.} other {Nếu bạn cho rằng đây là nhầm lẫn, hãy liên hệ {appealEmail} để khiếu nại.}} Hãy kèm địa chỉ IP này trong khiếu nại.", + "permissions.global_ip_temporarily_banned": "Địa chỉ IP của bạn {ipAddress} đã bị chặn tạm thời khỏi {product_name} API. Lệnh chặn sẽ tự động được gỡ khi hết hạn. {appealEmail, select, null {Nếu bạn cho rằng đây là nhầm lẫn, hãy liên hệ quản trị viên của máy chủ này và kèm theo địa chỉ IP này.} other {Nếu bạn cho rằng đây là nhầm lẫn, hãy liên hệ {appealEmail} và kèm theo địa chỉ IP này.}}", "permissions.missing_access": "Bạn không có quyền truy cập vào tài nguyên hoặc tính năng này.", "permissions.missing_permissions": "Bạn không có quyền cần thiết để thực hiện hành động này.", "permissions.user_banned_from_guild": "Người dùng này đã bị cấm khỏi cộng đồng này.", @@ -435,7 +435,7 @@ const ERROR_I18N_VI_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "Không thể áp dụng giao dịch mua thử nghiệm cho tài khoản này.", "store_billing.unavailable": "Hiện không thể mua hàng trong ứng dụng. Vui lòng thử lại sau.", "store_billing.unknown_purchase": "Giao dịch mua trên cửa hàng không xác định.", - "stripe.error": "Xử lý thanh toán gặp lỗi. Vui lòng thử lại hoặc liên hệ bộ phận hỗ trợ.", + "stripe.error": "{supportEmail, select, null {Xử lý thanh toán gặp lỗi. Vui lòng thử lại hoặc liên hệ quản trị viên của máy chủ này.} other {Xử lý thanh toán gặp lỗi. Vui lòng thử lại hoặc liên hệ bộ phận hỗ trợ.}}", "stripe.invalid_product_configuration": "Cấu hình sản phẩm không hợp lệ.", "stripe.invalid_product_selection": "Lựa chọn sản phẩm không hợp lệ.", "stripe.no_active_subscription_found": "Không tìm thấy gói đăng ký đang hoạt động.", diff --git a/packages/errors/src/i18n/locales/zh-CN.ts b/packages/errors/src/i18n/locales/zh-CN.ts index 677019eb2..9f610a5a6 100644 --- a/packages/errors/src/i18n/locales/zh-CN.ts +++ b/packages/errors/src/i18n/locales/zh-CN.ts @@ -386,8 +386,8 @@ const ERROR_I18N_ZH_CN_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "未知举报。", "moderation_and_reports.user_is_not_banned": "此用户未被封禁。", "names_and_normalization.name_empty_after_normalization": "规范化后名称不能为空。", - "permissions.global_ip_banned": "你的 IP 地址 {ipAddress} 已被平台管理员永久禁止访问 Fluxer API。如果你认为这是误判,请联系 support@fluxer.app 申诉。请在申诉中附上此 IP 地址。", - "permissions.global_ip_temporarily_banned": "你的 IP 地址 {ipAddress} 已被临时禁止访问 Fluxer API。限制到期后会自动解除。如果你认为这是误判,请联系 support@fluxer.com 并附上此 IP 地址。", + "permissions.global_ip_banned": "你的 IP 地址 {ipAddress} 已被平台管理员永久禁止访问 {product_name} API。{appealEmail, select, null {如果你认为这是误判,请联系此实例的管理员申诉。} other {如果你认为这是误判,请联系 {appealEmail} 申诉。}}请在申诉中附上此 IP 地址。", + "permissions.global_ip_temporarily_banned": "你的 IP 地址 {ipAddress} 已被临时禁止访问 {product_name} API。限制到期后会自动解除。{appealEmail, select, null {如果你认为这是误判,请联系此实例的管理员并附上此 IP 地址。} other {如果你认为这是误判,请联系 {appealEmail} 并附上此 IP 地址。}}", "permissions.missing_access": "你无权访问此资源或功能。", "permissions.missing_permissions": "你没有执行此操作所需的权限。", "permissions.user_banned_from_guild": "此用户已被此社区封禁。", @@ -435,7 +435,7 @@ const ERROR_I18N_ZH_CN_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "测试购买无法应用到此账号。", "store_billing.unavailable": "应用内购买暂时不可用。请稍后重试。", "store_billing.unknown_purchase": "未知的商店购买。", - "stripe.error": "支付处理遇到错误。请重试或联系支持团队。", + "stripe.error": "{supportEmail, select, null {支付处理遇到错误。请重试或联系此实例的管理员。} other {支付处理遇到错误。请重试或联系支持团队。}}", "stripe.invalid_product_configuration": "产品配置无效。", "stripe.invalid_product_selection": "产品选择无效。", "stripe.no_active_subscription_found": "未找到有效的订阅。", diff --git a/packages/errors/src/i18n/locales/zh-TW.ts b/packages/errors/src/i18n/locales/zh-TW.ts index e6b9e2b0a..2e2c16355 100644 --- a/packages/errors/src/i18n/locales/zh-TW.ts +++ b/packages/errors/src/i18n/locales/zh-TW.ts @@ -386,8 +386,8 @@ const ERROR_I18N_ZH_TW_MESSAGES = defineErrorI18nLocaleMessages({ "moderation_and_reports.unknown_report": "未知的檢舉。", "moderation_and_reports.user_is_not_banned": "此使用者未被封鎖。", "names_and_normalization.name_empty_after_normalization": "名稱正規化後不能為空。", - "permissions.global_ip_banned": "你的 IP 位址 {ipAddress} 已被平台管理員永久禁止存取 Fluxer API。如果你認為這是誤判,請聯絡 support@fluxer.app 申訴。請在申訴中附上此 IP 位址。", - "permissions.global_ip_temporarily_banned": "你的 IP 位址 {ipAddress} 已被暫時禁止存取 Fluxer API。限制到期後會自動解除。如果你認為這是誤判,請聯絡 support@fluxer.com 並附上此 IP 位址。", + "permissions.global_ip_banned": "你的 IP 位址 {ipAddress} 已被平台管理員永久禁止存取 {product_name} API。{appealEmail, select, null {如果你認為這是誤判,請聯絡此實例的管理員申訴。} other {如果你認為這是誤判,請聯絡 {appealEmail} 申訴。}}請在申訴中附上此 IP 位址。", + "permissions.global_ip_temporarily_banned": "你的 IP 位址 {ipAddress} 已被暫時禁止存取 {product_name} API。限制到期後會自動解除。{appealEmail, select, null {如果你認為這是誤判,請聯絡此實例的管理員並附上此 IP 位址。} other {如果你認為這是誤判,請聯絡 {appealEmail} 並附上此 IP 位址。}}", "permissions.missing_access": "你沒有權限使用此資源或功能。", "permissions.missing_permissions": "你沒有執行此動作所需的權限。", "permissions.user_banned_from_guild": "此使用者已被此社群封鎖。", @@ -435,7 +435,7 @@ const ERROR_I18N_ZH_TW_MESSAGES = defineErrorI18nLocaleMessages({ "store_billing.purchase_sandbox_not_entitled": "測試購買無法套用至此帳號。", "store_billing.unavailable": "應用程式內購買目前無法使用。請稍後再試。", "store_billing.unknown_purchase": "未知的商店購買項目。", - "stripe.error": "付款處理時發生錯誤。請重試或聯絡客服。", + "stripe.error": "{supportEmail, select, null {付款處理時發生錯誤。請重試或聯絡此實例的管理員。} other {付款處理時發生錯誤。請重試或聯絡客服。}}", "stripe.invalid_product_configuration": "無效的產品設定。", "stripe.invalid_product_selection": "無效的產品選擇。", "stripe.no_active_subscription_found": "找不到有效的訂閱方案。", diff --git a/packages/errors/src/i18n/weblate/locales/ar.json b/packages/errors/src/i18n/weblate/locales/ar.json index c1c876f7c..a6feb1104 100644 --- a/packages/errors/src/i18n/weblate/locales/ar.json +++ b/packages/errors/src/i18n/weblate/locales/ar.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "بلاغ غير معروف.", "moderation_and_reports.user_is_not_banned": "المستخدم غير محظور.", "names_and_normalization.name_empty_after_normalization": "لا يمكن أن يكون الاسم فارغًا بعد التسوية.", - "permissions.global_ip_banned": "تم حظر عنوان IP الخاص بك {ipAddress} نهائيًا من Fluxer API بواسطة مسؤولي المنصة. إذا كنت تعتقد أن هذا خطأ، فتواصل مع support@fluxer.app للاستئناف. اذكر عنوان IP هذا في الاستئناف.", - "permissions.global_ip_temporarily_banned": "تم حظر عنوان IP الخاص بك {ipAddress} مؤقتًا من Fluxer API. يُرفع الحظر تلقائيًا عند انتهاء مدته. إذا كنت تعتقد أن هذا خطأ، فتواصل مع support@fluxer.com واذكر عنوان IP هذا.", + "permissions.global_ip_banned": "تم حظر عنوان IP الخاص بك {ipAddress} نهائيًا من {product_name} API بواسطة مسؤولي المنصة. {appealEmail, select, null {إذا كنت تعتقد أن هذا خطأ، فتواصل مع مسؤولي هذا المثيل للاستئناف.} other {إذا كنت تعتقد أن هذا خطأ، فتواصل مع {appealEmail} للاستئناف.}} اذكر عنوان IP هذا في الاستئناف.", + "permissions.global_ip_temporarily_banned": "تم حظر عنوان IP الخاص بك {ipAddress} مؤقتًا من {product_name} API. يُرفع الحظر تلقائيًا عند انتهاء مدته. {appealEmail, select, null {إذا كنت تعتقد أن هذا خطأ، فتواصل مع مسؤولي هذا المثيل واذكر عنوان IP هذا.} other {إذا كنت تعتقد أن هذا خطأ، فتواصل مع {appealEmail} واذكر عنوان IP هذا.}}", "permissions.missing_access": "ليس لديك وصول إلى هذا المورد أو الميزة.", "permissions.missing_permissions": "لا تملك الأذونات المطلوبة لتنفيذ هذا الإجراء.", "permissions.user_banned_from_guild": "المستخدم محظور من هذا المجتمع.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "لا يمكن تطبيق عمليات الشراء التجريبية على هذا الحساب.", "store_billing.unavailable": "عمليات الشراء داخل التطبيق غير متاحة حاليًا. حاول مجددًا لاحقًا.", "store_billing.unknown_purchase": "عملية شراء غير معروفة من المتجر.", - "stripe.error": "حدث خطأ في معالجة الدفع. حاول مجددًا أو تواصل مع الدعم.", + "stripe.error": "{supportEmail, select, null {حدث خطأ في معالجة الدفع. حاول مجددًا أو تواصل مع مسؤولي هذا المثيل.} other {حدث خطأ في معالجة الدفع. حاول مجددًا أو تواصل مع الدعم.}}", "stripe.invalid_product_configuration": "تكوين منتج غير صالح.", "stripe.invalid_product_selection": "اختيار منتج غير صالح.", "stripe.no_active_subscription_found": "لم يتم العثور على اشتراك نشط.", diff --git a/packages/errors/src/i18n/weblate/locales/bg.json b/packages/errors/src/i18n/weblate/locales/bg.json index ee4640cb4..e49a3ccc9 100644 --- a/packages/errors/src/i18n/weblate/locales/bg.json +++ b/packages/errors/src/i18n/weblate/locales/bg.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Неизвестен сигнал.", "moderation_and_reports.user_is_not_banned": "Този потребител няма наложена забрана.", "names_and_normalization.name_empty_after_normalization": "Името не може да бъде празно след нормализиране.", - "permissions.global_ip_banned": "IP адресът ти {ipAddress} е блокиран за постоянно за достъп до Fluxer API от администраторите на платформата. Ако смяташ, че това е грешка, свържи се със support@fluxer.app, за да обжалваш. Включи този IP адрес в обжалването.", - "permissions.global_ip_temporarily_banned": "IP адресът ти {ipAddress} е временно блокиран за достъп до Fluxer API. Блокирането се премахва автоматично, когато изтече. Ако смяташ, че това е грешка, свържи се със support@fluxer.com и посочи този IP адрес.", + "permissions.global_ip_banned": "IP адресът ти {ipAddress} е блокиран за постоянно за достъп до {product_name} API от администраторите на платформата. {appealEmail, select, null {Ако смяташ, че това е грешка, свържи се с администраторите на тази инстанция, за да обжалваш.} other {Ако смяташ, че това е грешка, свържи се със {appealEmail}, за да обжалваш.}} Включи този IP адрес в обжалването.", + "permissions.global_ip_temporarily_banned": "IP адресът ти {ipAddress} е временно блокиран за достъп до {product_name} API. Блокирането се премахва автоматично, когато изтече. {appealEmail, select, null {Ако смяташ, че това е грешка, свържи се с администраторите на тази инстанция и посочи този IP адрес.} other {Ако смяташ, че това е грешка, свържи се със {appealEmail} и посочи този IP адрес.}}", "permissions.missing_access": "Нямаш достъп до този ресурс или функция.", "permissions.missing_permissions": "Нямаш необходимите разрешения, за да изпълниш това действие.", "permissions.user_banned_from_guild": "Този потребител има наложена забрана в тази общност.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Тестовите покупки не могат да се приложат към този акаунт.", "store_billing.unavailable": "Покупките в приложението в момента не са достъпни. Опитай отново по-късно.", "store_billing.unknown_purchase": "Неизвестна покупка от магазина.", - "stripe.error": "Възникна грешка при обработката на плащането. Опитай отново или се свържи с поддръжката.", + "stripe.error": "{supportEmail, select, null {Възникна грешка при обработката на плащането. Опитай отново или се свържи с администраторите на тази инстанция.} other {Възникна грешка при обработката на плащането. Опитай отново или се свържи с поддръжката.}}", "stripe.invalid_product_configuration": "Невалидна конфигурация на продукт.", "stripe.invalid_product_selection": "Невалиден избор на продукт.", "stripe.no_active_subscription_found": "Не е намерен активен абонамент.", diff --git a/packages/errors/src/i18n/weblate/locales/cs.json b/packages/errors/src/i18n/weblate/locales/cs.json index 0d4cf2fce..0ea133f5e 100644 --- a/packages/errors/src/i18n/weblate/locales/cs.json +++ b/packages/errors/src/i18n/weblate/locales/cs.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Neznámé nahlášení.", "moderation_and_reports.user_is_not_banned": "Tento uživatel není zabanován.", "names_and_normalization.name_empty_after_normalization": "Název nemůže být po normalizaci prázdný.", - "permissions.global_ip_banned": "Vaše IP adresa {ipAddress} byla správci platformy trvale zablokována pro Fluxer API. Pokud se domníváte, že jde o chybu, podejte odvolání na adrese support@fluxer.app. V odvolání uveďte tuto IP adresu.", - "permissions.global_ip_temporarily_banned": "Vaše IP adresa {ipAddress} byla dočasně zablokována pro Fluxer API. Blokace se po vypršení sama zruší. Pokud se domníváte, že jde o chybu, napište na adresu support@fluxer.com a uveďte tuto IP adresu.", + "permissions.global_ip_banned": "Vaše IP adresa {ipAddress} byla správci platformy trvale zablokována pro {product_name} API. {appealEmail, select, null {Pokud se domníváte, že jde o chybu, podejte odvolání u správců této instance.} other {Pokud se domníváte, že jde o chybu, podejte odvolání na adrese {appealEmail}.}} V odvolání uveďte tuto IP adresu.", + "permissions.global_ip_temporarily_banned": "Vaše IP adresa {ipAddress} byla dočasně zablokována pro {product_name} API. Blokace se po vypršení sama zruší. {appealEmail, select, null {Pokud se domníváte, že jde o chybu, kontaktujte správce této instance a uveďte tuto IP adresu.} other {Pokud se domníváte, že jde o chybu, napište na adresu {appealEmail} a uveďte tuto IP adresu.}}", "permissions.missing_access": "Nemáte přístup k tomuto zdroji nebo funkci.", "permissions.missing_permissions": "Nemáte potřebná oprávnění k provedení této akce.", "permissions.user_banned_from_guild": "Tento uživatel má v této komunitě ban.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Testovací nákupy nelze uplatnit na tento účet.", "store_billing.unavailable": "Nákupy v aplikaci teď nejsou k dispozici. Zkuste to znovu později.", "store_billing.unknown_purchase": "Neznámý nákup z obchodu.", - "stripe.error": "Při zpracování platby došlo k chybě. Zkuste to znovu nebo kontaktujte podporu.", + "stripe.error": "{supportEmail, select, null {Při zpracování platby došlo k chybě. Zkuste to znovu nebo kontaktujte správce této instance.} other {Při zpracování platby došlo k chybě. Zkuste to znovu nebo kontaktujte podporu.}}", "stripe.invalid_product_configuration": "Neplatná konfigurace produktu.", "stripe.invalid_product_selection": "Neplatný výběr produktu.", "stripe.no_active_subscription_found": "Nebylo nalezeno žádné aktivní předplatné.", diff --git a/packages/errors/src/i18n/weblate/locales/da.json b/packages/errors/src/i18n/weblate/locales/da.json index e626eb6cd..4be4be9d3 100644 --- a/packages/errors/src/i18n/weblate/locales/da.json +++ b/packages/errors/src/i18n/weblate/locales/da.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Ukendt anmeldelse.", "moderation_and_reports.user_is_not_banned": "Denne bruger er ikke udelukket.", "names_and_normalization.name_empty_after_normalization": "Navnet må ikke være tomt efter normalisering.", - "permissions.global_ip_banned": "Din IP-adresse {ipAddress} er permanent blokeret fra Fluxer API af platformadministratorer. Hvis du mener, at dette er en fejl, kan du kontakte support@fluxer.app for at klage. Medtag denne IP-adresse i klagen.", - "permissions.global_ip_temporarily_banned": "Din IP-adresse {ipAddress} er midlertidigt blokeret fra Fluxer API. Blokeringen ophæves automatisk, når den udløber. Hvis du mener, at dette er en fejl, kan du kontakte support@fluxer.com og oplyse denne IP-adresse.", + "permissions.global_ip_banned": "Din IP-adresse {ipAddress} er permanent blokeret fra {product_name} API af platformadministratorer. {appealEmail, select, null {Hvis du mener, at dette er en fejl, kan du kontakte administratorerne af denne instans for at klage.} other {Hvis du mener, at dette er en fejl, kan du kontakte {appealEmail} for at klage.}} Medtag denne IP-adresse i klagen.", + "permissions.global_ip_temporarily_banned": "Din IP-adresse {ipAddress} er midlertidigt blokeret fra {product_name} API. Blokeringen ophæves automatisk, når den udløber. {appealEmail, select, null {Hvis du mener, at dette er en fejl, kan du kontakte administratorerne af denne instans og oplyse denne IP-adresse.} other {Hvis du mener, at dette er en fejl, kan du kontakte {appealEmail} og oplyse denne IP-adresse.}}", "permissions.missing_access": "Du har ikke adgang til denne ressource eller funktion.", "permissions.missing_permissions": "Du har ikke de nødvendige tilladelser til at udføre denne handling.", "permissions.user_banned_from_guild": "Denne bruger er udelukket fra dette fællesskab.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Testkøb kan ikke anvendes på denne konto.", "store_billing.unavailable": "Køb i appen er ikke tilgængelige lige nu. Prøv igen senere.", "store_billing.unknown_purchase": "Ukendt køb fra butikken.", - "stripe.error": "Noget gik galt under betalingsbehandlingen. Prøv igen eller kontakt support.", + "stripe.error": "{supportEmail, select, null {Noget gik galt under betalingsbehandlingen. Prøv igen eller kontakt administratorerne af denne instans.} other {Noget gik galt under betalingsbehandlingen. Prøv igen eller kontakt support.}}", "stripe.invalid_product_configuration": "Ugyldig produktkonfiguration.", "stripe.invalid_product_selection": "Ugyldigt produktvalg.", "stripe.no_active_subscription_found": "Intet aktivt abonnement fundet.", diff --git a/packages/errors/src/i18n/weblate/locales/de.json b/packages/errors/src/i18n/weblate/locales/de.json index d5e248d40..43a7eb789 100644 --- a/packages/errors/src/i18n/weblate/locales/de.json +++ b/packages/errors/src/i18n/weblate/locales/de.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Unbekannte Meldung.", "moderation_and_reports.user_is_not_banned": "Dieser Benutzer ist nicht gebannt.", "names_and_normalization.name_empty_after_normalization": "Der Name darf nach der Normalisierung nicht leer bleiben.", - "permissions.global_ip_banned": "Deine IP-Adresse {ipAddress} wurde von Plattformadministratoren dauerhaft von der Fluxer API gesperrt. Wenn du glaubst, dass dies ein Fehler ist, kontaktiere support@fluxer.app, um Einspruch einzulegen. Gib diese IP-Adresse in deinem Einspruch an.", - "permissions.global_ip_temporarily_banned": "Deine IP-Adresse {ipAddress} wurde vorübergehend von der Fluxer API gesperrt. Die Sperre wird automatisch aufgehoben, sobald sie abläuft. Wenn du glaubst, dass dies ein Fehler ist, kontaktiere support@fluxer.com und gib diese IP-Adresse an.", + "permissions.global_ip_banned": "Deine IP-Adresse {ipAddress} wurde von Plattformadministratoren dauerhaft von der {product_name} API gesperrt. {appealEmail, select, null {Wenn du glaubst, dass dies ein Fehler ist, kontaktiere die Administratoren dieser Instanz, um Einspruch einzulegen.} other {Wenn du glaubst, dass dies ein Fehler ist, kontaktiere {appealEmail}, um Einspruch einzulegen.}} Gib diese IP-Adresse in deinem Einspruch an.", + "permissions.global_ip_temporarily_banned": "Deine IP-Adresse {ipAddress} wurde vorübergehend von der {product_name} API gesperrt. Die Sperre wird automatisch aufgehoben, sobald sie abläuft. {appealEmail, select, null {Wenn du glaubst, dass dies ein Fehler ist, kontaktiere die Administratoren dieser Instanz und gib diese IP-Adresse an.} other {Wenn du glaubst, dass dies ein Fehler ist, kontaktiere {appealEmail} und gib diese IP-Adresse an.}}", "permissions.missing_access": "Du hast keinen Zugriff auf diese Ressource oder Funktion.", "permissions.missing_permissions": "Du hast nicht die erforderlichen Berechtigungen, um diese Aktion auszuführen.", "permissions.user_banned_from_guild": "Dieser Benutzer ist aus dieser Community gebannt.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Testkäufe können nicht auf dieses Konto angewendet werden.", "store_billing.unavailable": "In-App-Käufe sind gerade nicht verfügbar. Versuch es später noch mal.", "store_billing.unknown_purchase": "Unbekannter Store-Kauf.", - "stripe.error": "Bei der Zahlungsabwicklung ist ein Fehler aufgetreten. Versuch es noch mal oder kontaktiere den Support.", + "stripe.error": "{supportEmail, select, null {Bei der Zahlungsabwicklung ist ein Fehler aufgetreten. Versuch es noch mal oder kontaktiere die Administratoren dieser Instanz.} other {Bei der Zahlungsabwicklung ist ein Fehler aufgetreten. Versuch es noch mal oder kontaktiere den Support.}}", "stripe.invalid_product_configuration": "Ungültige Produktkonfiguration.", "stripe.invalid_product_selection": "Ungültige Produktauswahl.", "stripe.no_active_subscription_found": "Kein aktives Abonnement gefunden.", diff --git a/packages/errors/src/i18n/weblate/locales/el.json b/packages/errors/src/i18n/weblate/locales/el.json index af91359cf..ea07f37c9 100644 --- a/packages/errors/src/i18n/weblate/locales/el.json +++ b/packages/errors/src/i18n/weblate/locales/el.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Άγνωστη αναφορά.", "moderation_and_reports.user_is_not_banned": "Αυτός ο χρήστης δεν έχει αποκλειστεί.", "names_and_normalization.name_empty_after_normalization": "Το όνομα δεν μπορεί να είναι κενό μετά την κανονικοποίηση.", - "permissions.global_ip_banned": "Η διεύθυνση IP σου {ipAddress} έχει αποκλειστεί μόνιμα από το Fluxer API από τους διαχειριστές της πλατφόρμας. Αν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με support@fluxer.app για να υποβάλεις προσφυγή. Συμπερίλαβε αυτήν τη διεύθυνση IP στην προσφυγή σου.", - "permissions.global_ip_temporarily_banned": "Η διεύθυνση IP σου {ipAddress} έχει αποκλειστεί προσωρινά από το Fluxer API. Ο αποκλεισμός αίρεται αυτόματα όταν λήξει. Αν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με support@fluxer.com και συμπερίλαβε αυτήν τη διεύθυνση IP.", + "permissions.global_ip_banned": "Η διεύθυνση IP σου {ipAddress} έχει αποκλειστεί μόνιμα από το {product_name} API από τους διαχειριστές της πλατφόρμας. {appealEmail, select, null {Αν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με τους διαχειριστές αυτής της παρουσίας για να υποβάλεις προσφυγή.} other {Αν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με {appealEmail} για να υποβάλεις προσφυγή.}} Συμπερίλαβε αυτήν τη διεύθυνση IP στην προσφυγή σου.", + "permissions.global_ip_temporarily_banned": "Η διεύθυνση IP σου {ipAddress} έχει αποκλειστεί προσωρινά από το {product_name} API. Ο αποκλεισμός αίρεται αυτόματα όταν λήξει. {appealEmail, select, null {Αν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με τους διαχειριστές αυτής της παρουσίας και συμπερίλαβε αυτήν τη διεύθυνση IP.} other {Αν πιστεύεις ότι πρόκειται για λάθος, επικοινώνησε με {appealEmail} και συμπερίλαβε αυτήν τη διεύθυνση IP.}}", "permissions.missing_access": "Δεν έχεις πρόσβαση σε αυτόν τον πόρο ή σε αυτήν τη λειτουργία.", "permissions.missing_permissions": "Δεν έχεις τα απαραίτητα δικαιώματα για να εκτελέσεις αυτήν την ενέργεια.", "permissions.user_banned_from_guild": "Αυτός ο χρήστης έχει αποκλειστεί από αυτήν την κοινότητα.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Οι δοκιμαστικές αγορές δεν μπορούν να εφαρμοστούν σε αυτόν τον λογαριασμό.", "store_billing.unavailable": "Οι αγορές εντός εφαρμογής δεν είναι διαθέσιμες αυτή τη στιγμή. Δοκίμασε ξανά αργότερα.", "store_billing.unknown_purchase": "Άγνωστη αγορά από το κατάστημα.", - "stripe.error": "Παρουσιάστηκε σφάλμα στην επεξεργασία πληρωμής. Δοκίμασε ξανά ή επικοινώνησε με την υποστήριξη.", + "stripe.error": "{supportEmail, select, null {Παρουσιάστηκε σφάλμα στην επεξεργασία πληρωμής. Δοκίμασε ξανά ή επικοινώνησε με τους διαχειριστές αυτής της παρουσίας.} other {Παρουσιάστηκε σφάλμα στην επεξεργασία πληρωμής. Δοκίμασε ξανά ή επικοινώνησε με την υποστήριξη.}}", "stripe.invalid_product_configuration": "Μη έγκυρη διαμόρφωση προϊόντος.", "stripe.invalid_product_selection": "Μη έγκυρη επιλογή προϊόντος.", "stripe.no_active_subscription_found": "Δεν βρέθηκε ενεργή συνδρομή.", diff --git a/packages/errors/src/i18n/weblate/locales/en-GB.json b/packages/errors/src/i18n/weblate/locales/en-GB.json index 08f1dd794..535df340a 100644 --- a/packages/errors/src/i18n/weblate/locales/en-GB.json +++ b/packages/errors/src/i18n/weblate/locales/en-GB.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Unknown report.", "moderation_and_reports.user_is_not_banned": "This user isn't banned.", "names_and_normalization.name_empty_after_normalization": "Name can't be empty after normalisation.", - "permissions.global_ip_banned": "Your IP address {ipAddress} has been permanently blocked from the Fluxer API by platform administrators. If you believe this is a mistake, contact support@fluxer.app to appeal. Include this IP address in your appeal.", - "permissions.global_ip_temporarily_banned": "Your IP address {ipAddress} has been temporarily blocked from the Fluxer API. The block lifts on its own when it expires. If you think this is a mistake, contact support@fluxer.com and include this IP address.", + "permissions.global_ip_banned": "Your IP address {ipAddress} has been permanently blocked from the {product_name} API by platform administrators. {appealEmail, select, null {If you believe this is a mistake, contact the administrators of this instance to appeal.} other {If you believe this is a mistake, contact {appealEmail} to appeal.}} Include this IP address in your appeal.", + "permissions.global_ip_temporarily_banned": "Your IP address {ipAddress} has been temporarily blocked from the {product_name} API. The block lifts on its own when it expires. {appealEmail, select, null {If you think this is a mistake, contact the administrators of this instance and include this IP address.} other {If you think this is a mistake, contact {appealEmail} and include this IP address.}}", "permissions.missing_access": "You don't have access to this resource or feature.", "permissions.missing_permissions": "You don't have the permissions required to perform this action.", "permissions.user_banned_from_guild": "This user is banned from this community.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Test purchases cannot be applied to this account.", "store_billing.unavailable": "In-app purchases are unavailable right now. Try again later.", "store_billing.unknown_purchase": "Unknown store purchase.", - "stripe.error": "Payment processing encountered an error. Please try again or contact support.", + "stripe.error": "{supportEmail, select, null {Payment processing encountered an error. Please try again or contact the administrators of this instance.} other {Payment processing encountered an error. Please try again or contact support.}}", "stripe.invalid_product_configuration": "Invalid product configuration.", "stripe.invalid_product_selection": "Invalid product selection.", "stripe.no_active_subscription_found": "No active subscription found.", diff --git a/packages/errors/src/i18n/weblate/locales/es-419.json b/packages/errors/src/i18n/weblate/locales/es-419.json index a6dc20951..287d16087 100644 --- a/packages/errors/src/i18n/weblate/locales/es-419.json +++ b/packages/errors/src/i18n/weblate/locales/es-419.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Reporte desconocido.", "moderation_and_reports.user_is_not_banned": "Este usuario no ha sido baneado.", "names_and_normalization.name_empty_after_normalization": "El nombre no puede quedar vacío después de la normalización.", - "permissions.global_ip_banned": "Tu dirección IP {ipAddress} fue bloqueada permanentemente de la API de Fluxer por administradores de la plataforma. Si crees que es un error, escribe a support@fluxer.app para apelar. Incluye esta dirección IP en tu apelación.", - "permissions.global_ip_temporarily_banned": "Tu dirección IP {ipAddress} fue bloqueada temporalmente de la API de Fluxer. El bloqueo se levanta automáticamente cuando vence. Si crees que es un error, escribe a support@fluxer.com e incluye esta dirección IP.", + "permissions.global_ip_banned": "Tu dirección IP {ipAddress} fue bloqueada permanentemente de la API de {product_name} por administradores de la plataforma. {appealEmail, select, null {Si crees que es un error, comunícate con los administradores de esta instancia para apelar.} other {Si crees que es un error, escribe a {appealEmail} para apelar.}} Incluye esta dirección IP en tu apelación.", + "permissions.global_ip_temporarily_banned": "Tu dirección IP {ipAddress} fue bloqueada temporalmente de la API de {product_name}. El bloqueo se levanta automáticamente cuando vence. {appealEmail, select, null {Si crees que es un error, comunícate con los administradores de esta instancia e incluye esta dirección IP.} other {Si crees que es un error, escribe a {appealEmail} e incluye esta dirección IP.}}", "permissions.missing_access": "No tienes acceso a este recurso o función.", "permissions.missing_permissions": "No tienes los permisos necesarios para realizar esta acción.", "permissions.user_banned_from_guild": "Este usuario ha sido baneado de esta comunidad.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Las compras de prueba no se pueden aplicar a esta cuenta.", "store_billing.unavailable": "Las compras dentro de la app no están disponibles en este momento. Inténtalo de nuevo más tarde.", "store_billing.unknown_purchase": "Compra de la tienda desconocida.", - "stripe.error": "El procesamiento del pago tuvo un error. Inténtalo de nuevo o contacta al equipo de soporte.", + "stripe.error": "{supportEmail, select, null {El procesamiento del pago tuvo un error. Inténtalo de nuevo o comunícate con los administradores de esta instancia.} other {El procesamiento del pago tuvo un error. Inténtalo de nuevo o contacta al equipo de soporte.}}", "stripe.invalid_product_configuration": "Configuración de producto inválida.", "stripe.invalid_product_selection": "Selección de producto inválida.", "stripe.no_active_subscription_found": "No se encontró una suscripción activa.", diff --git a/packages/errors/src/i18n/weblate/locales/es-ES.json b/packages/errors/src/i18n/weblate/locales/es-ES.json index 3da035a1c..5e5ea30fc 100644 --- a/packages/errors/src/i18n/weblate/locales/es-ES.json +++ b/packages/errors/src/i18n/weblate/locales/es-ES.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Denuncia desconocida.", "moderation_and_reports.user_is_not_banned": "Este usuario no está baneado.", "names_and_normalization.name_empty_after_normalization": "El nombre no puede quedar vacío tras la normalización.", - "permissions.global_ip_banned": "Tu dirección IP {ipAddress} ha sido bloqueada permanentemente de la API de Fluxer por administradores de la plataforma. Si crees que es un error, contacta con support@fluxer.app para apelar. Incluye esta dirección IP en la apelación.", - "permissions.global_ip_temporarily_banned": "Tu dirección IP {ipAddress} ha sido bloqueada temporalmente de la API de Fluxer. El bloqueo se levantará automáticamente cuando caduque. Si crees que es un error, contacta con support@fluxer.com e incluye esta dirección IP.", + "permissions.global_ip_banned": "Tu dirección IP {ipAddress} ha sido bloqueada permanentemente de la API de {product_name} por administradores de la plataforma. {appealEmail, select, null {Si crees que es un error, contacta con los administradores de esta instancia para apelar.} other {Si crees que es un error, contacta con {appealEmail} para apelar.}} Incluye esta dirección IP en la apelación.", + "permissions.global_ip_temporarily_banned": "Tu dirección IP {ipAddress} ha sido bloqueada temporalmente de la API de {product_name}. El bloqueo se levantará automáticamente cuando caduque. {appealEmail, select, null {Si crees que es un error, contacta con los administradores de esta instancia e incluye esta dirección IP.} other {Si crees que es un error, contacta con {appealEmail} e incluye esta dirección IP.}}", "permissions.missing_access": "No tienes acceso a este recurso o función.", "permissions.missing_permissions": "No tienes los permisos necesarios para realizar esta acción.", "permissions.user_banned_from_guild": "Este usuario está baneado de esta comunidad.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Las compras de prueba no se pueden aplicar a esta cuenta.", "store_billing.unavailable": "Las compras dentro de la aplicación no están disponibles ahora mismo. Inténtalo de nuevo más tarde.", "store_billing.unknown_purchase": "Compra de la tienda desconocida.", - "stripe.error": "El procesamiento del pago ha encontrado un error. Inténtalo de nuevo o contacta con soporte.", + "stripe.error": "{supportEmail, select, null {El procesamiento del pago ha encontrado un error. Inténtalo de nuevo o contacta con los administradores de esta instancia.} other {El procesamiento del pago ha encontrado un error. Inténtalo de nuevo o contacta con soporte.}}", "stripe.invalid_product_configuration": "Configuración de producto no válida.", "stripe.invalid_product_selection": "Selección de producto no válida.", "stripe.no_active_subscription_found": "No se encontró ninguna suscripción activa.", diff --git a/packages/errors/src/i18n/weblate/locales/fi.json b/packages/errors/src/i18n/weblate/locales/fi.json index 1a39a1950..d38fb8427 100644 --- a/packages/errors/src/i18n/weblate/locales/fi.json +++ b/packages/errors/src/i18n/weblate/locales/fi.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Tuntematon ilmoitus.", "moderation_and_reports.user_is_not_banned": "Tällä käyttäjällä ei ole porttikieltoa.", "names_and_normalization.name_empty_after_normalization": "Normalisoinnin jälkeen nimi ei voi olla tyhjä.", - "permissions.global_ip_banned": "Alustan ylläpitäjät ovat estäneet IP-osoitteelta {ipAddress} pääsyn Fluxer API -rajapintaan pysyvästi. Jos uskot tämän olevan virhe, lähetä valitus osoitteeseen support@fluxer.app. Liitä tämä IP-osoite valitukseesi.", - "permissions.global_ip_temporarily_banned": "IP-osoitteeltasi {ipAddress} on estetty väliaikaisesti pääsy Fluxer API -rajapintaan. Esto poistuu automaattisesti, kun sen voimassaolo päättyy. Jos uskot tämän olevan virhe, ota yhteyttä osoitteeseen support@fluxer.com ja mainitse tämä IP-osoite.", + "permissions.global_ip_banned": "Alustan ylläpitäjät ovat estäneet IP-osoitteelta {ipAddress} pääsyn {product_name} API -rajapintaan pysyvästi. {appealEmail, select, null {Jos uskot tämän olevan virhe, lähetä valitus tämän instanssin ylläpitäjille.} other {Jos uskot tämän olevan virhe, lähetä valitus osoitteeseen {appealEmail}.}} Liitä tämä IP-osoite valitukseesi.", + "permissions.global_ip_temporarily_banned": "IP-osoitteeltasi {ipAddress} on estetty väliaikaisesti pääsy {product_name} API -rajapintaan. Esto poistuu automaattisesti, kun sen voimassaolo päättyy. {appealEmail, select, null {Jos uskot tämän olevan virhe, ota yhteyttä tämän instanssin ylläpitäjiin ja mainitse tämä IP-osoite.} other {Jos uskot tämän olevan virhe, ota yhteyttä osoitteeseen {appealEmail} ja mainitse tämä IP-osoite.}}", "permissions.missing_access": "Ei oikeutta tähän resurssiin tai ominaisuuteen.", "permissions.missing_permissions": "Ei tarvittavia oikeuksia tämän toiminnon tekemiseen.", "permissions.user_banned_from_guild": "Tällä käyttäjällä on porttikielto tähän yhteisöön.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Testiostoja ei voi käyttää tällä tilillä.", "store_billing.unavailable": "Sovelluksen sisäiset ostot eivät ole juuri nyt käytettävissä. Yritä myöhemmin uudelleen.", "store_billing.unknown_purchase": "Tuntematon kauppaostos.", - "stripe.error": "Maksun käsittelyssä tapahtui virhe. Yritä uudelleen tai ota yhteyttä tukeen.", + "stripe.error": "{supportEmail, select, null {Maksun käsittelyssä tapahtui virhe. Yritä uudelleen tai ota yhteyttä tämän instanssin ylläpitäjiin.} other {Maksun käsittelyssä tapahtui virhe. Yritä uudelleen tai ota yhteyttä tukeen.}}", "stripe.invalid_product_configuration": "Virheellinen tuotekonfiguraatio.", "stripe.invalid_product_selection": "Virheellinen tuotevalinta.", "stripe.no_active_subscription_found": "Aktiivista tilausta ei löytynyt.", diff --git a/packages/errors/src/i18n/weblate/locales/fr.json b/packages/errors/src/i18n/weblate/locales/fr.json index cda4b5401..fa07f2b61 100644 --- a/packages/errors/src/i18n/weblate/locales/fr.json +++ b/packages/errors/src/i18n/weblate/locales/fr.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Signalement inconnu.", "moderation_and_reports.user_is_not_banned": "Cet utilisateur n'est pas banni.", "names_and_normalization.name_empty_after_normalization": "Le nom ne peut pas être vide une fois normalisé.", - "permissions.global_ip_banned": "Les administrateurs de la plateforme ont définitivement bloqué l’accès à Fluxer API depuis votre adresse IP {ipAddress}. Si vous pensez qu’il s’agit d’une erreur, écrivez à support@fluxer.app pour déposer un recours. Indiquez cette adresse IP dans votre recours.", - "permissions.global_ip_temporarily_banned": "L’accès à Fluxer API depuis votre adresse IP {ipAddress} a été temporairement bloqué. Le blocage sera levé automatiquement à son expiration. Si vous pensez qu’il s’agit d’une erreur, écrivez à support@fluxer.com en indiquant cette adresse IP.", + "permissions.global_ip_banned": "Les administrateurs de la plateforme ont définitivement bloqué l’accès à {product_name} API depuis votre adresse IP {ipAddress}. {appealEmail, select, null {Si vous pensez qu’il s’agit d’une erreur, contactez les administrateurs de cette instance pour déposer un recours.} other {Si vous pensez qu’il s’agit d’une erreur, écrivez à {appealEmail} pour déposer un recours.}} Indiquez cette adresse IP dans votre recours.", + "permissions.global_ip_temporarily_banned": "L’accès à {product_name} API depuis votre adresse IP {ipAddress} a été temporairement bloqué. Le blocage sera levé automatiquement à son expiration. {appealEmail, select, null {Si vous pensez qu’il s’agit d’une erreur, contactez les administrateurs de cette instance en indiquant cette adresse IP.} other {Si vous pensez qu’il s’agit d’une erreur, écrivez à {appealEmail} en indiquant cette adresse IP.}}", "permissions.missing_access": "Vous n’avez pas accès à cette ressource ou fonctionnalité.", "permissions.missing_permissions": "Vous n’avez pas les permissions requises pour effectuer cette action.", "permissions.user_banned_from_guild": "Cet utilisateur est banni de cette communauté.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Les achats de test ne peuvent pas être appliqués à ce compte.", "store_billing.unavailable": "Les achats intégrés sont indisponibles pour le moment. Réessayez plus tard.", "store_billing.unknown_purchase": "Achat en boutique inconnu.", - "stripe.error": "Une erreur est survenue lors du traitement du paiement. Réessayez ou contactez l’assistance.", + "stripe.error": "{supportEmail, select, null {Une erreur est survenue lors du traitement du paiement. Réessayez ou contactez les administrateurs de cette instance.} other {Une erreur est survenue lors du traitement du paiement. Réessayez ou contactez l’assistance.}}", "stripe.invalid_product_configuration": "Configuration de produit invalide.", "stripe.invalid_product_selection": "Sélection de produit invalide.", "stripe.no_active_subscription_found": "Aucun abonnement actif trouvé.", diff --git a/packages/errors/src/i18n/weblate/locales/he.json b/packages/errors/src/i18n/weblate/locales/he.json index 132602769..a88b21588 100644 --- a/packages/errors/src/i18n/weblate/locales/he.json +++ b/packages/errors/src/i18n/weblate/locales/he.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "דיווח לא ידוע.", "moderation_and_reports.user_is_not_banned": "משתמש זה לא חסום.", "names_and_normalization.name_empty_after_normalization": "השם לא יכול להיות ריק לאחר נורמליזציה.", - "permissions.global_ip_banned": "כתובת ה-IP שלך {ipAddress} נחסמה לצמיתות מ-Fluxer API על ידי מנהלי הפלטפורמה. אם לדעתך זו טעות, אפשר לפנות אל support@fluxer.app כדי לערער. יש לכלול את כתובת ה-IP הזו בערעור.", - "permissions.global_ip_temporarily_banned": "כתובת ה-IP שלך {ipAddress} נחסמה זמנית מ-Fluxer API. החסימה תוסר אוטומטית כשתפוג. אם לדעתך זו טעות, אפשר לפנות אל support@fluxer.com ולציין את כתובת ה-IP הזו.", + "permissions.global_ip_banned": "כתובת ה-IP שלך {ipAddress} נחסמה לצמיתות מ-{product_name} API על ידי מנהלי הפלטפורמה. {appealEmail, select, null {אם לדעתך זו טעות, אפשר לפנות אל מנהלי המערכת של המופע הזה כדי לערער.} other {אם לדעתך זו טעות, אפשר לפנות אל {appealEmail} כדי לערער.}} יש לכלול את כתובת ה-IP הזו בערעור.", + "permissions.global_ip_temporarily_banned": "כתובת ה-IP שלך {ipAddress} נחסמה זמנית מ-{product_name} API. החסימה תוסר אוטומטית כשתפוג. {appealEmail, select, null {אם לדעתך זו טעות, אפשר לפנות אל מנהלי המערכת של המופע הזה ולציין את כתובת ה-IP הזו.} other {אם לדעתך זו טעות, אפשר לפנות אל {appealEmail} ולציין את כתובת ה-IP הזו.}}", "permissions.missing_access": "אין לך גישה למשאב או לתכונה הזו.", "permissions.missing_permissions": "אין לך את ההרשאות הנדרשות לביצוע פעולה זו.", "permissions.user_banned_from_guild": "משתמש זה חסום בקהילה זו.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "לא ניתן להחיל רכישות ניסיון על החשבון הזה.", "store_billing.unavailable": "רכישות בתוך האפליקציה אינן זמינות כרגע. ניתן לנסות שוב מאוחר יותר.", "store_billing.unknown_purchase": "רכישה לא ידועה מהחנות.", - "stripe.error": "אירעה שגיאה בעיבוד התשלום. ניתן לנסות שוב או לפנות לתמיכה.", + "stripe.error": "{supportEmail, select, null {אירעה שגיאה בעיבוד התשלום. ניתן לנסות שוב או לפנות אל מנהלי המערכת של המופע הזה.} other {אירעה שגיאה בעיבוד התשלום. ניתן לנסות שוב או לפנות לתמיכה.}}", "stripe.invalid_product_configuration": "תצורת מוצר שגויה.", "stripe.invalid_product_selection": "בחירת מוצר שגויה.", "stripe.no_active_subscription_found": "לא נמצא מנוי פעיל.", diff --git a/packages/errors/src/i18n/weblate/locales/hi.json b/packages/errors/src/i18n/weblate/locales/hi.json index 9a8ce1c7f..790420bf5 100644 --- a/packages/errors/src/i18n/weblate/locales/hi.json +++ b/packages/errors/src/i18n/weblate/locales/hi.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "अज्ञात रिपोर्ट।", "moderation_and_reports.user_is_not_banned": "यह यूज़र बैन नहीं है।", "names_and_normalization.name_empty_after_normalization": "नॉर्मलाइज़ेशन के बाद नाम खाली नहीं हो सकता।", - "permissions.global_ip_banned": "आपका IP पता {ipAddress} प्लेटफ़ॉर्म एडमिनों द्वारा Fluxer API से स्थायी रूप से ब्लॉक कर दिया गया है। अगर आपको लगता है कि यह गलती है, तो अपील के लिए support@fluxer.app से संपर्क करें। अपनी अपील में यह IP पता शामिल करें।", - "permissions.global_ip_temporarily_banned": "आपका IP पता {ipAddress} Fluxer API से अस्थायी रूप से ब्लॉक कर दिया गया है। समय पूरा होने पर ब्लॉक अपने-आप हट जाएगा। अगर आपको लगता है कि यह गलती है, तो support@fluxer.com से संपर्क करें और यह IP पता शामिल करें।", + "permissions.global_ip_banned": "आपका IP पता {ipAddress} प्लेटफ़ॉर्म एडमिनों द्वारा {product_name} API से स्थायी रूप से ब्लॉक कर दिया गया है। {appealEmail, select, null {अगर आपको लगता है कि यह गलती है, तो अपील के लिए इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {अगर आपको लगता है कि यह गलती है, तो अपील के लिए {appealEmail} से संपर्क करें।}} अपनी अपील में यह IP पता शामिल करें।", + "permissions.global_ip_temporarily_banned": "आपका IP पता {ipAddress} {product_name} API से अस्थायी रूप से ब्लॉक कर दिया गया है। समय पूरा होने पर ब्लॉक अपने-आप हट जाएगा। {appealEmail, select, null {अगर आपको लगता है कि यह गलती है, तो इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें और यह IP पता शामिल करें।} other {अगर आपको लगता है कि यह गलती है, तो {appealEmail} से संपर्क करें और यह IP पता शामिल करें।}}", "permissions.missing_access": "आपके पास इस रिसोर्स या फ़ीचर का एक्सेस नहीं है।", "permissions.missing_permissions": "आपके पास यह एक्शन करने के लिए ज़रूरी अनुमति नहीं है।", "permissions.user_banned_from_guild": "इस यूज़र को इस कम्युनिटी से बैन कर दिया गया है।", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "टेस्ट खरीदारी इस खाते पर लागू नहीं की जा सकती।", "store_billing.unavailable": "इन-ऐप खरीदारी अभी उपलब्ध नहीं है। कृपया बाद में फिर से प्रयास करें।", "store_billing.unknown_purchase": "अज्ञात स्टोर खरीदारी।", - "stripe.error": "पेमेंट प्रोसेसिंग में गड़बड़ी हुई। कृपया फिर से प्रयास करें या सपोर्ट से संपर्क करें।", + "stripe.error": "{supportEmail, select, null {पेमेंट प्रोसेसिंग में गड़बड़ी हुई। कृपया फिर से प्रयास करें या इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {पेमेंट प्रोसेसिंग में गड़बड़ी हुई। कृपया फिर से प्रयास करें या सपोर्ट से संपर्क करें।}}", "stripe.invalid_product_configuration": "अमान्य प्रोडक्ट कॉन्फ़िगरेशन।", "stripe.invalid_product_selection": "अमान्य प्रोडक्ट चयन।", "stripe.no_active_subscription_found": "कोई एक्टिव सब्सक्रिप्शन नहीं मिला।", diff --git a/packages/errors/src/i18n/weblate/locales/hr.json b/packages/errors/src/i18n/weblate/locales/hr.json index 16e6ac934..d4a34ec0f 100644 --- a/packages/errors/src/i18n/weblate/locales/hr.json +++ b/packages/errors/src/i18n/weblate/locales/hr.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Nepoznata prijava.", "moderation_and_reports.user_is_not_banned": "Ovaj korisnik nema zabranu.", "names_and_normalization.name_empty_after_normalization": "Ime ne može biti prazno nakon normalizacije.", - "permissions.global_ip_banned": "Administratori platforme trajno su blokirali pristup Fluxer API-ju s tvoje IP adrese {ipAddress}. Ako smatraš da je to pogreška, javi se na support@fluxer.app i uloži žalbu. U žalbu uključi ovu IP adresu.", - "permissions.global_ip_temporarily_banned": "Pristup Fluxer API-ju s tvoje IP adrese {ipAddress} privremeno je blokiran. Blokada se automatski uklanja kada istekne. Ako smatraš da je to pogreška, javi se na support@fluxer.com i navedi ovu IP adresu.", + "permissions.global_ip_banned": "Administratori platforme trajno su blokirali pristup {product_name} API-ju s tvoje IP adrese {ipAddress}. {appealEmail, select, null {Ako smatraš da je to pogreška, obrati se administratorima ove instance i uloži žalbu.} other {Ako smatraš da je to pogreška, javi se na {appealEmail} i uloži žalbu.}} U žalbu uključi ovu IP adresu.", + "permissions.global_ip_temporarily_banned": "Pristup {product_name} API-ju s tvoje IP adrese {ipAddress} privremeno je blokiran. Blokada se automatski uklanja kada istekne. {appealEmail, select, null {Ako smatraš da je to pogreška, obrati se administratorima ove instance i navedi ovu IP adresu.} other {Ako smatraš da je to pogreška, javi se na {appealEmail} i navedi ovu IP adresu.}}", "permissions.missing_access": "Nemaš pristup ovom resursu ili značajci.", "permissions.missing_permissions": "Nemaš potrebna dopuštenja za ovu radnju.", "permissions.user_banned_from_guild": "Ovaj korisnik ima zabranu pristupa ovoj zajednici.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Testne kupnje ne mogu se primijeniti na ovaj račun.", "store_billing.unavailable": "Kupnje unutar aplikacije trenutačno nisu dostupne. Pokušaj ponovno kasnije.", "store_billing.unknown_purchase": "Nepoznata kupnja iz trgovine.", - "stripe.error": "Došlo je do pogreške pri obradi plaćanja. Pokušaj ponovno ili se javi podršci.", + "stripe.error": "{supportEmail, select, null {Došlo je do pogreške pri obradi plaćanja. Pokušaj ponovno ili se obrati administratorima ove instance.} other {Došlo je do pogreške pri obradi plaćanja. Pokušaj ponovno ili se javi podršci.}}", "stripe.invalid_product_configuration": "Nevažeća konfiguracija proizvoda.", "stripe.invalid_product_selection": "Nevažeći odabir proizvoda.", "stripe.no_active_subscription_found": "Nema aktivne pretplate.", diff --git a/packages/errors/src/i18n/weblate/locales/hu.json b/packages/errors/src/i18n/weblate/locales/hu.json index 2caacabb6..57c2b5847 100644 --- a/packages/errors/src/i18n/weblate/locales/hu.json +++ b/packages/errors/src/i18n/weblate/locales/hu.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Ismeretlen bejelentés.", "moderation_and_reports.user_is_not_banned": "Ez a felhasználó nincs kitiltva.", "names_and_normalization.name_empty_after_normalization": "Normalizálás után a név nem lehet üres.", - "permissions.global_ip_banned": "Az IP-címedet ({ipAddress}) a platform adminisztrátorai véglegesen letiltották a Fluxer API használatáról. Ha úgy gondolod, hogy ez tévedés, a support@fluxer.app címre írhatsz fellebbezést. Add meg benne ezt az IP-címet.", - "permissions.global_ip_temporarily_banned": "Az IP-címedet ({ipAddress}) ideiglenesen letiltottuk a Fluxer API használatáról. A tiltás a lejártakor magától megszűnik. Ha úgy gondolod, hogy ez tévedés, írj a support@fluxer.com címre, és add meg ezt az IP-címet.", + "permissions.global_ip_banned": "Az IP-címedet ({ipAddress}) a platform adminisztrátorai véglegesen letiltották a {product_name} API használatáról. {appealEmail, select, null {Ha úgy gondolod, hogy ez tévedés, ennek a példánynak az adminisztrátoraihoz nyújthatsz be fellebbezést.} other {Ha úgy gondolod, hogy ez tévedés, a {appealEmail} címre írhatsz fellebbezést.}} Add meg benne ezt az IP-címet.", + "permissions.global_ip_temporarily_banned": "Az IP-címedet ({ipAddress}) ideiglenesen letiltottuk a {product_name} API használatáról. A tiltás a lejártakor magától megszűnik. {appealEmail, select, null {Ha úgy gondolod, hogy ez tévedés, fordulj ennek a példánynak az adminisztrátoraihoz, és add meg ezt az IP-címet.} other {Ha úgy gondolod, hogy ez tévedés, írj a {appealEmail} címre, és add meg ezt az IP-címet.}}", "permissions.missing_access": "Nem férsz hozzá ehhez az erőforráshoz vagy funkcióhoz.", "permissions.missing_permissions": "Nincs meg a művelet elvégzéséhez szükséges jogosultságod.", "permissions.user_banned_from_guild": "Ez a felhasználó ki van tiltva a közösségből.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "A tesztvásárlások nem alkalmazhatók erre a fiókra.", "store_billing.unavailable": "Az alkalmazáson belüli vásárlások most nem érhetők el. Próbáld újra később.", "store_billing.unknown_purchase": "Ismeretlen áruházi vásárlás.", - "stripe.error": "Hiba történt a fizetés feldolgozása során. Próbáld újra, vagy keresd az ügyfélszolgálatot.", + "stripe.error": "{supportEmail, select, null {Hiba történt a fizetés feldolgozása során. Próbáld újra, vagy fordulj ennek a példánynak az adminisztrátoraihoz.} other {Hiba történt a fizetés feldolgozása során. Próbáld újra, vagy keresd az ügyfélszolgálatot.}}", "stripe.invalid_product_configuration": "Érvénytelen termékkonfiguráció.", "stripe.invalid_product_selection": "Érvénytelen termékválasztás.", "stripe.no_active_subscription_found": "Nem található aktív előfizetés.", diff --git a/packages/errors/src/i18n/weblate/locales/id.json b/packages/errors/src/i18n/weblate/locales/id.json index ab415bf04..7368edaa0 100644 --- a/packages/errors/src/i18n/weblate/locales/id.json +++ b/packages/errors/src/i18n/weblate/locales/id.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Laporan tidak dikenal.", "moderation_and_reports.user_is_not_banned": "Pengguna ini tidak diblokir.", "names_and_normalization.name_empty_after_normalization": "Nama tidak bisa kosong setelah normalisasi.", - "permissions.global_ip_banned": "Alamat IP kamu {ipAddress} telah diblokir permanen dari Fluxer API oleh admin platform. Jika kamu merasa ini keliru, hubungi support@fluxer.app untuk mengajukan banding. Sertakan alamat IP ini dalam bandingmu.", - "permissions.global_ip_temporarily_banned": "Alamat IP kamu {ipAddress} diblokir sementara dari Fluxer API. Pemblokiran akan dicabut secara otomatis saat masa berlakunya habis. Jika kamu merasa ini keliru, hubungi support@fluxer.com dan sertakan alamat IP ini.", + "permissions.global_ip_banned": "Alamat IP kamu {ipAddress} telah diblokir permanen dari {product_name} API oleh admin platform. {appealEmail, select, null {Jika kamu merasa ini keliru, hubungi administrator instance ini untuk mengajukan banding.} other {Jika kamu merasa ini keliru, hubungi {appealEmail} untuk mengajukan banding.}} Sertakan alamat IP ini dalam bandingmu.", + "permissions.global_ip_temporarily_banned": "Alamat IP kamu {ipAddress} diblokir sementara dari {product_name} API. Pemblokiran akan dicabut secara otomatis saat masa berlakunya habis. {appealEmail, select, null {Jika kamu merasa ini keliru, hubungi administrator instance ini dan sertakan alamat IP ini.} other {Jika kamu merasa ini keliru, hubungi {appealEmail} dan sertakan alamat IP ini.}}", "permissions.missing_access": "Kamu tidak memiliki akses ke sumber daya atau fitur ini.", "permissions.missing_permissions": "Kamu tidak memiliki izin yang diperlukan untuk melakukan tindakan ini.", "permissions.user_banned_from_guild": "Pengguna ini diblokir dari komunitas ini.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Pembelian uji coba tidak dapat diterapkan ke akun ini.", "store_billing.unavailable": "Pembelian dalam aplikasi sedang tidak tersedia. Coba lagi nanti.", "store_billing.unknown_purchase": "Pembelian toko tidak dikenal.", - "stripe.error": "Terjadi kesalahan saat memproses pembayaran. Coba lagi atau hubungi dukungan.", + "stripe.error": "{supportEmail, select, null {Terjadi kesalahan saat memproses pembayaran. Coba lagi atau hubungi administrator instance ini.} other {Terjadi kesalahan saat memproses pembayaran. Coba lagi atau hubungi dukungan.}}", "stripe.invalid_product_configuration": "Konfigurasi produk tidak valid.", "stripe.invalid_product_selection": "Pilihan produk tidak valid.", "stripe.no_active_subscription_found": "Langganan aktif tidak ditemukan.", diff --git a/packages/errors/src/i18n/weblate/locales/it.json b/packages/errors/src/i18n/weblate/locales/it.json index 600aaf668..6e1692014 100644 --- a/packages/errors/src/i18n/weblate/locales/it.json +++ b/packages/errors/src/i18n/weblate/locales/it.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Segnalazione sconosciuta.", "moderation_and_reports.user_is_not_banned": "L'utente non è bannato.", "names_and_normalization.name_empty_after_normalization": "Il nome non può essere vuoto dopo la normalizzazione.", - "permissions.global_ip_banned": "Il tuo indirizzo IP {ipAddress} è stato bloccato in modo permanente dall'API Fluxer dagli amministratori della piattaforma. Se pensi che sia un errore, contatta support@fluxer.app per fare ricorso. Includi questo indirizzo IP nel ricorso.", - "permissions.global_ip_temporarily_banned": "Il tuo indirizzo IP {ipAddress} è stato bloccato temporaneamente dall'API Fluxer. Il blocco verrà rimosso automaticamente alla scadenza. Se pensi che sia un errore, contatta support@fluxer.com indicando questo indirizzo IP.", + "permissions.global_ip_banned": "Il tuo indirizzo IP {ipAddress} è stato bloccato in modo permanente dall'API {product_name} dagli amministratori della piattaforma. {appealEmail, select, null {Se pensi che sia un errore, contatta gli amministratori di questa istanza per fare ricorso.} other {Se pensi che sia un errore, contatta {appealEmail} per fare ricorso.}} Includi questo indirizzo IP nel ricorso.", + "permissions.global_ip_temporarily_banned": "Il tuo indirizzo IP {ipAddress} è stato bloccato temporaneamente dall'API {product_name}. Il blocco verrà rimosso automaticamente alla scadenza. {appealEmail, select, null {Se pensi che sia un errore, contatta gli amministratori di questa istanza indicando questo indirizzo IP.} other {Se pensi che sia un errore, contatta {appealEmail} indicando questo indirizzo IP.}}", "permissions.missing_access": "Non hai accesso a questa risorsa o funzionalità.", "permissions.missing_permissions": "Non hai le autorizzazioni necessarie per eseguire questa azione.", "permissions.user_banned_from_guild": "L'utente è bannato da questa community.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Gli acquisti di prova non possono essere applicati a questo account.", "store_billing.unavailable": "Gli acquisti in-app non sono disponibili al momento. Riprova più tardi.", "store_billing.unknown_purchase": "Acquisto dallo store sconosciuto.", - "stripe.error": "Si è verificato un errore durante l'elaborazione del pagamento. Riprova o contatta l'assistenza.", + "stripe.error": "{supportEmail, select, null {Si è verificato un errore durante l'elaborazione del pagamento. Riprova o contatta gli amministratori di questa istanza.} other {Si è verificato un errore durante l'elaborazione del pagamento. Riprova o contatta l'assistenza.}}", "stripe.invalid_product_configuration": "Configurazione prodotto non valida.", "stripe.invalid_product_selection": "Selezione del prodotto non valida.", "stripe.no_active_subscription_found": "Nessun abbonamento attivo trovato.", diff --git a/packages/errors/src/i18n/weblate/locales/ja.json b/packages/errors/src/i18n/weblate/locales/ja.json index e9e72c9cd..5ab6b5f09 100644 --- a/packages/errors/src/i18n/weblate/locales/ja.json +++ b/packages/errors/src/i18n/weblate/locales/ja.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "不明な報告です。", "moderation_and_reports.user_is_not_banned": "このユーザーはBANされていません。", "names_and_normalization.name_empty_after_normalization": "正規化後、名前は空にできません。", - "permissions.global_ip_banned": "IPアドレス{ipAddress}は、プラットフォーム管理者によりFluxer APIから永久にブロックされました。誤りだと思う場合は、support@fluxer.appに連絡して異議申し立てをしてください。申し立てにはこのIPアドレスを記載してください。", - "permissions.global_ip_temporarily_banned": "IPアドレス{ipAddress}は、Fluxer APIから一時的にブロックされました。ブロックは期限が切れると自動的に解除されます。誤りだと思う場合は、このIPアドレスを記載のうえ、support@fluxer.comに連絡してください。", + "permissions.global_ip_banned": "IPアドレス{ipAddress}は、プラットフォーム管理者により{product_name} APIから永久にブロックされました。{appealEmail, select, null {誤りだと思う場合は、このインスタンスの管理者に連絡して異議申し立てをしてください。} other {誤りだと思う場合は、{appealEmail}に連絡して異議申し立てをしてください。}}申し立てにはこのIPアドレスを記載してください。", + "permissions.global_ip_temporarily_banned": "IPアドレス{ipAddress}は、{product_name} APIから一時的にブロックされました。ブロックは期限が切れると自動的に解除されます。{appealEmail, select, null {誤りだと思う場合は、このIPアドレスを記載のうえ、このインスタンスの管理者に連絡してください。} other {誤りだと思う場合は、このIPアドレスを記載のうえ、{appealEmail}に連絡してください。}}", "permissions.missing_access": "このリソースや機能にアクセスする権限がありません。", "permissions.missing_permissions": "この操作を実行するために必要な権限がありません。", "permissions.user_banned_from_guild": "このユーザーはこのコミュニティでBANされています。", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "テスト購入はこのアカウントには適用できません。", "store_billing.unavailable": "現在、アプリ内課金をご利用いただけません。後でもう一度お試しください。", "store_billing.unknown_purchase": "不明なストア購入です。", - "stripe.error": "支払い処理でエラーが発生しました。もう一度お試しいただくか、サポートにお問い合わせください。", + "stripe.error": "{supportEmail, select, null {支払い処理でエラーが発生しました。もう一度お試しいただくか、このインスタンスの管理者にお問い合わせください。} other {支払い処理でエラーが発生しました。もう一度お試しいただくか、サポートにお問い合わせください。}}", "stripe.invalid_product_configuration": "商品の設定が無効です。", "stripe.invalid_product_selection": "選択された商品が無効です。", "stripe.no_active_subscription_found": "有効なサブスクリプションが見つかりません。", diff --git a/packages/errors/src/i18n/weblate/locales/ko.json b/packages/errors/src/i18n/weblate/locales/ko.json index ca236432f..7a706a9f2 100644 --- a/packages/errors/src/i18n/weblate/locales/ko.json +++ b/packages/errors/src/i18n/weblate/locales/ko.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "알 수 없는 신고예요.", "moderation_and_reports.user_is_not_banned": "이 사용자는 차단되지 않았어요.", "names_and_normalization.name_empty_after_normalization": "정규화 후 이름은 비워둘 수 없어요.", - "permissions.global_ip_banned": "회원님의 IP 주소 {ipAddress}는 플랫폼 관리자가 Fluxer API에서 영구 차단했어요. 오류라고 생각한다면 support@fluxer.app으로 문의해 이의를 제기해 주세요. 이의 제기에는 이 IP 주소를 포함해 주세요.", - "permissions.global_ip_temporarily_banned": "회원님의 IP 주소 {ipAddress}는 Fluxer API에서 일시 차단되었어요. 차단은 기간이 끝나면 자동으로 해제돼요. 오류라고 생각한다면 이 IP 주소를 포함해 support@fluxer.com으로 문의해 주세요.", + "permissions.global_ip_banned": "회원님의 IP 주소 {ipAddress}는 플랫폼 관리자가 {product_name} API에서 영구 차단했어요. {appealEmail, select, null {오류라고 생각한다면 이 인스턴스의 관리자에게 문의해 이의를 제기해 주세요.} other {오류라고 생각한다면 {appealEmail}으로 문의해 이의를 제기해 주세요.}} 이의 제기에는 이 IP 주소를 포함해 주세요.", + "permissions.global_ip_temporarily_banned": "회원님의 IP 주소 {ipAddress}는 {product_name} API에서 일시 차단되었어요. 차단은 기간이 끝나면 자동으로 해제돼요. {appealEmail, select, null {오류라고 생각한다면 이 IP 주소를 포함해 이 인스턴스의 관리자에게 문의해 주세요.} other {오류라고 생각한다면 이 IP 주소를 포함해 {appealEmail}으로 문의해 주세요.}}", "permissions.missing_access": "이 리소스 또는 기능에 접근할 권한이 없어요.", "permissions.missing_permissions": "이 작업을 수행하는 데 필요한 권한이 없어요.", "permissions.user_banned_from_guild": "이 사용자는 이 커뮤니티에서 차단되었어요.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "테스트 구매는 이 계정에 적용할 수 없어요.", "store_billing.unavailable": "지금은 인앱 구매를 이용할 수 없어요. 나중에 다시 시도해 주세요.", "store_billing.unknown_purchase": "알 수 없는 스토어 구매예요.", - "stripe.error": "결제 처리 중 오류가 발생했어요. 다시 시도하거나 지원팀에 문의해 주세요.", + "stripe.error": "{supportEmail, select, null {결제 처리 중 오류가 발생했어요. 다시 시도하거나 이 인스턴스의 관리자에게 문의해 주세요.} other {결제 처리 중 오류가 발생했어요. 다시 시도하거나 지원팀에 문의해 주세요.}}", "stripe.invalid_product_configuration": "올바르지 않은 상품 구성이에요.", "stripe.invalid_product_selection": "올바르지 않은 상품 선택이에요.", "stripe.no_active_subscription_found": "활성화된 구독을 찾을 수 없어요.", diff --git a/packages/errors/src/i18n/weblate/locales/lt.json b/packages/errors/src/i18n/weblate/locales/lt.json index 4e79205b0..1ff037501 100644 --- a/packages/errors/src/i18n/weblate/locales/lt.json +++ b/packages/errors/src/i18n/weblate/locales/lt.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Nežinomas pranešimas.", "moderation_and_reports.user_is_not_banned": "Šis naudotojas nėra užblokuotas.", "names_and_normalization.name_empty_after_normalization": "Po normalizavimo pavadinimas negali būti tuščias.", - "permissions.global_ip_banned": "Tavo IP adresas {ipAddress} platformos administratorių visam laikui užblokuotas Fluxer API. Jei manai, kad tai klaida, dėl apeliacijos susisiek adresu support@fluxer.app. Apeliacijoje nurodyk šį IP adresą.", - "permissions.global_ip_temporarily_banned": "Tavo IP adresas {ipAddress} laikinai užblokuotas Fluxer API. Blokavimas bus panaikintas automatiškai, kai baigsis jo laikas. Jei manai, kad tai klaida, susisiek adresu support@fluxer.com ir nurodyk šį IP adresą.", + "permissions.global_ip_banned": "Tavo IP adresas {ipAddress} platformos administratorių visam laikui užblokuotas {product_name} API. {appealEmail, select, null {Jei manai, kad tai klaida, dėl apeliacijos susisiek su šios instancijos administratoriais.} other {Jei manai, kad tai klaida, dėl apeliacijos susisiek adresu {appealEmail}.}} Apeliacijoje nurodyk šį IP adresą.", + "permissions.global_ip_temporarily_banned": "Tavo IP adresas {ipAddress} laikinai užblokuotas {product_name} API. Blokavimas bus panaikintas automatiškai, kai baigsis jo laikas. {appealEmail, select, null {Jei manai, kad tai klaida, susisiek su šios instancijos administratoriais ir nurodyk šį IP adresą.} other {Jei manai, kad tai klaida, susisiek adresu {appealEmail} ir nurodyk šį IP adresą.}}", "permissions.missing_access": "Neturi prieigos prie šio ištekliaus ar funkcijos.", "permissions.missing_permissions": "Neturi reikiamų leidimų atlikti šį veiksmą.", "permissions.user_banned_from_guild": "Šis naudotojas užblokuotas šioje bendruomenėje.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Bandomųjų pirkinių negalima pritaikyti šiai paskyrai.", "store_billing.unavailable": "Pirkiniai programėlėje šiuo metu nepasiekiami. Pabandyk vėliau.", "store_billing.unknown_purchase": "Nežinomas parduotuvės pirkinys.", - "stripe.error": "Įvyko mokėjimo apdorojimo klaida. Bandyk dar kartą arba kreipkis į palaikymo komandą.", + "stripe.error": "{supportEmail, select, null {Įvyko mokėjimo apdorojimo klaida. Bandyk dar kartą arba kreipkis į šios instancijos administratorius.} other {Įvyko mokėjimo apdorojimo klaida. Bandyk dar kartą arba kreipkis į palaikymo komandą.}}", "stripe.invalid_product_configuration": "Neteisinga produkto konfigūracija.", "stripe.invalid_product_selection": "Neteisingas produkto pasirinkimas.", "stripe.no_active_subscription_found": "Nėra aktyvios prenumeratos.", diff --git a/packages/errors/src/i18n/weblate/locales/nl.json b/packages/errors/src/i18n/weblate/locales/nl.json index 86d0af181..dc008aad8 100644 --- a/packages/errors/src/i18n/weblate/locales/nl.json +++ b/packages/errors/src/i18n/weblate/locales/nl.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Onbekende melding.", "moderation_and_reports.user_is_not_banned": "Deze gebruiker is niet verbannen.", "names_and_normalization.name_empty_after_normalization": "Naam kan niet leeg zijn na normalisatie.", - "permissions.global_ip_banned": "Je IP-adres {ipAddress} is door platformbeheerders permanent geblokkeerd voor de Fluxer API. Als je denkt dat dit een fout is, neem dan contact op met support@fluxer.app om bezwaar te maken. Vermeld dit IP-adres in je bezwaar.", - "permissions.global_ip_temporarily_banned": "Je IP-adres {ipAddress} is tijdelijk geblokkeerd voor de Fluxer API. De blokkade wordt automatisch opgeheven zodra deze verloopt. Als je denkt dat dit een fout is, neem dan contact op met support@fluxer.com en vermeld dit IP-adres.", + "permissions.global_ip_banned": "Je IP-adres {ipAddress} is door platformbeheerders permanent geblokkeerd voor de {product_name} API. {appealEmail, select, null {Als je denkt dat dit een fout is, neem dan contact op met de beheerders van deze instantie om bezwaar te maken.} other {Als je denkt dat dit een fout is, neem dan contact op met {appealEmail} om bezwaar te maken.}} Vermeld dit IP-adres in je bezwaar.", + "permissions.global_ip_temporarily_banned": "Je IP-adres {ipAddress} is tijdelijk geblokkeerd voor de {product_name} API. De blokkade wordt automatisch opgeheven zodra deze verloopt. {appealEmail, select, null {Als je denkt dat dit een fout is, neem dan contact op met de beheerders van deze instantie en vermeld dit IP-adres.} other {Als je denkt dat dit een fout is, neem dan contact op met {appealEmail} en vermeld dit IP-adres.}}", "permissions.missing_access": "Je hebt geen toegang tot dit item of deze functie.", "permissions.missing_permissions": "Je hebt niet de benodigde machtigingen om deze actie uit te voeren.", "permissions.user_banned_from_guild": "Deze gebruiker is verbannen uit deze community.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Testaankopen kunnen niet op dit account worden toegepast.", "store_billing.unavailable": "In-app-aankopen zijn op dit moment niet beschikbaar. Probeer het later opnieuw.", "store_billing.unknown_purchase": "Onbekende winkelaankoop.", - "stripe.error": "Er is een fout opgetreden bij de betaling. Probeer het opnieuw of neem contact op met support.", + "stripe.error": "{supportEmail, select, null {Er is een fout opgetreden bij de betaling. Probeer het opnieuw of neem contact op met de beheerders van deze instantie.} other {Er is een fout opgetreden bij de betaling. Probeer het opnieuw of neem contact op met support.}}", "stripe.invalid_product_configuration": "Ongeldige productconfiguratie.", "stripe.invalid_product_selection": "Ongeldige productselectie.", "stripe.no_active_subscription_found": "Geen actief abonnement gevonden.", diff --git a/packages/errors/src/i18n/weblate/locales/no.json b/packages/errors/src/i18n/weblate/locales/no.json index 498105be7..d2e16b54b 100644 --- a/packages/errors/src/i18n/weblate/locales/no.json +++ b/packages/errors/src/i18n/weblate/locales/no.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Ukjent rapport.", "moderation_and_reports.user_is_not_banned": "Denne brukeren er ikke utestengt.", "names_and_normalization.name_empty_after_normalization": "Navnet kan ikke være tomt etter normalisering.", - "permissions.global_ip_banned": "IP-adressen din {ipAddress} er permanent blokkert fra Fluxer-API-et av plattformadministratorene. Hvis du mener dette er en feil, kan du kontakte support@fluxer.app for å klage. Ta med denne IP-adressen i klagen.", - "permissions.global_ip_temporarily_banned": "IP-adressen din {ipAddress} er midlertidig blokkert fra Fluxer-API-et. Blokkeringen oppheves automatisk når den utløper. Hvis du mener dette er en feil, kan du kontakte support@fluxer.com og oppgi denne IP-adressen.", + "permissions.global_ip_banned": "IP-adressen din {ipAddress} er permanent blokkert fra {product_name}-API-et av plattformadministratorene. {appealEmail, select, null {Hvis du mener dette er en feil, kan du kontakte administratorene av denne instansen for å klage.} other {Hvis du mener dette er en feil, kan du kontakte {appealEmail} for å klage.}} Ta med denne IP-adressen i klagen.", + "permissions.global_ip_temporarily_banned": "IP-adressen din {ipAddress} er midlertidig blokkert fra {product_name}-API-et. Blokkeringen oppheves automatisk når den utløper. {appealEmail, select, null {Hvis du mener dette er en feil, kan du kontakte administratorene av denne instansen og oppgi denne IP-adressen.} other {Hvis du mener dette er en feil, kan du kontakte {appealEmail} og oppgi denne IP-adressen.}}", "permissions.missing_access": "Du har ikke tilgang til denne ressursen eller funksjonen.", "permissions.missing_permissions": "Du har ikke de nødvendige tillatelsene til å utføre denne handlingen.", "permissions.user_banned_from_guild": "Denne brukeren er utestengt fra dette fellesskapet.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Testkjøp kan ikke brukes på denne kontoen.", "store_billing.unavailable": "Kjøp i appen er ikke tilgjengelig akkurat nå. Prøv igjen senere.", "store_billing.unknown_purchase": "Ukjent kjøp fra butikken.", - "stripe.error": "Det oppstod en feil under betalingsbehandlingen. Prøv igjen eller kontakt kundestøtte.", + "stripe.error": "{supportEmail, select, null {Det oppstod en feil under betalingsbehandlingen. Prøv igjen eller kontakt administratorene av denne instansen.} other {Det oppstod en feil under betalingsbehandlingen. Prøv igjen eller kontakt kundestøtte.}}", "stripe.invalid_product_configuration": "Ugyldig produktkonfigurasjon.", "stripe.invalid_product_selection": "Ugyldig produktvalg.", "stripe.no_active_subscription_found": "Ingen aktive abonnementer ble funnet.", diff --git a/packages/errors/src/i18n/weblate/locales/pl.json b/packages/errors/src/i18n/weblate/locales/pl.json index 3fb574528..f2d3ac69f 100644 --- a/packages/errors/src/i18n/weblate/locales/pl.json +++ b/packages/errors/src/i18n/weblate/locales/pl.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Nieznane zgłoszenie.", "moderation_and_reports.user_is_not_banned": "Ten użytkownik nie ma bana.", "names_and_normalization.name_empty_after_normalization": "Nazwa nie może być pusta po normalizacji.", - "permissions.global_ip_banned": "Twój adres IP {ipAddress} został trwale zablokowany w Fluxer API przez administratorów platformy. Jeśli uważasz, że to błąd, skontaktuj się z support@fluxer.app, aby się odwołać. Podaj ten adres IP w odwołaniu.", - "permissions.global_ip_temporarily_banned": "Twój adres IP {ipAddress} został tymczasowo zablokowany w Fluxer API. Blokada zostanie zdjęta automatycznie po jej wygaśnięciu. Jeśli uważasz, że to błąd, skontaktuj się z support@fluxer.com i podaj ten adres IP.", + "permissions.global_ip_banned": "Twój adres IP {ipAddress} został trwale zablokowany w {product_name} API przez administratorów platformy. {appealEmail, select, null {Jeśli uważasz, że to błąd, skontaktuj się z administratorami tej instancji, aby się odwołać.} other {Jeśli uważasz, że to błąd, skontaktuj się z {appealEmail}, aby się odwołać.}} Podaj ten adres IP w odwołaniu.", + "permissions.global_ip_temporarily_banned": "Twój adres IP {ipAddress} został tymczasowo zablokowany w {product_name} API. Blokada zostanie zdjęta automatycznie po jej wygaśnięciu. {appealEmail, select, null {Jeśli uważasz, że to błąd, skontaktuj się z administratorami tej instancji i podaj ten adres IP.} other {Jeśli uważasz, że to błąd, skontaktuj się z {appealEmail} i podaj ten adres IP.}}", "permissions.missing_access": "Brak dostępu do tego zasobu lub funkcji.", "permissions.missing_permissions": "Brak wymaganych uprawnień do wykonania tej akcji.", "permissions.user_banned_from_guild": "Ten użytkownik ma bana w tej społeczności.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Zakupów testowych nie można zastosować do tego konta.", "store_billing.unavailable": "Zakupy w aplikacji są teraz niedostępne. Spróbuj ponownie później.", "store_billing.unknown_purchase": "Nieznany zakup ze sklepu.", - "stripe.error": "Podczas przetwarzania płatności wystąpił błąd. Spróbuj ponownie lub skontaktuj się z pomocą techniczną.", + "stripe.error": "{supportEmail, select, null {Podczas przetwarzania płatności wystąpił błąd. Spróbuj ponownie lub skontaktuj się z administratorami tej instancji.} other {Podczas przetwarzania płatności wystąpił błąd. Spróbuj ponownie lub skontaktuj się z pomocą techniczną.}}", "stripe.invalid_product_configuration": "Nieprawidłowa konfiguracja produktu.", "stripe.invalid_product_selection": "Nieprawidłowy wybór produktu.", "stripe.no_active_subscription_found": "Nie znaleziono aktywnej subskrypcji.", diff --git a/packages/errors/src/i18n/weblate/locales/pt-BR.json b/packages/errors/src/i18n/weblate/locales/pt-BR.json index f89bbd452..bc4e1ad3c 100644 --- a/packages/errors/src/i18n/weblate/locales/pt-BR.json +++ b/packages/errors/src/i18n/weblate/locales/pt-BR.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Denúncia não encontrada.", "moderation_and_reports.user_is_not_banned": "Este usuário não está banido.", "names_and_normalization.name_empty_after_normalization": "O nome não pode ficar vazio após a normalização.", - "permissions.global_ip_banned": "Seu endereço IP {ipAddress} foi bloqueado permanentemente na Fluxer API pelos administradores da plataforma. Se você acredita que isso é um erro, entre em contato com support@fluxer.app para recorrer. Inclua este endereço IP no recurso.", - "permissions.global_ip_temporarily_banned": "Seu endereço IP {ipAddress} foi bloqueado temporariamente na Fluxer API. O bloqueio será removido automaticamente quando expirar. Se você acredita que isso é um erro, entre em contato com support@fluxer.com e informe este endereço IP.", + "permissions.global_ip_banned": "Seu endereço IP {ipAddress} foi bloqueado permanentemente na {product_name} API pelos administradores da plataforma. {appealEmail, select, null {Se você acredita que isso é um erro, entre em contato com os administradores desta instância para recorrer.} other {Se você acredita que isso é um erro, entre em contato com {appealEmail} para recorrer.}} Inclua este endereço IP no recurso.", + "permissions.global_ip_temporarily_banned": "Seu endereço IP {ipAddress} foi bloqueado temporariamente na {product_name} API. O bloqueio será removido automaticamente quando expirar. {appealEmail, select, null {Se você acredita que isso é um erro, entre em contato com os administradores desta instância e informe este endereço IP.} other {Se você acredita que isso é um erro, entre em contato com {appealEmail} e informe este endereço IP.}}", "permissions.missing_access": "Você não tem acesso a este recurso ou funcionalidade.", "permissions.missing_permissions": "Você não tem as permissões necessárias para executar esta ação.", "permissions.user_banned_from_guild": "Este usuário está banido desta comunidade.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Compras de teste não podem ser aplicadas a esta conta.", "store_billing.unavailable": "As compras no app estão indisponíveis no momento. Tente novamente mais tarde.", "store_billing.unknown_purchase": "Compra da loja desconhecida.", - "stripe.error": "Ocorreu um erro no processamento do pagamento. Tente novamente ou entre em contato com o suporte.", + "stripe.error": "{supportEmail, select, null {Ocorreu um erro no processamento do pagamento. Tente novamente ou entre em contato com os administradores desta instância.} other {Ocorreu um erro no processamento do pagamento. Tente novamente ou entre em contato com o suporte.}}", "stripe.invalid_product_configuration": "Configuração de produto inválida.", "stripe.invalid_product_selection": "Seleção de produto inválida.", "stripe.no_active_subscription_found": "Nenhuma assinatura ativa encontrada.", diff --git a/packages/errors/src/i18n/weblate/locales/ro.json b/packages/errors/src/i18n/weblate/locales/ro.json index 1cf658bc8..418817039 100644 --- a/packages/errors/src/i18n/weblate/locales/ro.json +++ b/packages/errors/src/i18n/weblate/locales/ro.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Raport necunoscut.", "moderation_and_reports.user_is_not_banned": "Acest utilizator nu este banat.", "names_and_normalization.name_empty_after_normalization": "Numele nu poate fi gol după normalizare.", - "permissions.global_ip_banned": "Accesul adresei tale IP {ipAddress} la Fluxer API a fost blocat permanent de administratorii platformei. Dacă crezi că este o greșeală, contactează support@fluxer.app pentru a depune o contestație. Include această adresă IP în contestație.", - "permissions.global_ip_temporarily_banned": "Accesul adresei tale IP {ipAddress} la Fluxer API a fost blocat temporar. Blocarea se ridică automat când expiră. Dacă crezi că este o greșeală, contactează support@fluxer.com și include această adresă IP.", + "permissions.global_ip_banned": "Accesul adresei tale IP {ipAddress} la {product_name} API a fost blocat permanent de administratorii platformei. {appealEmail, select, null {Dacă crezi că este o greșeală, contactează administratorii acestei instanțe pentru a depune o contestație.} other {Dacă crezi că este o greșeală, contactează {appealEmail} pentru a depune o contestație.}} Include această adresă IP în contestație.", + "permissions.global_ip_temporarily_banned": "Accesul adresei tale IP {ipAddress} la {product_name} API a fost blocat temporar. Blocarea se ridică automat când expiră. {appealEmail, select, null {Dacă crezi că este o greșeală, contactează administratorii acestei instanțe și include această adresă IP.} other {Dacă crezi că este o greșeală, contactează {appealEmail} și include această adresă IP.}}", "permissions.missing_access": "Nu ai acces la această resursă sau funcție.", "permissions.missing_permissions": "Nu ai permisiunile necesare pentru a efectua această acțiune.", "permissions.user_banned_from_guild": "Acest utilizator este banat din această comunitate.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Achizițiile de test nu pot fi aplicate acestui cont.", "store_billing.unavailable": "Achizițiile din aplicație nu sunt disponibile acum. Încearcă din nou mai târziu.", "store_billing.unknown_purchase": "Achiziție din magazin necunoscută.", - "stripe.error": "Procesarea plății a întâmpinat o eroare. Încearcă din nou sau contactează echipa de asistență.", + "stripe.error": "{supportEmail, select, null {Procesarea plății a întâmpinat o eroare. Încearcă din nou sau contactează administratorii acestei instanțe.} other {Procesarea plății a întâmpinat o eroare. Încearcă din nou sau contactează echipa de asistență.}}", "stripe.invalid_product_configuration": "Configurație de produs invalidă.", "stripe.invalid_product_selection": "Selecție de produs invalidă.", "stripe.no_active_subscription_found": "Nu s-a găsit niciun abonament activ.", diff --git a/packages/errors/src/i18n/weblate/locales/ru.json b/packages/errors/src/i18n/weblate/locales/ru.json index d2dae9de5..a713273cd 100644 --- a/packages/errors/src/i18n/weblate/locales/ru.json +++ b/packages/errors/src/i18n/weblate/locales/ru.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Жалоба не найдена.", "moderation_and_reports.user_is_not_banned": "Этот пользователь не забанен.", "names_and_normalization.name_empty_after_normalization": "Имя не может быть пустым после нормализации.", - "permissions.global_ip_banned": "Твой IP-адрес {ipAddress} навсегда заблокирован в Fluxer API администраторами платформы. Если считаешь, что это ошибка, напиши на support@fluxer.app, чтобы подать апелляцию. Укажи в ней этот IP-адрес.", - "permissions.global_ip_temporarily_banned": "Твой IP-адрес {ipAddress} временно заблокирован в Fluxer API. Блокировка снимется автоматически, когда истечёт её срок. Если считаешь, что это ошибка, напиши на support@fluxer.com и укажи этот IP-адрес.", + "permissions.global_ip_banned": "Твой IP-адрес {ipAddress} навсегда заблокирован в {product_name} API администраторами платформы. {appealEmail, select, null {Если считаешь, что это ошибка, свяжись с администраторами этого экземпляра, чтобы подать апелляцию.} other {Если считаешь, что это ошибка, напиши на {appealEmail}, чтобы подать апелляцию.}} Укажи в ней этот IP-адрес.", + "permissions.global_ip_temporarily_banned": "Твой IP-адрес {ipAddress} временно заблокирован в {product_name} API. Блокировка снимется автоматически, когда истечёт её срок. {appealEmail, select, null {Если считаешь, что это ошибка, свяжись с администраторами этого экземпляра и укажи этот IP-адрес.} other {Если считаешь, что это ошибка, напиши на {appealEmail} и укажи этот IP-адрес.}}", "permissions.missing_access": "У тебя нет доступа к этому ресурсу или функции.", "permissions.missing_permissions": "У тебя нет необходимых разрешений для выполнения этого действия.", "permissions.user_banned_from_guild": "Этот пользователь забанен в этом сообществе.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Тестовые покупки нельзя применить к этому аккаунту.", "store_billing.unavailable": "Встроенные покупки сейчас недоступны. Повтори попытку позже.", "store_billing.unknown_purchase": "Неизвестная покупка в магазине.", - "stripe.error": "При обработке платежа произошла ошибка. Повтори попытку или обратись в поддержку.", + "stripe.error": "{supportEmail, select, null {При обработке платежа произошла ошибка. Повтори попытку или обратись к администраторам этого экземпляра.} other {При обработке платежа произошла ошибка. Повтори попытку или обратись в поддержку.}}", "stripe.invalid_product_configuration": "Некорректная конфигурация продукта.", "stripe.invalid_product_selection": "Некорректный выбор продукта.", "stripe.no_active_subscription_found": "Активная подписка не найдена.", diff --git a/packages/errors/src/i18n/weblate/locales/sv-SE.json b/packages/errors/src/i18n/weblate/locales/sv-SE.json index 55f4ca3bf..85995a520 100644 --- a/packages/errors/src/i18n/weblate/locales/sv-SE.json +++ b/packages/errors/src/i18n/weblate/locales/sv-SE.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Okänd anmälan.", "moderation_and_reports.user_is_not_banned": "Den här användaren är inte bannlyst.", "names_and_normalization.name_empty_after_normalization": "Namnet kan inte vara tomt efter att ha normaliserats.", - "permissions.global_ip_banned": "Din IP-adress {ipAddress} har blockerats permanent från Fluxers API av plattformsadministratörerna. Om du anser att detta är ett misstag kan du kontakta support@fluxer.app för att överklaga. Ange den här IP-adressen i ditt överklagande.", - "permissions.global_ip_temporarily_banned": "Din IP-adress {ipAddress} har blockerats tillfälligt från Fluxers API. Blockeringen hävs automatiskt när den löper ut. Om du anser att detta är ett misstag kan du kontakta support@fluxer.com och ange den här IP-adressen.", + "permissions.global_ip_banned": "Din IP-adress {ipAddress} har blockerats permanent från {product_name}-API:et av plattformsadministratörerna. {appealEmail, select, null {Om du anser att detta är ett misstag kan du kontakta administratörerna för den här instansen för att överklaga.} other {Om du anser att detta är ett misstag kan du kontakta {appealEmail} för att överklaga.}} Ange den här IP-adressen i ditt överklagande.", + "permissions.global_ip_temporarily_banned": "Din IP-adress {ipAddress} har blockerats tillfälligt från {product_name}-API:et. Blockeringen hävs automatiskt när den löper ut. {appealEmail, select, null {Om du anser att detta är ett misstag kan du kontakta administratörerna för den här instansen och ange den här IP-adressen.} other {Om du anser att detta är ett misstag kan du kontakta {appealEmail} och ange den här IP-adressen.}}", "permissions.missing_access": "Du har inte åtkomst till denna resurs eller funktion.", "permissions.missing_permissions": "Du har inte de behörigheter som krävs för att utföra denna åtgärd.", "permissions.user_banned_from_guild": "Den här användaren är bannlyst från den här communityn.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Testköp kan inte tillämpas på det här kontot.", "store_billing.unavailable": "Köp i appen är inte tillgängliga just nu. Försök igen senare.", "store_billing.unknown_purchase": "Okänt butiksköp.", - "stripe.error": "Ett fel uppstod i betalningshanteringen. Försök igen eller kontakta supporten.", + "stripe.error": "{supportEmail, select, null {Ett fel uppstod i betalningshanteringen. Försök igen eller kontakta administratörerna för den här instansen.} other {Ett fel uppstod i betalningshanteringen. Försök igen eller kontakta supporten.}}", "stripe.invalid_product_configuration": "Felaktig produktkonfiguration.", "stripe.invalid_product_selection": "Felaktigt produktval.", "stripe.no_active_subscription_found": "Inget aktivt abonnemang hittades.", diff --git a/packages/errors/src/i18n/weblate/locales/th.json b/packages/errors/src/i18n/weblate/locales/th.json index b1daf4104..1dacf8dd2 100644 --- a/packages/errors/src/i18n/weblate/locales/th.json +++ b/packages/errors/src/i18n/weblate/locales/th.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "ไม่พบรายงาน", "moderation_and_reports.user_is_not_banned": "ผู้ใช้รายนี้ไม่ได้ถูกแบน", "names_and_normalization.name_empty_after_normalization": "ชื่อต้องไม่ว่างเปล่าหลังจากการปรับให้เป็นมาตรฐาน", - "permissions.global_ip_banned": "ที่อยู่ IP ของคุณ {ipAddress} ถูกบล็อกจาก Fluxer API อย่างถาวรโดยผู้ดูแลแพลตฟอร์ม หากคุณเชื่อว่านี่เป็นข้อผิดพลาด โปรดติดต่อ support@fluxer.app เพื่ออุทธรณ์ โปรดแนบที่อยู่ IP นี้ในการอุทธรณ์", - "permissions.global_ip_temporarily_banned": "ที่อยู่ IP ของคุณ {ipAddress} ถูกบล็อกจาก Fluxer API ชั่วคราว การบล็อกจะถูกยกเลิกโดยอัตโนมัติเมื่อหมดเวลา หากคุณเชื่อว่านี่เป็นข้อผิดพลาด โปรดติดต่อ support@fluxer.com และแนบที่อยู่ IP นี้มาด้วย", + "permissions.global_ip_banned": "ที่อยู่ IP ของคุณ {ipAddress} ถูกบล็อกจาก {product_name} API อย่างถาวรโดยผู้ดูแลแพลตฟอร์ม {appealEmail, select, null {หากคุณเชื่อว่านี่เป็นข้อผิดพลาด โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้เพื่ออุทธรณ์} other {หากคุณเชื่อว่านี่เป็นข้อผิดพลาด โปรดติดต่อ {appealEmail} เพื่ออุทธรณ์}} โปรดแนบที่อยู่ IP นี้ในการอุทธรณ์", + "permissions.global_ip_temporarily_banned": "ที่อยู่ IP ของคุณ {ipAddress} ถูกบล็อกจาก {product_name} API ชั่วคราว การบล็อกจะถูกยกเลิกโดยอัตโนมัติเมื่อหมดเวลา {appealEmail, select, null {หากคุณเชื่อว่านี่เป็นข้อผิดพลาด โปรดติดต่อผู้ดูแลระบบของอินสแตนซ์นี้และแนบที่อยู่ IP นี้มาด้วย} other {หากคุณเชื่อว่านี่เป็นข้อผิดพลาด โปรดติดต่อ {appealEmail} และแนบที่อยู่ IP นี้มาด้วย}}", "permissions.missing_access": "คุณไม่มีสิทธิ์เข้าถึงทรัพยากรหรือฟีเจอร์นี้", "permissions.missing_permissions": "คุณไม่มีสิทธิ์ที่จำเป็นในการดำเนินการนี้", "permissions.user_banned_from_guild": "ผู้ใช้รายนี้ถูกแบนจากคอมมูนิตี้นี้", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "ไม่สามารถใช้การซื้อทดสอบกับบัญชีนี้ได้", "store_billing.unavailable": "การซื้อในแอปไม่พร้อมใช้งานในขณะนี้ โปรดลองอีกครั้งในภายหลัง", "store_billing.unknown_purchase": "ไม่พบการซื้อจากสโตร์", - "stripe.error": "เกิดข้อผิดพลาดในการดำเนินการชำระเงิน โปรดลองอีกครั้งหรือติดต่อฝ่ายสนับสนุน", + "stripe.error": "{supportEmail, select, null {เกิดข้อผิดพลาดในการดำเนินการชำระเงิน โปรดลองอีกครั้งหรือติดต่อผู้ดูแลระบบของอินสแตนซ์นี้} other {เกิดข้อผิดพลาดในการดำเนินการชำระเงิน โปรดลองอีกครั้งหรือติดต่อฝ่ายสนับสนุน}}", "stripe.invalid_product_configuration": "การกำหนดค่าสินค้าไม่ถูกต้อง", "stripe.invalid_product_selection": "การเลือกสินค้าไม่ถูกต้อง", "stripe.no_active_subscription_found": "ไม่พบการสมัครสมาชิกที่ใช้งานอยู่", diff --git a/packages/errors/src/i18n/weblate/locales/tr.json b/packages/errors/src/i18n/weblate/locales/tr.json index 816d04548..a1f3f2093 100644 --- a/packages/errors/src/i18n/weblate/locales/tr.json +++ b/packages/errors/src/i18n/weblate/locales/tr.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Bilinmeyen rapor.", "moderation_and_reports.user_is_not_banned": "Bu kullanıcı yasaklı değil.", "names_and_normalization.name_empty_after_normalization": "Ad, normalleştirildikten sonra boş olamaz.", - "permissions.global_ip_banned": "IP adresin {ipAddress}, platform yöneticileri tarafından Fluxer API'den kalıcı olarak engellendi. Bunun bir hata olduğunu düşünüyorsan itiraz etmek için support@fluxer.app ile iletişime geç. İtirazına bu IP adresini ekle.", - "permissions.global_ip_temporarily_banned": "IP adresin {ipAddress}, Fluxer API'den geçici olarak engellendi. Engelleme süresi dolduğunda kendiliğinden kalkar. Bunun bir hata olduğunu düşünüyorsan support@fluxer.com ile iletişime geç ve bu IP adresini belirt.", + "permissions.global_ip_banned": "IP adresin {ipAddress}, platform yöneticileri tarafından {product_name} API'den kalıcı olarak engellendi. {appealEmail, select, null {Bunun bir hata olduğunu düşünüyorsan itiraz etmek için bu kurulumun yöneticileriyle iletişime geç.} other {Bunun bir hata olduğunu düşünüyorsan itiraz etmek için {appealEmail} ile iletişime geç.}} İtirazına bu IP adresini ekle.", + "permissions.global_ip_temporarily_banned": "IP adresin {ipAddress}, {product_name} API'den geçici olarak engellendi. Engelleme süresi dolduğunda kendiliğinden kalkar. {appealEmail, select, null {Bunun bir hata olduğunu düşünüyorsan bu kurulumun yöneticileriyle iletişime geç ve bu IP adresini belirt.} other {Bunun bir hata olduğunu düşünüyorsan {appealEmail} ile iletişime geç ve bu IP adresini belirt.}}", "permissions.missing_access": "Bu kaynağa veya özelliğe erişimin yok.", "permissions.missing_permissions": "Bu eylemi gerçekleştirmek için gerekli izinlere sahip değilsin.", "permissions.user_banned_from_guild": "Bu kullanıcı bu topluluktan yasaklandı.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Test satın almaları bu hesaba uygulanamaz.", "store_billing.unavailable": "Uygulama içi satın almalar şu anda kullanılamıyor. Lütfen daha sonra tekrar dene.", "store_billing.unknown_purchase": "Bilinmeyen mağaza satın alması.", - "stripe.error": "Ödeme işlemi sırasında bir hata oluştu. Lütfen tekrar dene veya destek ekibine başvur.", + "stripe.error": "{supportEmail, select, null {Ödeme işlemi sırasında bir hata oluştu. Lütfen tekrar dene veya bu kurulumun yöneticilerine başvur.} other {Ödeme işlemi sırasında bir hata oluştu. Lütfen tekrar dene veya destek ekibine başvur.}}", "stripe.invalid_product_configuration": "Geçersiz ürün yapılandırması.", "stripe.invalid_product_selection": "Geçersiz ürün seçimi.", "stripe.no_active_subscription_found": "Aktif abonelik bulunamadı.", diff --git a/packages/errors/src/i18n/weblate/locales/uk.json b/packages/errors/src/i18n/weblate/locales/uk.json index c83e07287..4a8e4c34b 100644 --- a/packages/errors/src/i18n/weblate/locales/uk.json +++ b/packages/errors/src/i18n/weblate/locales/uk.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Невідомий звіт.", "moderation_and_reports.user_is_not_banned": "Цей користувач не забанений.", "names_and_normalization.name_empty_after_normalization": "Ім'я не може бути порожнім після нормалізації.", - "permissions.global_ip_banned": "Адміністратори платформи назавжди заблокували твоїй IP-адресі {ipAddress} доступ до Fluxer API. Якщо ти вважаєш, що це помилка, напиши на support@fluxer.app, щоб подати апеляцію. Вкажи цю IP-адресу в апеляції.", - "permissions.global_ip_temporarily_banned": "Твоїй IP-адресі {ipAddress} тимчасово заблоковано доступ до Fluxer API. Блокування зніметься автоматично, коли завершиться його строк. Якщо ти вважаєш, що це помилка, напиши на support@fluxer.com і вкажи цю IP-адресу.", + "permissions.global_ip_banned": "Адміністратори платформи назавжди заблокували твоїй IP-адресі {ipAddress} доступ до {product_name} API. {appealEmail, select, null {Якщо ти вважаєш, що це помилка, звернися до адміністраторів цього екземпляра, щоб подати апеляцію.} other {Якщо ти вважаєш, що це помилка, напиши на {appealEmail}, щоб подати апеляцію.}} Вкажи цю IP-адресу в апеляції.", + "permissions.global_ip_temporarily_banned": "Твоїй IP-адресі {ipAddress} тимчасово заблоковано доступ до {product_name} API. Блокування зніметься автоматично, коли завершиться його строк. {appealEmail, select, null {Якщо ти вважаєш, що це помилка, звернися до адміністраторів цього екземпляра і вкажи цю IP-адресу.} other {Якщо ти вважаєш, що це помилка, напиши на {appealEmail} і вкажи цю IP-адресу.}}", "permissions.missing_access": "Ти не маєш доступу до цього ресурсу або функції.", "permissions.missing_permissions": "Ти не маєш потрібних дозволів для цієї дії.", "permissions.user_banned_from_guild": "Цей користувач забанений у цій спільноті.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Тестові покупки не можна застосувати до цього облікового запису.", "store_billing.unavailable": "Покупки в застосунку зараз недоступні. Спробуй пізніше.", "store_billing.unknown_purchase": "Невідома покупка в магазині.", - "stripe.error": "Сталася помилка під час обробки платежу. Спробуй ще раз або звернися до підтримки.", + "stripe.error": "{supportEmail, select, null {Сталася помилка під час обробки платежу. Спробуй ще раз або звернися до адміністраторів цього екземпляра.} other {Сталася помилка під час обробки платежу. Спробуй ще раз або звернися до підтримки.}}", "stripe.invalid_product_configuration": "Неправильна конфігурація продукту.", "stripe.invalid_product_selection": "Неправильний вибір продукту.", "stripe.no_active_subscription_found": "Активної підписки не знайдено.", diff --git a/packages/errors/src/i18n/weblate/locales/vi.json b/packages/errors/src/i18n/weblate/locales/vi.json index 7623db095..85ea79f76 100644 --- a/packages/errors/src/i18n/weblate/locales/vi.json +++ b/packages/errors/src/i18n/weblate/locales/vi.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Báo cáo không xác định.", "moderation_and_reports.user_is_not_banned": "Người dùng này không bị cấm.", "names_and_normalization.name_empty_after_normalization": "Tên không được để trống sau khi chuẩn hóa.", - "permissions.global_ip_banned": "Địa chỉ IP của bạn {ipAddress} đã bị quản trị viên nền tảng chặn vĩnh viễn khỏi Fluxer API. Nếu bạn cho rằng đây là nhầm lẫn, hãy liên hệ support@fluxer.app để khiếu nại. Hãy kèm địa chỉ IP này trong khiếu nại.", - "permissions.global_ip_temporarily_banned": "Địa chỉ IP của bạn {ipAddress} đã bị chặn tạm thời khỏi Fluxer API. Lệnh chặn sẽ tự động được gỡ khi hết hạn. Nếu bạn cho rằng đây là nhầm lẫn, hãy liên hệ support@fluxer.com và kèm theo địa chỉ IP này.", + "permissions.global_ip_banned": "Địa chỉ IP của bạn {ipAddress} đã bị quản trị viên nền tảng chặn vĩnh viễn khỏi {product_name} API. {appealEmail, select, null {Nếu bạn cho rằng đây là nhầm lẫn, hãy liên hệ quản trị viên của máy chủ này để khiếu nại.} other {Nếu bạn cho rằng đây là nhầm lẫn, hãy liên hệ {appealEmail} để khiếu nại.}} Hãy kèm địa chỉ IP này trong khiếu nại.", + "permissions.global_ip_temporarily_banned": "Địa chỉ IP của bạn {ipAddress} đã bị chặn tạm thời khỏi {product_name} API. Lệnh chặn sẽ tự động được gỡ khi hết hạn. {appealEmail, select, null {Nếu bạn cho rằng đây là nhầm lẫn, hãy liên hệ quản trị viên của máy chủ này và kèm theo địa chỉ IP này.} other {Nếu bạn cho rằng đây là nhầm lẫn, hãy liên hệ {appealEmail} và kèm theo địa chỉ IP này.}}", "permissions.missing_access": "Bạn không có quyền truy cập vào tài nguyên hoặc tính năng này.", "permissions.missing_permissions": "Bạn không có quyền cần thiết để thực hiện hành động này.", "permissions.user_banned_from_guild": "Người dùng này đã bị cấm khỏi cộng đồng này.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Không thể áp dụng giao dịch mua thử nghiệm cho tài khoản này.", "store_billing.unavailable": "Hiện không thể mua hàng trong ứng dụng. Vui lòng thử lại sau.", "store_billing.unknown_purchase": "Giao dịch mua trên cửa hàng không xác định.", - "stripe.error": "Xử lý thanh toán gặp lỗi. Vui lòng thử lại hoặc liên hệ bộ phận hỗ trợ.", + "stripe.error": "{supportEmail, select, null {Xử lý thanh toán gặp lỗi. Vui lòng thử lại hoặc liên hệ quản trị viên của máy chủ này.} other {Xử lý thanh toán gặp lỗi. Vui lòng thử lại hoặc liên hệ bộ phận hỗ trợ.}}", "stripe.invalid_product_configuration": "Cấu hình sản phẩm không hợp lệ.", "stripe.invalid_product_selection": "Lựa chọn sản phẩm không hợp lệ.", "stripe.no_active_subscription_found": "Không tìm thấy gói đăng ký đang hoạt động.", diff --git a/packages/errors/src/i18n/weblate/locales/zh-CN.json b/packages/errors/src/i18n/weblate/locales/zh-CN.json index 232aab356..2dbad8877 100644 --- a/packages/errors/src/i18n/weblate/locales/zh-CN.json +++ b/packages/errors/src/i18n/weblate/locales/zh-CN.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "未知举报。", "moderation_and_reports.user_is_not_banned": "此用户未被封禁。", "names_and_normalization.name_empty_after_normalization": "规范化后名称不能为空。", - "permissions.global_ip_banned": "你的 IP 地址 {ipAddress} 已被平台管理员永久禁止访问 Fluxer API。如果你认为这是误判,请联系 support@fluxer.app 申诉。请在申诉中附上此 IP 地址。", - "permissions.global_ip_temporarily_banned": "你的 IP 地址 {ipAddress} 已被临时禁止访问 Fluxer API。限制到期后会自动解除。如果你认为这是误判,请联系 support@fluxer.com 并附上此 IP 地址。", + "permissions.global_ip_banned": "你的 IP 地址 {ipAddress} 已被平台管理员永久禁止访问 {product_name} API。{appealEmail, select, null {如果你认为这是误判,请联系此实例的管理员申诉。} other {如果你认为这是误判,请联系 {appealEmail} 申诉。}}请在申诉中附上此 IP 地址。", + "permissions.global_ip_temporarily_banned": "你的 IP 地址 {ipAddress} 已被临时禁止访问 {product_name} API。限制到期后会自动解除。{appealEmail, select, null {如果你认为这是误判,请联系此实例的管理员并附上此 IP 地址。} other {如果你认为这是误判,请联系 {appealEmail} 并附上此 IP 地址。}}", "permissions.missing_access": "你无权访问此资源或功能。", "permissions.missing_permissions": "你没有执行此操作所需的权限。", "permissions.user_banned_from_guild": "此用户已被此社区封禁。", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "测试购买无法应用到此账号。", "store_billing.unavailable": "应用内购买暂时不可用。请稍后重试。", "store_billing.unknown_purchase": "未知的商店购买。", - "stripe.error": "支付处理遇到错误。请重试或联系支持团队。", + "stripe.error": "{supportEmail, select, null {支付处理遇到错误。请重试或联系此实例的管理员。} other {支付处理遇到错误。请重试或联系支持团队。}}", "stripe.invalid_product_configuration": "产品配置无效。", "stripe.invalid_product_selection": "产品选择无效。", "stripe.no_active_subscription_found": "未找到有效的订阅。", diff --git a/packages/errors/src/i18n/weblate/locales/zh-TW.json b/packages/errors/src/i18n/weblate/locales/zh-TW.json index 407710b78..78792bf92 100644 --- a/packages/errors/src/i18n/weblate/locales/zh-TW.json +++ b/packages/errors/src/i18n/weblate/locales/zh-TW.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "未知的檢舉。", "moderation_and_reports.user_is_not_banned": "此使用者未被封鎖。", "names_and_normalization.name_empty_after_normalization": "名稱正規化後不能為空。", - "permissions.global_ip_banned": "你的 IP 位址 {ipAddress} 已被平台管理員永久禁止存取 Fluxer API。如果你認為這是誤判,請聯絡 support@fluxer.app 申訴。請在申訴中附上此 IP 位址。", - "permissions.global_ip_temporarily_banned": "你的 IP 位址 {ipAddress} 已被暫時禁止存取 Fluxer API。限制到期後會自動解除。如果你認為這是誤判,請聯絡 support@fluxer.com 並附上此 IP 位址。", + "permissions.global_ip_banned": "你的 IP 位址 {ipAddress} 已被平台管理員永久禁止存取 {product_name} API。{appealEmail, select, null {如果你認為這是誤判,請聯絡此實例的管理員申訴。} other {如果你認為這是誤判,請聯絡 {appealEmail} 申訴。}}請在申訴中附上此 IP 位址。", + "permissions.global_ip_temporarily_banned": "你的 IP 位址 {ipAddress} 已被暫時禁止存取 {product_name} API。限制到期後會自動解除。{appealEmail, select, null {如果你認為這是誤判,請聯絡此實例的管理員並附上此 IP 位址。} other {如果你認為這是誤判,請聯絡 {appealEmail} 並附上此 IP 位址。}}", "permissions.missing_access": "你沒有權限使用此資源或功能。", "permissions.missing_permissions": "你沒有執行此動作所需的權限。", "permissions.user_banned_from_guild": "此使用者已被此社群封鎖。", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "測試購買無法套用至此帳號。", "store_billing.unavailable": "應用程式內購買目前無法使用。請稍後再試。", "store_billing.unknown_purchase": "未知的商店購買項目。", - "stripe.error": "付款處理時發生錯誤。請重試或聯絡客服。", + "stripe.error": "{supportEmail, select, null {付款處理時發生錯誤。請重試或聯絡此實例的管理員。} other {付款處理時發生錯誤。請重試或聯絡客服。}}", "stripe.invalid_product_configuration": "無效的產品設定。", "stripe.invalid_product_selection": "無效的產品選擇。", "stripe.no_active_subscription_found": "找不到有效的訂閱方案。", diff --git a/packages/errors/src/i18n/weblate/messages.json b/packages/errors/src/i18n/weblate/messages.json index d3bdc5a94..91c6b2af4 100644 --- a/packages/errors/src/i18n/weblate/messages.json +++ b/packages/errors/src/i18n/weblate/messages.json @@ -382,8 +382,8 @@ "moderation_and_reports.unknown_report": "Unknown report.", "moderation_and_reports.user_is_not_banned": "This user isn't banned.", "names_and_normalization.name_empty_after_normalization": "Name can't be empty after normalization.", - "permissions.global_ip_banned": "Your IP address {ipAddress} has been permanently blocked from the Fluxer API by platform administrators. If you believe this is a mistake, contact support@fluxer.app to appeal. Include this IP address in your appeal.", - "permissions.global_ip_temporarily_banned": "Your IP address {ipAddress} has been temporarily blocked from the Fluxer API. The block lifts on its own when it expires. If you think this is a mistake, contact support@fluxer.com and include this IP address.", + "permissions.global_ip_banned": "Your IP address {ipAddress} has been permanently blocked from the {product_name} API by platform administrators. {appealEmail, select, null {If you believe this is a mistake, contact the administrators of this instance to appeal.} other {If you believe this is a mistake, contact {appealEmail} to appeal.}} Include this IP address in your appeal.", + "permissions.global_ip_temporarily_banned": "Your IP address {ipAddress} has been temporarily blocked from the {product_name} API. The block lifts on its own when it expires. {appealEmail, select, null {If you think this is a mistake, contact the administrators of this instance and include this IP address.} other {If you think this is a mistake, contact {appealEmail} and include this IP address.}}", "permissions.missing_access": "You don't have access to this resource or feature.", "permissions.missing_permissions": "You don't have the permissions required to perform this action.", "permissions.user_banned_from_guild": "This user is banned from this community.", @@ -431,7 +431,7 @@ "store_billing.purchase_sandbox_not_entitled": "Test purchases cannot be applied to this account.", "store_billing.unavailable": "In-app purchases are unavailable right now. Try again later.", "store_billing.unknown_purchase": "Unknown store purchase.", - "stripe.error": "Payment processing encountered an error. Please try again or contact support.", + "stripe.error": "{supportEmail, select, null {Payment processing encountered an error. Please try again or contact the administrators of this instance.} other {Payment processing encountered an error. Please try again or contact support.}}", "stripe.invalid_product_configuration": "Invalid product configuration.", "stripe.invalid_product_selection": "Invalid product selection.", "stripe.no_active_subscription_found": "No active subscription found.", diff --git a/packages/instance_bootstrap/src/ClientRuntimeDiscovery.ts b/packages/instance_bootstrap/src/ClientRuntimeDiscovery.ts index 660e7cc46..86b5fefc2 100644 --- a/packages/instance_bootstrap/src/ClientRuntimeDiscovery.ts +++ b/packages/instance_bootstrap/src/ClientRuntimeDiscovery.ts @@ -139,6 +139,7 @@ function projectAppPublic(appPublic: InstanceDiscoveryDocument['appPublic']): In legal: { terms_url: requireDefined(value.legal.terms_url, 'app_public.legal.terms_url'), privacy_url: requireDefined(value.legal.privacy_url, 'app_public.legal.privacy_url'), + guidelines_url: value.legal.guidelines_url ?? null, }, registration: { collect_date_of_birth: requireDefined( diff --git a/packages/openapi/src/OpenAPIGenerator.ts b/packages/openapi/src/OpenAPIGenerator.ts index df96b08ab..9bbc3f968 100644 --- a/packages/openapi/src/OpenAPIGenerator.ts +++ b/packages/openapi/src/OpenAPIGenerator.ts @@ -90,7 +90,7 @@ export class OpenAPIGenerator { description: this.settings.description, contact: { name: 'Fluxer Platform AB', - email: 'support@fluxer.app', + email: 'support@fluxer.com', }, license: { name: 'AGPL-3.0', diff --git a/packages/schema/src/domains/admin/AdminSchemas.ts b/packages/schema/src/domains/admin/AdminSchemas.ts index 82a3a464a..de67b8874 100644 --- a/packages/schema/src/domains/admin/AdminSchemas.ts +++ b/packages/schema/src/domains/admin/AdminSchemas.ts @@ -546,6 +546,7 @@ const AppPublicConfigResponse = z.object({ legal: z.object({ terms_url: z.string().nullable(), privacy_url: z.string().nullable(), + guidelines_url: z.string().nullable(), }), registration: z.object({ collect_date_of_birth: z.boolean(), @@ -587,7 +588,9 @@ const AppPublicConfigUpdateRequest = z.object({ .object({ terms_url: z.string().trim().max(2048).nullish(), privacy_url: z.string().trim().max(2048).nullish(), + guidelines_url: z.string().trim().max(2048).refine(isAbsoluteHttpUrl).nullish(), }) + .register(schemaMetadata, {preserveNullFields: true}) .nullish(), registration: z .object({ diff --git a/packages/schema/src/domains/instance/InstanceSchemas.ts b/packages/schema/src/domains/instance/InstanceSchemas.ts index 0a31c7bfd..ab8f3e26d 100644 --- a/packages/schema/src/domains/instance/InstanceSchemas.ts +++ b/packages/schema/src/domains/instance/InstanceSchemas.ts @@ -64,8 +64,12 @@ const InstanceLegalSchema = z .object({ terms_url: z.string().nullable().describe('Optional public terms of service URL for account registration'), privacy_url: z.string().nullable().describe('Optional public privacy policy URL for account registration'), + guidelines_url: z + .string() + .nullable() + .describe('Optional public community guidelines URL linked from reporting and enforcement notices'), }) - .describe('Optional legal document URLs shown during public registration'); + .describe('Optional legal and policy document URLs shown to users'); const InstanceAppRegistrationSchema = z .object({