diff --git a/fluxer_admin/openapi-admin.json b/fluxer_admin/openapi-admin.json index beabebff7..d52dfda6e 100644 --- a/fluxer_admin/openapi-admin.json +++ b/fluxer_admin/openapi-admin.json @@ -12287,10 +12287,7 @@ "icon": {"nullable": true, "type": "string", "minLength": 1, "maxLength": 256}, "banner": {"nullable": true, "type": "string", "minLength": 1, "maxLength": 256}, "member_count": {"$ref": "#/components/schemas/Int32Type"}, - "nsfw_level": {"allOf": [{"$ref": "#/components/schemas/NSFWLevel"}]}, - "nsfw": {"type": "boolean"}, - "content_warning_level": {"allOf": [{"$ref": "#/components/schemas/ContentWarningLevel"}]}, - "content_warning_text": {"nullable": true, "type": "string", "maxLength": 200} + "nsfw_level": {"allOf": [{"$ref": "#/components/schemas/NSFWLevel"}]} }, "required": ["id", "name", "features", "owner_id", "icon", "banner", "member_count"], "additionalProperties": false @@ -14959,7 +14956,7 @@ "provider": { "description": "The provider of the embed (e.g., YouTube, Twitter)", "nullable": true, - "allOf": [{"$ref": "#/components/schemas/EmbedAuthorResponse"}] + "allOf": [{"$ref": "#/components/schemas/EmbedProviderResponse"}] }, "video": { "description": "The video of the embed", @@ -15192,7 +15189,7 @@ "provider": { "description": "The provider of the embed (e.g., YouTube, Twitter)", "nullable": true, - "allOf": [{"$ref": "#/components/schemas/EmbedAuthorResponse"}] + "allOf": [{"$ref": "#/components/schemas/EmbedProviderResponse"}] }, "video": { "description": "The video of the embed", @@ -15262,23 +15259,11 @@ "required": ["url", "flags"], "additionalProperties": false }, - "EmbedAuthorResponse": { + "EmbedProviderResponse": { "type": "object", "properties": { - "name": {"type": "string", "description": "The name of the author"}, - "url": {"description": "The URL of the author", "nullable": true, "type": "string", "format": "uri"}, - "icon_url": { - "description": "The URL of the author icon", - "nullable": true, - "type": "string", - "format": "uri" - }, - "proxy_icon_url": { - "description": "The proxied URL of the author icon", - "nullable": true, - "type": "string", - "format": "uri" - } + "name": {"type": "string", "description": "The name of the provider"}, + "url": {"description": "The URL of the provider", "nullable": true, "type": "string", "format": "uri"} }, "required": ["name"], "additionalProperties": false @@ -15313,6 +15298,27 @@ "required": ["text"], "additionalProperties": false }, + "EmbedAuthorResponse": { + "type": "object", + "properties": { + "name": {"type": "string", "description": "The name of the author"}, + "url": {"description": "The URL of the author", "nullable": true, "type": "string", "format": "uri"}, + "icon_url": { + "description": "The URL of the author icon", + "nullable": true, + "type": "string", + "format": "uri" + }, + "proxy_icon_url": { + "description": "The proxied URL of the author icon", + "nullable": true, + "type": "string", + "format": "uri" + } + }, + "required": ["name"], + "additionalProperties": false + }, "EmbedMediaFlags": { "type": "integer", "minimum": 0, diff --git a/fluxer_api/pkgs/email/src/EmailService.test.ts b/fluxer_api/pkgs/email/src/EmailService.test.ts index b0f99dec8..9caacb85c 100644 --- a/fluxer_api/pkgs/email/src/EmailService.test.ts +++ b/fluxer_api/pkgs/email/src/EmailService.test.ts @@ -131,11 +131,11 @@ describe('EmailService enforcement notices', () => { return {service: new EmailService(config, new EmailI18nService(), provider), sent}; } - async function sendBoth(config: EmailConfig): Promise> { + async function sendBoth(config: EmailConfig, reason: string | null = 'Spam'): 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'); + await service.sendAccountTempBannedEmail('user@example.com', 'testuser', reason, 24, until, 'en-US'); + await service.sendAccountScheduledForDeletionEmail('user@example.com', 'testuser', reason, until, 'en-US'); expect(sent).toHaveLength(2); return sent.map((message) => message.text); } @@ -167,6 +167,27 @@ describe('EmailService enforcement notices', () => { expect(text).not.toContain('Community Guidelines:'); } }); + + it('states the reason as its own paragraph', async () => { + const [suspended, deletion] = await sendBoth(CONFIG); + expect(suspended).toContain(' UTC\n\nReason: Spam\n\nDuring this time,'); + expect(deletion).toContain(' UTC\n\nReason: Spam\n\nThis is a serious enforcement action.'); + for (const text of [suspended, deletion]) { + expect(text).not.toContain('\n\n\n'); + } + }); + + it.each([null, '', ' '])('leaves no gap when the reason is %j', async (reason) => { + const withReason = await sendBoth(CONFIG); + const [suspended, deletion] = await sendBoth(CONFIG, reason); + expect(suspended).toContain(' UTC\n\nDuring this time,'); + expect(deletion).toContain(' UTC\n\nThis is a serious enforcement action.'); + for (const [index, text] of [suspended, deletion].entries()) { + expect(text).not.toContain('Reason:'); + expect(text).not.toContain('\n\n\n'); + expect(text.split('\n\n')).toHaveLength(withReason[index].split('\n\n').length - 1); + } + }); }); describe('EmailService contact addresses', () => { diff --git a/fluxer_api/pkgs/email/src/email_i18n/EmailI18n.ts b/fluxer_api/pkgs/email/src/email_i18n/EmailI18n.ts index cf98f3617..9946993ef 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/EmailI18n.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/EmailI18n.ts @@ -1,6 +1,7 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import {identityLocale} from '@fluxer/i18n/src/normalization/IdentityLocale'; +import {compileMessage} from '@fluxer/i18n/src/runtime/CompileMessage'; import {createStaticI18n} from '@fluxer/i18n/src/runtime/CreateStaticI18n'; import type {I18nResult} from '@fluxer/i18n/src/runtime/I18nTypes'; import {validateMessageTemplateVariables} from '@fluxer/i18n/src/runtime/MessageCatalogTypes'; @@ -58,8 +59,8 @@ const emailI18n = createStaticI18n { - const compiledSubject = String(mf.compile(template.subject)(variables)); - const compiledBody = String(mf.compile(template.body)(variables)); + const compiledSubject = String(compileMessage(mf, template.subject)(variables)); + const compiledBody = String(compileMessage(mf, template.body)(variables)); return {subject: compiledSubject, body: compiledBody}; }, ); 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 c728ac37a..d042dafca 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/EmailI18nLocaleFiles.test.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/EmailI18nLocaleFiles.test.ts @@ -265,6 +265,22 @@ describe('EmailI18n locale files', () => { expect(none.split('\n\n'), key).toHaveLength(both.split('\n\n').length - 1); } }); + it.each(['en-US', ...LOCALES])('%s leaves no gap in enforcement notices without a reason', (locale) => { + for (const key of ['account_temp_banned', 'account_scheduled_deletion'] as const) { + for (const legalLinks of ['both', 'none'] as const) { + const withReason = renderBody(key, locale, {...FIXTURE[key], legalLinks, reason: 'Repeated spam'}); + const withoutReason = renderBody(key, locale, {...FIXTURE[key], legalLinks, reason: null}); + expect(withReason, key).toContain('Repeated spam\n\n'); + expect(withoutReason, key).not.toContain('Repeated spam'); + for (const body of [withReason, withoutReason]) { + expect(body, key).not.toContain('\n\n\n'); + expect(body, key).not.toContain('{'); + } + expect(withoutReason.split('\n\n'), key).toHaveLength(withReason.split('\n\n').length - 1); + expect(withoutReason.split('\n'), key).toHaveLength(withReason.split('\n').length - 2); + } + } + }); 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); @@ -308,6 +324,19 @@ describe('EmailI18n locale files', () => { } }); + it.each(['en-US', ...LOCALES])('%s leaves no gap in deletion and unban notices without a reason', (locale) => { + for (const key of ['scheduled_deletion_notification', 'unban_notification'] as const) { + const withReason = renderBody(key, locale, {...FIXTURE[key], reason: 'Repeated spam'}); + const withoutReason = renderBody(key, locale, {...FIXTURE[key], reason: null}); + expect(withReason, key).toContain('Repeated spam\n\n'); + expect(withoutReason, key).not.toContain('Repeated spam'); + for (const body of [withReason, withoutReason]) { + expect(body, key).not.toContain('\n\n\n'); + } + expect(withoutReason.split('\n\n'), key).toHaveLength(withReason.split('\n\n').length - 1); + } + }); + 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], 'Fluxer'); diff --git a/fluxer_api/pkgs/email/src/email_i18n/EmailI18nMessages.ts b/fluxer_api/pkgs/email/src/email_i18n/EmailI18nMessages.ts index 696b61300..d9bd330cd 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/EmailI18nMessages.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/EmailI18nMessages.ts @@ -17,11 +17,11 @@ export const EMAIL_I18N_MESSAGES = { }, 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\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', + 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}\n}This 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\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", + 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}\n}During 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', @@ -97,7 +97,7 @@ export const EMAIL_I18N_MESSAGES = { }, 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. {appeals_email, select, null {Contact the administrators of this instance.} other {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}\n}This 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', @@ -105,7 +105,7 @@ export const EMAIL_I18N_MESSAGES = { }, unban_notification: { subject: 'Your {product_name} account suspension has been lifted', - body: 'Hello {username},\n\nGood news: your {product_name} account suspension has been lifted.\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nYou can now log back in and continue using {product_name} as normal.\n\n– {product_name} Safety Team', + body: 'Hello {username},\n\nGood news: your {product_name} account suspension has been lifted.\n\n{reason, select,\n null {}\n other {Reason: {reason}\n\n}\n}You can now log back in and continue using {product_name} as normal.\n\n– {product_name} Safety Team', }, } as const; 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 33a78aa0d..b5f1f0d4a 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/ar.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/ar.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_AR_MESSAGES = defineEmailI18nLocaleMessages({ }, "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{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}" + "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{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}" + "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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_AR_MESSAGES = defineEmailI18nLocaleMessages({ }, "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, select, null {تواصل مع مسؤولي هذا المثيل.} other {أرسل بريدًا إلكترونيًا إلى {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}", @@ -105,7 +105,7 @@ const EMAIL_I18N_AR_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "تم رفع تعليق حسابك في {product_name}", - "body": "مرحبًا {username}،\n\nأخبار سارة: تم رفع تعليق حسابك في {product_name}.\n\n{reason, select,\n null {}\n other {السبب: {reason}}\n}\n\nيمكنك الآن تسجيل الدخول مرة أخرى ومواصلة استخدام {product_name} كالمعتاد.\n\n– فريق أمان {product_name}" + "body": "مرحبًا {username}،\n\nأخبار سارة: تم رفع تعليق حسابك في {product_name}.\n\n{reason, select,\n null {}\n other {السبب: {reason}\n\n}\n}يمكنك الآن تسجيل الدخول مرة أخرى ومواصلة استخدام {product_name} كالمعتاد.\n\n– فريق أمان {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 f1a0ebb5e..8a309da84 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/bg.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/bg.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_BG_MESSAGES = defineEmailI18nLocaleMessages({ }, "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{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}" + "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{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}" + "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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_BG_MESSAGES = defineEmailI18nLocaleMessages({ }, "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, select, null {Свържи се с администраторите на тази инстанция.} other {Изпрати имейл на {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} е насрочено", @@ -105,7 +105,7 @@ const EMAIL_I18N_BG_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Спирането на акаунта ти във {product_name} е отменено", - "body": "Здравей, {username},\n\nДобра новина: спирането на акаунта ти във {product_name} е отменено.\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nВече можеш да влезеш отново и да продължиш да използваш {product_name} както обикновено.\n\n– Екип за безопасност на {product_name}" + "body": "Здравей, {username},\n\nДобра новина: спирането на акаунта ти във {product_name} е отменено.\n\n{reason, select,\n null {}\n other {Причина: {reason}\n\n}\n}Вече можеш да влезеш отново и да продължиш да използваш {product_name} както обикновено.\n\n– Екип за безопасност на {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 3ed4f8263..dde296f37 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/cs.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/cs.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_CS_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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}" + "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}\n}Jedná 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\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}" + "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}\n}Bě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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_CS_MESSAGES = defineEmailI18nLocaleMessages({ }, "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í. {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}" + "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}\n}Jedná 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_CS_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Pozastavení vašeho účtu {product_name} bylo zrušeno", - "body": "Dobrý den, {username},\n\nDobrá zpráva: pozastavení vašeho účtu {product_name} bylo zrušeno.\n\n{reason, select,\n null {}\n other {Důvod: {reason}}\n}\n\nNyní se můžete znovu přihlásit a používat {product_name} jako obvykle.\n\n– Bezpečnostní tým {product_name}" + "body": "Dobrý den, {username},\n\nDobrá zpráva: pozastavení vašeho účtu {product_name} bylo zrušeno.\n\n{reason, select,\n null {}\n other {Důvod: {reason}\n\n}\n}Nyní se můžete znovu přihlásit a používat {product_name} jako obvykle.\n\n– Bezpečnostní tým {product_name}" } }); 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 e228078bf..d7471fea5 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/da.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/da.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_DA_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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}" + "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}\n}Dette 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\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}" + "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}\n}I 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", @@ -97,7 +97,7 @@ const EMAIL_I18N_DA_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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}" + "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}\n}Dette 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_DA_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Suspensionen af din {product_name}-konto er ophævet", - "body": "Hej {username},\n\nGode nyheder: Suspensionen af din {product_name}-konto er ophævet.\n\n{reason, select,\n null {}\n other {Årsag: {reason}}\n}\n\nDu kan nu logge ind igen og fortsætte med at bruge {product_name} som normalt.\n\n– Sikkerhedsteamet hos {product_name}" + "body": "Hej {username},\n\nGode nyheder: Suspensionen af din {product_name}-konto er ophævet.\n\n{reason, select,\n null {}\n other {Årsag: {reason}\n\n}\n}Du kan nu logge ind igen og fortsætte med at bruge {product_name} som normalt.\n\n– Sikkerhedsteamet hos {product_name}" } }); 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 1803fcef2..42798ba0c 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/de.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/de.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_DE_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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" + "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}\n}Dies 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\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" + "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}\n}Wä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", @@ -97,7 +97,7 @@ const EMAIL_I18N_DE_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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" + "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}\n}Dies 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_DE_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Die Sperrung deines {product_name}-Accounts wurde aufgehoben", - "body": "Hallo {username},\n\ngute Nachrichten: Die Sperrung deines {product_name}-Accounts wurde aufgehoben.\n\n{reason, select,\n null {}\n other {Grund: {reason}}\n}\n\nDu kannst dich jetzt wieder anmelden und {product_name} wie gewohnt nutzen.\n\n– {product_name}-Sicherheitsteam" + "body": "Hallo {username},\n\ngute Nachrichten: Die Sperrung deines {product_name}-Accounts wurde aufgehoben.\n\n{reason, select,\n null {}\n other {Grund: {reason}\n\n}\n}Du kannst dich jetzt wieder anmelden und {product_name} wie gewohnt nutzen.\n\n– {product_name}-Sicherheitsteam" } }); 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 4e0e47304..b62d1a002 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/el.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/el.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_EL_MESSAGES = defineEmailI18nLocaleMessages({ }, "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{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}" + "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{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}" + "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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_EL_MESSAGES = defineEmailI18nLocaleMessages({ }, "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, select, null {Επικοινώνησε με τους διαχειριστές αυτής της παρουσίας.} other {Στείλε 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} είναι προγραμματισμένη", @@ -105,7 +105,7 @@ const EMAIL_I18N_EL_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Η αναστολή του λογαριασμού σου στο {product_name} έχει αρθεί", - "body": "Γεια σου {username},\n\nΚαλά νέα: η αναστολή του λογαριασμού σου στο {product_name} έχει αρθεί.\n\n{reason, select,\n null {}\n other {Λόγος: {reason}}\n}\n\nΜπορείς τώρα να συνδεθείς ξανά και να συνεχίσεις να χρησιμοποιείς το {product_name} κανονικά.\n\n– Η ομάδα ασφαλείας του {product_name}" + "body": "Γεια σου {username},\n\nΚαλά νέα: η αναστολή του λογαριασμού σου στο {product_name} έχει αρθεί.\n\n{reason, select,\n null {}\n other {Λόγος: {reason}\n\n}\n}Μπορείς τώρα να συνδεθείς ξανά και να συνεχίσεις να χρησιμοποιείς το {product_name} κανονικά.\n\n– Η ομάδα ασφαλείας του {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 12aa94cd8..c1a6babc3 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 @@ -17,11 +17,11 @@ const EMAIL_I18N_EN_GB_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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" + "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}\n}This 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\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" + "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}\n}During 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", @@ -97,7 +97,7 @@ const EMAIL_I18N_EN_GB_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {appeals_email, select, null {Contact the administrators of this instance.} other {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}\n}This 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_EN_GB_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Your {product_name} account suspension has been lifted", - "body": "Hello {username},\n\nGood news: your {product_name} account suspension has been lifted.\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nYou can now log back in and continue using {product_name} as normal.\n\n– {product_name} Safety Team" + "body": "Hello {username},\n\nGood news: your {product_name} account suspension has been lifted.\n\n{reason, select,\n null {}\n other {Reason: {reason}\n\n}\n}You can now log back in and continue using {product_name} as normal.\n\n– {product_name} Safety Team" } }); 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 8e3f7f01c..5a56e2f49 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 @@ -17,11 +17,11 @@ const EMAIL_I18N_ES_419_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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}" + "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}\n}Esta 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\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}" + "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}\n}Durante 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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_ES_419_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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}" + "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}\n}Esta 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_ES_419_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Se levantó la suspensión de tu cuenta de {product_name}", - "body": "Hola {username}:\n\nBuenas noticias: se levantó la suspensión de tu cuenta de {product_name}.\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nAhora puedes iniciar sesión de nuevo y seguir usando {product_name} con normalidad.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nBuenas noticias: se levantó la suspensión de tu cuenta de {product_name}.\n\n{reason, select,\n null {}\n other {Motivo: {reason}\n\n}\n}Ahora puedes iniciar sesión de nuevo y seguir usando {product_name} con normalidad.\n\n– Equipo de seguridad de {product_name}" } }); 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 dcbbc641d..aa93c5d6f 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 @@ -17,11 +17,11 @@ const EMAIL_I18N_ES_ES_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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}" + "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}\n}Esta 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\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}" + "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}\n}Durante 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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_ES_ES_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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}" + "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}\n}Esta 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_ES_ES_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Se ha levantado la suspensión de tu cuenta de {product_name}", - "body": "Hola {username}:\n\nBuenas noticias: se ha levantado la suspensión de tu cuenta de {product_name}.\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nAhora puedes volver a iniciar sesión y seguir usando {product_name} con normalidad.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nBuenas noticias: se ha levantado la suspensión de tu cuenta de {product_name}.\n\n{reason, select,\n null {}\n other {Motivo: {reason}\n\n}\n}Ahora puedes volver a iniciar sesión y seguir usando {product_name} con normalidad.\n\n– Equipo de seguridad de {product_name}" } }); 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 d5c0e61ce..0243bbf45 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/fi.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/fi.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_FI_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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" + "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}\n}Tä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\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" + "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}\n}Tä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", @@ -97,7 +97,7 @@ const EMAIL_I18N_FI_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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" + "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}\n}Tä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", @@ -105,7 +105,7 @@ const EMAIL_I18N_FI_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "{product_name}-tilisi jäädytys on poistettu", - "body": "Hei {username},\n\nHyviä uutisia: {product_name}-tilisi jäädytys on poistettu.\n\n{reason, select,\n null {}\n other {Syy: {reason}}\n}\n\nVoit nyt kirjautua takaisin sisään ja jatkaa {product_name}-palvelun käyttöä normaalisti.\n\n– {product_name}-turvallisuustiimi" + "body": "Hei {username},\n\nHyviä uutisia: {product_name}-tilisi jäädytys on poistettu.\n\n{reason, select,\n null {}\n other {Syy: {reason}\n\n}\n}Voit nyt kirjautua takaisin sisään ja jatkaa {product_name}-palvelun käyttöä normaalisti.\n\n– {product_name}-turvallisuustiimi" } }); 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 761001488..971debd11 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/fr.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/fr.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_FR_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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}" + "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\n}}Il 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\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}" + "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\n}}Vous 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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_FR_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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}" + "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\n}}Il 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_FR_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "La suspension de votre compte {product_name} a été levée", - "body": "Bonjour {username},\n\nBonne nouvelle : la suspension de votre compte {product_name} a été levée.\n\n{reason, select, null {} other {Motif : {reason}}}\n\nVous pouvez maintenant vous reconnecter et utiliser {product_name} normalement.\n\n– L’équipe de sécurité de {product_name}" + "body": "Bonjour {username},\n\nBonne nouvelle : la suspension de votre compte {product_name} a été levée.\n\n{reason, select, null {} other {Motif : {reason}\n\n}}Vous pouvez maintenant vous reconnecter et utiliser {product_name} normalement.\n\n– L’équipe de sécurité de {product_name}" } }); 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 1a1025af9..73418213f 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/he.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/he.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_HE_MESSAGES = defineEmailI18nLocaleMessages({ }, "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{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}" + "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{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}" + "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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_HE_MESSAGES = defineEmailI18nLocaleMessages({ }, "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, select, null {צרו קשר עם מנהלי המערכת של המופע הזה.} other {שלחו אימייל לכתובת {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} שלכם מתוזמנת", @@ -105,7 +105,7 @@ const EMAIL_I18N_HE_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "השעיית חשבון ה-{product_name} שלכם בוטלה", - "body": "שלום {username},\n\nחדשות טובות: השעיית חשבון ה-{product_name} שלכם בוטלה.\n\n{reason, select,\n null {}\n other {סיבה: {reason}}\n}\n\nכעת אתם יכולים להתחבר שוב ולהמשיך להשתמש ב-{product_name} כרגיל.\n\nצוות הבטיחות של {product_name}" + "body": "שלום {username},\n\nחדשות טובות: השעיית חשבון ה-{product_name} שלכם בוטלה.\n\n{reason, select,\n null {}\n other {סיבה: {reason}\n\n}\n}כעת אתם יכולים להתחבר שוב ולהמשיך להשתמש ב-{product_name} כרגיל.\n\nצוות הבטיחות של {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 664df18e2..d7c18f4ea 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/hi.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/hi.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_HI_MESSAGES = defineEmailI18nLocaleMessages({ }, "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{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} सेफ्टी टीम" + "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{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} सेफ्टी टीम" + "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} डोनेशन के लिए धन्यवाद", @@ -97,7 +97,7 @@ const EMAIL_I18N_HI_MESSAGES = defineEmailI18nLocaleMessages({ }, "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, select, null {इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {इस ईमेल पते से {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} अकाउंट का डिलीशन शेड्यूल कर दिया गया है", @@ -105,7 +105,7 @@ const EMAIL_I18N_HI_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "आपके {product_name} अकाउंट का सस्पेंशन हटा दिया गया है", - "body": "नमस्ते {username},\n\nअच्छी खबर: आपके {product_name} अकाउंट का सस्पेंशन हटा दिया गया है।\n\n{reason, select,\n null {}\n other {वजह: {reason}}\n}\n\nअब आप फिर से लॉगिन कर सकते हैं और सामान्य रूप से {product_name} का उपयोग जारी रख सकते हैं।\n\n– {product_name} सेफ्टी टीम" + "body": "नमस्ते {username},\n\nअच्छी खबर: आपके {product_name} अकाउंट का सस्पेंशन हटा दिया गया है।\n\n{reason, select,\n null {}\n other {वजह: {reason}\n\n}\n}अब आप फिर से लॉगिन कर सकते हैं और सामान्य रूप से {product_name} का उपयोग जारी रख सकते हैं।\n\n– {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 d274d968a..dc7c1cf76 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/hr.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/hr.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_HR_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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" + "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}\n}Ovo 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\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" + "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}\n}Tijekom 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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_HR_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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" + "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}\n}Ovo 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_HR_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Suspenzija tvog računa na {product_name}u je ukinuta", - "body": "Pozdrav {username},\n\nDobre vijesti: suspenzija tvog računa na {product_name}u je ukinuta.\n\n{reason, select,\n null {}\n other {Razlog: {reason}}\n}\n\nSada se možeš ponovno prijaviti i nastaviti koristiti {product_name} kao i obično.\n\n– Sigurnosni tim {product_name}a" + "body": "Pozdrav {username},\n\nDobre vijesti: suspenzija tvog računa na {product_name}u je ukinuta.\n\n{reason, select,\n null {}\n other {Razlog: {reason}\n\n}\n}Sada se možeš ponovno prijaviti i nastaviti koristiti {product_name} kao i obično.\n\n– Sigurnosni tim {product_name}a" } }); 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 1905a77e9..7ed0ca01e 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/hu.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/hu.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_HU_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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" + "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}\n}Ez 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\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" + "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}\n}Ez 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", @@ -97,7 +97,7 @@ const EMAIL_I18N_HU_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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" + "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}\n}Ez 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_HU_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Feloldottuk {product_name}-fiókod felfüggesztését", - "body": "Szia, {username}!\n\nJó hír: feloldottuk {product_name}-fiókod felfüggesztését.\n\n{reason, select,\n null {}\n other {Indok: {reason}}\n}\n\nMost már újra bejelentkezhetsz, és a megszokott módon használhatod a {product_name} alkalmazást.\n\n– {product_name} biztonsági csapata" + "body": "Szia, {username}!\n\nJó hír: feloldottuk {product_name}-fiókod felfüggesztését.\n\n{reason, select,\n null {}\n other {Indok: {reason}\n\n}\n}Most már újra bejelentkezhetsz, és a megszokott módon használhatod a {product_name} alkalmazást.\n\n– {product_name} biztonsági csapata" } }); 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 9bee91cd5..406f50126 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/id.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/id.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_ID_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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}" + "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}\n}Ini 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\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}" + "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}\n}Selama 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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_ID_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {appeals_email, select, null {Hubungi administrator instance ini.} other {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}\n}Ini 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_ID_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Penangguhan akun {product_name} kamu telah dicabut", - "body": "Halo {username},\n\nKabar baik: penangguhan akun {product_name} kamu telah dicabut.\n\n{reason, select,\n null {}\n other {Alasan: {reason}}\n}\n\nKamu sekarang bisa masuk lagi dan terus menggunakan {product_name} seperti biasa.\n\n– Tim Keamanan {product_name}" + "body": "Halo {username},\n\nKabar baik: penangguhan akun {product_name} kamu telah dicabut.\n\n{reason, select,\n null {}\n other {Alasan: {reason}\n\n}\n}Kamu sekarang bisa masuk lagi dan terus menggunakan {product_name} seperti biasa.\n\n– Tim Keamanan {product_name}" } }); 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 9f043905b..ab096d98d 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/it.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/it.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_IT_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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}" + "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}\n}Si 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\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}" + "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}\n}Durante 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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_IT_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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}" + "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}\n}Si 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_IT_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "La sospensione del tuo account {product_name} è stata revocata", - "body": "Ciao {username},\n\nBuone notizie: la sospensione del tuo account {product_name} è stata revocata.\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nOra puoi accedere di nuovo e continuare a usare {product_name} normalmente.\n\n– Il team per la sicurezza di {product_name}" + "body": "Ciao {username},\n\nBuone notizie: la sospensione del tuo account {product_name} è stata revocata.\n\n{reason, select,\n null {}\n other {Motivo: {reason}\n\n}\n}Ora puoi accedere di nuovo e continuare a usare {product_name} normalmente.\n\n– Il team per la sicurezza di {product_name}" } }); 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 0090fd95f..375566333 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/ja.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/ja.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_JA_MESSAGES = defineEmailI18nLocaleMessages({ }, "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{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}安全チーム" + "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{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}安全チーム" + "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}へのご寄付ありがとうございます", @@ -97,7 +97,7 @@ const EMAIL_I18N_JA_MESSAGES = defineEmailI18nLocaleMessages({ }, "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, select, null {このインスタンスの管理者に連絡してください。} other {このメールアドレスから{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}アカウントの削除が予定されています", @@ -105,7 +105,7 @@ const EMAIL_I18N_JA_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "{product_name}アカウントの停止が解除されました", - "body": "こんにちは、{username}さん\n\n良いお知らせです。{product_name}アカウントの停止が解除されました。\n\n{reason, select,\n null {}\n other {理由: {reason}}\n}\n\nこれで再度ログインして、通常通り{product_name}を利用できます。\n\n– {product_name}安全チーム" + "body": "こんにちは、{username}さん\n\n良いお知らせです。{product_name}アカウントの停止が解除されました。\n\n{reason, select,\n null {}\n other {理由: {reason}\n\n}\n}これで再度ログインして、通常通り{product_name}を利用できます。\n\n– {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 f639c7a3f..3ecbd28c2 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/ko.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/ko.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_KO_MESSAGES = defineEmailI18nLocaleMessages({ }, "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{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} 안전팀" + "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{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} 안전팀" + "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} 후원에 감사드려요", @@ -97,7 +97,7 @@ const EMAIL_I18N_KO_MESSAGES = defineEmailI18nLocaleMessages({ }, "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, select, null {이 인스턴스의 관리자에게 연락해 이의를 제기해 주세요.} other {이 이메일 주소에서 {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} 계정 삭제가 예정되었어요", @@ -105,7 +105,7 @@ const EMAIL_I18N_KO_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "{product_name} 계정 정지가 해제되었어요", - "body": "안녕하세요, {username}님.\n\n좋은 소식이에요: {product_name} 계정 정지가 해제되었어요.\n\n{reason, select,\n null {}\n other {사유: {reason}}\n}\n\n이제 다시 로그인하여 평소처럼 {product_name}를 계속 사용할 수 있어요.\n\n– {product_name} 안전팀" + "body": "안녕하세요, {username}님.\n\n좋은 소식이에요: {product_name} 계정 정지가 해제되었어요.\n\n{reason, select,\n null {}\n other {사유: {reason}\n\n}\n}이제 다시 로그인하여 평소처럼 {product_name}를 계속 사용할 수 있어요.\n\n– {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 3a7aeb452..aad4385e2 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/lt.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/lt.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_LT_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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" + "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}\n}Tai 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\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" + "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ą", @@ -97,7 +97,7 @@ const EMAIL_I18N_LT_MESSAGES = defineEmailI18nLocaleMessages({ }, "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ą. {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" + "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}\n}Tai 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_LT_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Tavo {product_name} paskyros sustabdymas panaikintas", - "body": "Sveiki, {username},\n\nGeros naujienos: tavo {product_name} paskyros sustabdymas panaikintas.\n\n{reason, select,\n null {}\n other {Priežastis: {reason}}\n}\n\nDabar gali vėl prisijungti ir toliau naudotis {product_name} kaip įprasta.\n\n– {product_name} saugos komanda" + "body": "Sveiki, {username},\n\nGeros naujienos: tavo {product_name} paskyros sustabdymas panaikintas.\n\n{reason, select,\n null {}\n other {Priežastis: {reason}\n\n}\n}Dabar gali vėl prisijungti ir toliau naudotis {product_name} kaip įprasta.\n\n– {product_name} saugos komanda" } }); 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 c1c25f365..9b90f1609 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/nl.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/nl.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_NL_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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}" + "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}\n}Dit 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\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}" + "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}\n}Gedurende 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", @@ -97,7 +97,7 @@ const EMAIL_I18N_NL_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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}" + "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}\n}Dit 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_NL_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "De schorsing van je {product_name}-account is opgeheven", - "body": "Hallo {username},\n\nGoed nieuws: de schorsing van je {product_name}-account is opgeheven.\n\n{reason, select,\n null {}\n other {Reden: {reason}}\n}\n\nJe kunt nu weer inloggen en {product_name} normaal blijven gebruiken.\n\n– Het veiligheidsteam van {product_name}" + "body": "Hallo {username},\n\nGoed nieuws: de schorsing van je {product_name}-account is opgeheven.\n\n{reason, select,\n null {}\n other {Reden: {reason}\n\n}\n}Je kunt nu weer inloggen en {product_name} normaal blijven gebruiken.\n\n– Het veiligheidsteam van {product_name}" } }); 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 e48ce0306..cecb101a9 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/no.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/no.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_NO_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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}" + "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}\n}Dette 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\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}" + "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}\n}Du 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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_NO_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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}" + "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}\n}Dette 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_NO_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Suspensjonen av {product_name}-kontoen din er opphevet", - "body": "Hei {username},\n\nGode nyheter! Suspensjonen av {product_name}-kontoen din er opphevet.\n\n{reason, select,\n null {}\n other {Årsak: {reason}}\n}\n\nDu kan nå logge inn igjen og fortsette å bruke {product_name} som normalt.\n\n– Sikkerhetsteamet hos {product_name}" + "body": "Hei {username},\n\nGode nyheter! Suspensjonen av {product_name}-kontoen din er opphevet.\n\n{reason, select,\n null {}\n other {Årsak: {reason}\n\n}\n}Du kan nå logge inn igjen og fortsette å bruke {product_name} som normalt.\n\n– Sikkerhetsteamet hos {product_name}" } }); 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 0f79b1bab..55838e7ad 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/pl.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/pl.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_PL_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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}" + "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}\n}Jest 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\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}" + "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}\n}W 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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_PL_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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}" + "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}\n}Jest 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_PL_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Zawieszenie Twojego konta {product_name} zostało zniesione", - "body": "Witaj {username},\n\nDobre wieści: zawieszenie Twojego konta {product_name} zostało zniesione.\n\n{reason, select,\n null {}\n other {Powód: {reason}}\n}\n\nMożesz teraz ponownie się zalogować i kontynuować korzystanie z {product_name} jak zwykle.\n\n– Zespół ds. bezpieczeństwa {product_name}" + "body": "Witaj {username},\n\nDobre wieści: zawieszenie Twojego konta {product_name} zostało zniesione.\n\n{reason, select,\n null {}\n other {Powód: {reason}\n\n}\n}Możesz teraz ponownie się zalogować i kontynuować korzystanie z {product_name} jak zwykle.\n\n– Zespół ds. bezpieczeństwa {product_name}" } }); 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 9827533e8..74878878d 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 @@ -17,11 +17,11 @@ const EMAIL_I18N_PT_BR_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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}" + "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}\n}Esta é 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\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}" + "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\n}}Durante 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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_PT_BR_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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}" + "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}\n}Esta é 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", @@ -105,7 +105,7 @@ const EMAIL_I18N_PT_BR_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "A suspensão da sua conta do {product_name} foi encerrada", - "body": "Olá, {username},\n\nBoas notícias: a suspensão da sua conta do {product_name} foi encerrada.\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nAgora você pode entrar novamente e continuar usando o {product_name} normalmente.\n\n– equipe de segurança do {product_name}" + "body": "Olá, {username},\n\nBoas notícias: a suspensão da sua conta do {product_name} foi encerrada.\n\n{reason, select,\n null {}\n other {Motivo: {reason}\n\n}\n}Agora você pode entrar novamente e continuar usando o {product_name} normalmente.\n\n– equipe de segurança do {product_name}" } }); 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 89f32dc36..26106bb89 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/ro.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/ro.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_RO_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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}" + "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}\n}Aceasta 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\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}" + "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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_RO_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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}" + "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}\n}Aceasta 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ă", @@ -105,7 +105,7 @@ const EMAIL_I18N_RO_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Suspendarea contului {product_name} a fost ridicată", - "body": "Salut {username},\n\nVești bune: suspendarea contului tău {product_name} a fost ridicată.\n\n{reason, select,\n null {}\n other {Motiv: {reason}}\n}\n\nAcum te poți conecta din nou și poți continua să folosești {product_name} în mod normal.\n\n– Echipa de siguranță {product_name}" + "body": "Salut {username},\n\nVești bune: suspendarea contului tău {product_name} a fost ridicată.\n\n{reason, select,\n null {}\n other {Motiv: {reason}\n\n}\n}Acum te poți conecta din nou și poți continua să folosești {product_name} în mod normal.\n\n– Echipa de siguranță {product_name}" } }); 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 b7c82ad4d..3d72eab68 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/ru.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/ru.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_RU_MESSAGES = defineEmailI18nLocaleMessages({ }, "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{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}" + "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{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}" + "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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_RU_MESSAGES = defineEmailI18nLocaleMessages({ }, "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, select, null {Свяжись с администраторами этого экземпляра.} other {Отправь письмо на {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}", @@ -105,7 +105,7 @@ const EMAIL_I18N_RU_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Блокировка твоего аккаунта {product_name} снята", - "body": "Привет, {username},\n\nХорошие новости: блокировка твоего аккаунта {product_name} снята.\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nТеперь ты можешь снова войти в аккаунт и продолжить пользоваться {product_name} как обычно.\n\n– Команда безопасности {product_name}" + "body": "Привет, {username},\n\nХорошие новости: блокировка твоего аккаунта {product_name} снята.\n\n{reason, select,\n null {}\n other {Причина: {reason}\n\n}\n}Теперь ты можешь снова войти в аккаунт и продолжить пользоваться {product_name} как обычно.\n\n– Команда безопасности {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 aff04dd32..221d4f222 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 @@ -17,11 +17,11 @@ const EMAIL_I18N_SV_SE_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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}" + "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}\n}Detta ä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\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}" + "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}\n}Under 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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_SV_SE_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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}" + "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}\n}Detta ä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", @@ -105,7 +105,7 @@ const EMAIL_I18N_SV_SE_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Avstängningen av ditt {product_name}-konto har hävts", - "body": "Hej {username},\n\nGoda nyheter: avstängningen av ditt {product_name}-konto har hävts.\n\n{reason, select,\n null {}\n other {Anledning: {reason}}\n}\n\nDu kan nu logga in igen och fortsätta använda {product_name} som vanligt.\n\n– Säkerhetsteamet på {product_name}" + "body": "Hej {username},\n\nGoda nyheter: avstängningen av ditt {product_name}-konto har hävts.\n\n{reason, select,\n null {}\n other {Anledning: {reason}\n\n}\n}Du kan nu logga in igen och fortsätta använda {product_name} som vanligt.\n\n– Säkerhetsteamet på {product_name}" } }); 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 5d2555373..1157d2770 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/th.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/th.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_TH_MESSAGES = defineEmailI18nLocaleMessages({ }, "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{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}" + "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{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}" + "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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_TH_MESSAGES = defineEmailI18nLocaleMessages({ }, "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, select, null {ติดต่อผู้ดูแลระบบของอินสแตนซ์นี้} other {ส่งอีเมลไปที่ {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} ของคุณถูกกำหนดให้ลบแล้ว", @@ -105,7 +105,7 @@ const EMAIL_I18N_TH_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "การระงับบัญชี {product_name} ของคุณถูกยกเลิกแล้ว", - "body": "สวัสดี {username},\n\nข่าวดี: การระงับบัญชี {product_name} ของคุณถูกยกเลิกแล้ว\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}}\n}\n\nตอนนี้คุณสามารถเข้าสู่ระบบอีกครั้งและใช้งาน {product_name} ได้ตามปกติ\n\n– ทีมความปลอดภัย {product_name}" + "body": "สวัสดี {username},\n\nข่าวดี: การระงับบัญชี {product_name} ของคุณถูกยกเลิกแล้ว\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}\n\n}\n}ตอนนี้คุณสามารถเข้าสู่ระบบอีกครั้งและใช้งาน {product_name} ได้ตามปกติ\n\n– ทีมความปลอดภัย {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 953140152..088b24be9 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/tr.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/tr.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_TR_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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" + "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}\n}Bu, 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\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" + "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}\n}Bu 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", @@ -97,7 +97,7 @@ const EMAIL_I18N_TR_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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" + "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}\n}Bu, 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ı", @@ -105,7 +105,7 @@ const EMAIL_I18N_TR_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "{product_name} hesabının askıya alınması kaldırıldı", - "body": "Merhaba {username},\n\nİyi haber: {product_name} hesabının askıya alınması kaldırıldı.\n\n{reason, select,\n null {}\n other {Sebep: {reason}}\n}\n\nArtık tekrar giriş yapabilir ve {product_name}'ı normal şekilde kullanmaya devam edebilirsin.\n\n– {product_name} Güvenlik Ekibi" + "body": "Merhaba {username},\n\nİyi haber: {product_name} hesabının askıya alınması kaldırıldı.\n\n{reason, select,\n null {}\n other {Sebep: {reason}\n\n}\n}Artık tekrar giriş yapabilir ve {product_name}'ı normal şekilde kullanmaya devam edebilirsin.\n\n– {product_name} Güvenlik Ekibi" } }); 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 eaf8d5c43..bdf174312 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/uk.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/uk.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_UK_MESSAGES = defineEmailI18nLocaleMessages({ }, "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{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}" + "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{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}" + "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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_UK_MESSAGES = defineEmailI18nLocaleMessages({ }, "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, select, null {Звернися до адміністраторів цього екземпляра.} other {Надішли електронний лист на {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} заплановано", @@ -105,7 +105,7 @@ const EMAIL_I18N_UK_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Призупинення твого акаунта {product_name} скасовано", - "body": "Привіт, {username},\n\nГарні новини: призупинення твого акаунта {product_name} скасовано.\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nТепер ти можеш знову увійти та продовжувати користуватися {product_name} як зазвичай.\n\n– Команда безпеки {product_name}" + "body": "Привіт, {username},\n\nГарні новини: призупинення твого акаунта {product_name} скасовано.\n\n{reason, select,\n null {}\n other {Причина: {reason}\n\n}\n}Тепер ти можеш знову увійти та продовжувати користуватися {product_name} як зазвичай.\n\n– Команда безпеки {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 64db32034..288d45456 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/locales/vi.ts +++ b/fluxer_api/pkgs/email/src/email_i18n/locales/vi.ts @@ -17,11 +17,11 @@ const EMAIL_I18N_VI_MESSAGES = defineEmailI18nLocaleMessages({ }, "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\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}" + "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\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}" + "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}\n}Trong 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}", @@ -97,7 +97,7 @@ const EMAIL_I18N_VI_MESSAGES = defineEmailI18nLocaleMessages({ }, "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. {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}" + "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", @@ -105,7 +105,7 @@ const EMAIL_I18N_VI_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "Lệnh đình chỉ tài khoản {product_name} của bạn đã được gỡ bỏ", - "body": "Xin chào {username},\n\nTin tốt: lệnh đình chỉ tài khoản {product_name} của bạn đã được gỡ bỏ.\n\n{reason, select,\n null {}\n other {Lý do: {reason}}\n}\n\nBây giờ bạn có thể đăng nhập lại và tiếp tục sử dụng {product_name} như bình thường.\n\n– Đội ngũ An toàn {product_name}" + "body": "Xin chào {username},\n\nTin tốt: lệnh đình chỉ tài khoản {product_name} của bạn đã được gỡ bỏ.\n\n{reason, select,\n null {}\n other {Lý do: {reason}\n\n}\n}Bây giờ bạn có thể đăng nhập lại và tiếp tục sử dụng {product_name} như bình thường.\n\n– Đội ngũ An toàn {product_name}" } }); 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 91d254156..316811f5c 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 @@ -17,11 +17,11 @@ const EMAIL_I18N_ZH_CN_MESSAGES = defineEmailI18nLocaleMessages({ }, "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{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} 安全团队" + "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{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} 安全团队" + "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} 捐赠", @@ -97,7 +97,7 @@ const EMAIL_I18N_ZH_CN_MESSAGES = defineEmailI18nLocaleMessages({ }, "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, select, null {请联系此实例的管理员。} other {请使用此邮箱地址发送邮件至 {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} 账号已安排删除", @@ -105,7 +105,7 @@ const EMAIL_I18N_ZH_CN_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "你的 {product_name} 账号已解除封禁", - "body": "你好 {username},\n\n好消息:你的 {product_name} 账号已解除封禁。\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n你现在可以重新登录,继续正常使用 {product_name}。\n\n– {product_name} 安全团队" + "body": "你好 {username},\n\n好消息:你的 {product_name} 账号已解除封禁。\n\n{reason, select,\n null {}\n other {原因:{reason}\n\n}\n}你现在可以重新登录,继续正常使用 {product_name}。\n\n– {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 576a293a6..b4b50782e 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 @@ -17,11 +17,11 @@ const EMAIL_I18N_ZH_TW_MESSAGES = defineEmailI18nLocaleMessages({ }, "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{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} 安全團隊" + "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{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} 安全團隊" + "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} 的捐款", @@ -97,7 +97,7 @@ const EMAIL_I18N_ZH_TW_MESSAGES = defineEmailI18nLocaleMessages({ }, "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, select, null {請聯絡此實例的管理員。} other {請使用此電子郵件地址寄信至 {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} 帳號已排定刪除", @@ -105,7 +105,7 @@ const EMAIL_I18N_ZH_TW_MESSAGES = defineEmailI18nLocaleMessages({ }, "unban_notification": { "subject": "您的 {product_name} 帳號停權已解除", - "body": "哈囉 {username},\n\n好消息:您的 {product_name} 帳號停權已解除。\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n您現在可以重新登入並繼續正常使用 {product_name}。\n\n– {product_name} 安全團隊" + "body": "哈囉 {username},\n\n好消息:您的 {product_name} 帳號停權已解除。\n\n{reason, select,\n null {}\n other {原因:{reason}\n\n}\n}您現在可以重新登入並繼續正常使用 {product_name}。\n\n– {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 8c2cc811c..09e2ad8c6 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 @@ -13,11 +13,11 @@ }, "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{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}" + "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{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}" + "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}", @@ -93,7 +93,7 @@ }, "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, select, null {تواصل مع مسؤولي هذا المثيل.} other {أرسل بريدًا إلكترونيًا إلى {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}", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "تم رفع تعليق حسابك في {product_name}", - "body": "مرحبًا {username}،\n\nأخبار سارة: تم رفع تعليق حسابك في {product_name}.\n\n{reason, select,\n null {}\n other {السبب: {reason}}\n}\n\nيمكنك الآن تسجيل الدخول مرة أخرى ومواصلة استخدام {product_name} كالمعتاد.\n\n– فريق أمان {product_name}" + "body": "مرحبًا {username}،\n\nأخبار سارة: تم رفع تعليق حسابك في {product_name}.\n\n{reason, select,\n null {}\n other {السبب: {reason}\n\n}\n}يمكنك الآن تسجيل الدخول مرة أخرى ومواصلة استخدام {product_name} كالمعتاد.\n\n– فريق أمان {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 e84513ea3..143d94a88 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 @@ -13,11 +13,11 @@ }, "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{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}" + "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{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}" + "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}", @@ -93,7 +93,7 @@ }, "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, select, null {Свържи се с администраторите на тази инстанция.} other {Изпрати имейл на {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} е насрочено", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Спирането на акаунта ти във {product_name} е отменено", - "body": "Здравей, {username},\n\nДобра новина: спирането на акаунта ти във {product_name} е отменено.\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nВече можеш да влезеш отново и да продължиш да използваш {product_name} както обикновено.\n\n– Екип за безопасност на {product_name}" + "body": "Здравей, {username},\n\nДобра новина: спирането на акаунта ти във {product_name} е отменено.\n\n{reason, select,\n null {}\n other {Причина: {reason}\n\n}\n}Вече можеш да влезеш отново и да продължиш да използваш {product_name} както обикновено.\n\n– Екип за безопасност на {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 3181ef6b8..fe9343711 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 @@ -13,11 +13,11 @@ }, "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\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}" + "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}\n}Jedná 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\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}" + "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}\n}Bě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}", @@ -93,7 +93,7 @@ }, "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í. {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}" + "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}\n}Jedná 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Pozastavení vašeho účtu {product_name} bylo zrušeno", - "body": "Dobrý den, {username},\n\nDobrá zpráva: pozastavení vašeho účtu {product_name} bylo zrušeno.\n\n{reason, select,\n null {}\n other {Důvod: {reason}}\n}\n\nNyní se můžete znovu přihlásit a používat {product_name} jako obvykle.\n\n– Bezpečnostní tým {product_name}" + "body": "Dobrý den, {username},\n\nDobrá zpráva: pozastavení vašeho účtu {product_name} bylo zrušeno.\n\n{reason, select,\n null {}\n other {Důvod: {reason}\n\n}\n}Nyní se můžete znovu přihlásit a používat {product_name} jako obvykle.\n\n– Bezpečnostní tým {product_name}" } } 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 75fd2e7dd..ac4abb63e 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 @@ -13,11 +13,11 @@ }, "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\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}" + "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}\n}Dette 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\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}" + "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}\n}I 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", @@ -93,7 +93,7 @@ }, "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. {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}" + "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}\n}Dette 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Suspensionen af din {product_name}-konto er ophævet", - "body": "Hej {username},\n\nGode nyheder: Suspensionen af din {product_name}-konto er ophævet.\n\n{reason, select,\n null {}\n other {Årsag: {reason}}\n}\n\nDu kan nu logge ind igen og fortsætte med at bruge {product_name} som normalt.\n\n– Sikkerhedsteamet hos {product_name}" + "body": "Hej {username},\n\nGode nyheder: Suspensionen af din {product_name}-konto er ophævet.\n\n{reason, select,\n null {}\n other {Årsag: {reason}\n\n}\n}Du kan nu logge ind igen og fortsætte med at bruge {product_name} som normalt.\n\n– Sikkerhedsteamet hos {product_name}" } } 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 08bda066e..584d8f140 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 @@ -13,11 +13,11 @@ }, "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\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" + "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}\n}Dies 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\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" + "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}\n}Wä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", @@ -93,7 +93,7 @@ }, "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. {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" + "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}\n}Dies 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Die Sperrung deines {product_name}-Accounts wurde aufgehoben", - "body": "Hallo {username},\n\ngute Nachrichten: Die Sperrung deines {product_name}-Accounts wurde aufgehoben.\n\n{reason, select,\n null {}\n other {Grund: {reason}}\n}\n\nDu kannst dich jetzt wieder anmelden und {product_name} wie gewohnt nutzen.\n\n– {product_name}-Sicherheitsteam" + "body": "Hallo {username},\n\ngute Nachrichten: Die Sperrung deines {product_name}-Accounts wurde aufgehoben.\n\n{reason, select,\n null {}\n other {Grund: {reason}\n\n}\n}Du kannst dich jetzt wieder anmelden und {product_name} wie gewohnt nutzen.\n\n– {product_name}-Sicherheitsteam" } } 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 c469a71fb..64ba938f7 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 @@ -13,11 +13,11 @@ }, "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{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}" + "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{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}" + "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}", @@ -93,7 +93,7 @@ }, "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, select, null {Επικοινώνησε με τους διαχειριστές αυτής της παρουσίας.} other {Στείλε 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} είναι προγραμματισμένη", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Η αναστολή του λογαριασμού σου στο {product_name} έχει αρθεί", - "body": "Γεια σου {username},\n\nΚαλά νέα: η αναστολή του λογαριασμού σου στο {product_name} έχει αρθεί.\n\n{reason, select,\n null {}\n other {Λόγος: {reason}}\n}\n\nΜπορείς τώρα να συνδεθείς ξανά και να συνεχίσεις να χρησιμοποιείς το {product_name} κανονικά.\n\n– Η ομάδα ασφαλείας του {product_name}" + "body": "Γεια σου {username},\n\nΚαλά νέα: η αναστολή του λογαριασμού σου στο {product_name} έχει αρθεί.\n\n{reason, select,\n null {}\n other {Λόγος: {reason}\n\n}\n}Μπορείς τώρα να συνδεθείς ξανά και να συνεχίσεις να χρησιμοποιείς το {product_name} κανονικά.\n\n– Η ομάδα ασφαλείας του {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 754f20b67..613e20b33 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 @@ -13,11 +13,11 @@ }, "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\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" + "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}\n}This 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\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" + "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}\n}During 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", @@ -93,7 +93,7 @@ }, "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. {appeals_email, select, null {Contact the administrators of this instance.} other {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}\n}This 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Your {product_name} account suspension has been lifted", - "body": "Hello {username},\n\nGood news: your {product_name} account suspension has been lifted.\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nYou can now log back in and continue using {product_name} as normal.\n\n– {product_name} Safety Team" + "body": "Hello {username},\n\nGood news: your {product_name} account suspension has been lifted.\n\n{reason, select,\n null {}\n other {Reason: {reason}\n\n}\n}You can now log back in and continue using {product_name} as normal.\n\n– {product_name} Safety Team" } } 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 c9c3bbc37..f33054c1a 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 @@ -13,11 +13,11 @@ }, "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\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}" + "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}\n}Esta 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\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}" + "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}\n}Durante 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}", @@ -93,7 +93,7 @@ }, "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. {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}" + "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}\n}Esta 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Se levantó la suspensión de tu cuenta de {product_name}", - "body": "Hola {username}:\n\nBuenas noticias: se levantó la suspensión de tu cuenta de {product_name}.\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nAhora puedes iniciar sesión de nuevo y seguir usando {product_name} con normalidad.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nBuenas noticias: se levantó la suspensión de tu cuenta de {product_name}.\n\n{reason, select,\n null {}\n other {Motivo: {reason}\n\n}\n}Ahora puedes iniciar sesión de nuevo y seguir usando {product_name} con normalidad.\n\n– Equipo de seguridad de {product_name}" } } 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 f945838c4..3b3eec42e 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 @@ -13,11 +13,11 @@ }, "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\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}" + "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}\n}Esta 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\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}" + "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}\n}Durante 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}", @@ -93,7 +93,7 @@ }, "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. {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}" + "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}\n}Esta 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Se ha levantado la suspensión de tu cuenta de {product_name}", - "body": "Hola {username}:\n\nBuenas noticias: se ha levantado la suspensión de tu cuenta de {product_name}.\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nAhora puedes volver a iniciar sesión y seguir usando {product_name} con normalidad.\n\n– Equipo de seguridad de {product_name}" + "body": "Hola {username}:\n\nBuenas noticias: se ha levantado la suspensión de tu cuenta de {product_name}.\n\n{reason, select,\n null {}\n other {Motivo: {reason}\n\n}\n}Ahora puedes volver a iniciar sesión y seguir usando {product_name} con normalidad.\n\n– Equipo de seguridad de {product_name}" } } 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 9304909f8..6cc4e9384 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 @@ -13,11 +13,11 @@ }, "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\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" + "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}\n}Tä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\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" + "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}\n}Tä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", @@ -93,7 +93,7 @@ }, "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. {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" + "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}\n}Tä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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "{product_name}-tilisi jäädytys on poistettu", - "body": "Hei {username},\n\nHyviä uutisia: {product_name}-tilisi jäädytys on poistettu.\n\n{reason, select,\n null {}\n other {Syy: {reason}}\n}\n\nVoit nyt kirjautua takaisin sisään ja jatkaa {product_name}-palvelun käyttöä normaalisti.\n\n– {product_name}-turvallisuustiimi" + "body": "Hei {username},\n\nHyviä uutisia: {product_name}-tilisi jäädytys on poistettu.\n\n{reason, select,\n null {}\n other {Syy: {reason}\n\n}\n}Voit nyt kirjautua takaisin sisään ja jatkaa {product_name}-palvelun käyttöä normaalisti.\n\n– {product_name}-turvallisuustiimi" } } 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 cc712c612..82ded4fc9 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 @@ -13,11 +13,11 @@ }, "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\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}" + "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\n}}Il 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\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}" + "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\n}}Vous 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}", @@ -93,7 +93,7 @@ }, "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. {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}" + "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\n}}Il 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "La suspension de votre compte {product_name} a été levée", - "body": "Bonjour {username},\n\nBonne nouvelle : la suspension de votre compte {product_name} a été levée.\n\n{reason, select, null {} other {Motif : {reason}}}\n\nVous pouvez maintenant vous reconnecter et utiliser {product_name} normalement.\n\n– L’équipe de sécurité de {product_name}" + "body": "Bonjour {username},\n\nBonne nouvelle : la suspension de votre compte {product_name} a été levée.\n\n{reason, select, null {} other {Motif : {reason}\n\n}}Vous pouvez maintenant vous reconnecter et utiliser {product_name} normalement.\n\n– L’équipe de sécurité de {product_name}" } } 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 e502ef01c..bdbed3192 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 @@ -13,11 +13,11 @@ }, "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{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}" + "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{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}" + "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}", @@ -93,7 +93,7 @@ }, "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, select, null {צרו קשר עם מנהלי המערכת של המופע הזה.} other {שלחו אימייל לכתובת {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} שלכם מתוזמנת", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "השעיית חשבון ה-{product_name} שלכם בוטלה", - "body": "שלום {username},\n\nחדשות טובות: השעיית חשבון ה-{product_name} שלכם בוטלה.\n\n{reason, select,\n null {}\n other {סיבה: {reason}}\n}\n\nכעת אתם יכולים להתחבר שוב ולהמשיך להשתמש ב-{product_name} כרגיל.\n\nצוות הבטיחות של {product_name}" + "body": "שלום {username},\n\nחדשות טובות: השעיית חשבון ה-{product_name} שלכם בוטלה.\n\n{reason, select,\n null {}\n other {סיבה: {reason}\n\n}\n}כעת אתם יכולים להתחבר שוב ולהמשיך להשתמש ב-{product_name} כרגיל.\n\nצוות הבטיחות של {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 a7414a408..d0fb05399 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 @@ -13,11 +13,11 @@ }, "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{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} सेफ्टी टीम" + "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{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} सेफ्टी टीम" + "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} डोनेशन के लिए धन्यवाद", @@ -93,7 +93,7 @@ }, "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, select, null {इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।} other {इस ईमेल पते से {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} अकाउंट का डिलीशन शेड्यूल कर दिया गया है", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "आपके {product_name} अकाउंट का सस्पेंशन हटा दिया गया है", - "body": "नमस्ते {username},\n\nअच्छी खबर: आपके {product_name} अकाउंट का सस्पेंशन हटा दिया गया है।\n\n{reason, select,\n null {}\n other {वजह: {reason}}\n}\n\nअब आप फिर से लॉगिन कर सकते हैं और सामान्य रूप से {product_name} का उपयोग जारी रख सकते हैं।\n\n– {product_name} सेफ्टी टीम" + "body": "नमस्ते {username},\n\nअच्छी खबर: आपके {product_name} अकाउंट का सस्पेंशन हटा दिया गया है।\n\n{reason, select,\n null {}\n other {वजह: {reason}\n\n}\n}अब आप फिर से लॉगिन कर सकते हैं और सामान्य रूप से {product_name} का उपयोग जारी रख सकते हैं।\n\n– {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 80c860c24..522892dc6 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 @@ -13,11 +13,11 @@ }, "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\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" + "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}\n}Ovo 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\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" + "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}\n}Tijekom 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}", @@ -93,7 +93,7 @@ }, "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. {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" + "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}\n}Ovo 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Suspenzija tvog računa na {product_name}u je ukinuta", - "body": "Pozdrav {username},\n\nDobre vijesti: suspenzija tvog računa na {product_name}u je ukinuta.\n\n{reason, select,\n null {}\n other {Razlog: {reason}}\n}\n\nSada se možeš ponovno prijaviti i nastaviti koristiti {product_name} kao i obično.\n\n– Sigurnosni tim {product_name}a" + "body": "Pozdrav {username},\n\nDobre vijesti: suspenzija tvog računa na {product_name}u je ukinuta.\n\n{reason, select,\n null {}\n other {Razlog: {reason}\n\n}\n}Sada se možeš ponovno prijaviti i nastaviti koristiti {product_name} kao i obično.\n\n– Sigurnosni tim {product_name}a" } } 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 5eedec7cd..54862b1bb 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 @@ -13,11 +13,11 @@ }, "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\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" + "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}\n}Ez 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\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" + "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}\n}Ez 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", @@ -93,7 +93,7 @@ }, "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. {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" + "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}\n}Ez 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Feloldottuk {product_name}-fiókod felfüggesztését", - "body": "Szia, {username}!\n\nJó hír: feloldottuk {product_name}-fiókod felfüggesztését.\n\n{reason, select,\n null {}\n other {Indok: {reason}}\n}\n\nMost már újra bejelentkezhetsz, és a megszokott módon használhatod a {product_name} alkalmazást.\n\n– {product_name} biztonsági csapata" + "body": "Szia, {username}!\n\nJó hír: feloldottuk {product_name}-fiókod felfüggesztését.\n\n{reason, select,\n null {}\n other {Indok: {reason}\n\n}\n}Most már újra bejelentkezhetsz, és a megszokott módon használhatod a {product_name} alkalmazást.\n\n– {product_name} biztonsági csapata" } } 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 1d7702f76..7194855bf 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 @@ -13,11 +13,11 @@ }, "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\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}" + "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}\n}Ini 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\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}" + "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}\n}Selama 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}", @@ -93,7 +93,7 @@ }, "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. {appeals_email, select, null {Hubungi administrator instance ini.} other {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}\n}Ini 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Penangguhan akun {product_name} kamu telah dicabut", - "body": "Halo {username},\n\nKabar baik: penangguhan akun {product_name} kamu telah dicabut.\n\n{reason, select,\n null {}\n other {Alasan: {reason}}\n}\n\nKamu sekarang bisa masuk lagi dan terus menggunakan {product_name} seperti biasa.\n\n– Tim Keamanan {product_name}" + "body": "Halo {username},\n\nKabar baik: penangguhan akun {product_name} kamu telah dicabut.\n\n{reason, select,\n null {}\n other {Alasan: {reason}\n\n}\n}Kamu sekarang bisa masuk lagi dan terus menggunakan {product_name} seperti biasa.\n\n– Tim Keamanan {product_name}" } } 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 9fc873caf..4c0a83d21 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 @@ -13,11 +13,11 @@ }, "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\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}" + "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}\n}Si 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\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}" + "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}\n}Durante 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}", @@ -93,7 +93,7 @@ }, "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. {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}" + "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}\n}Si 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "La sospensione del tuo account {product_name} è stata revocata", - "body": "Ciao {username},\n\nBuone notizie: la sospensione del tuo account {product_name} è stata revocata.\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nOra puoi accedere di nuovo e continuare a usare {product_name} normalmente.\n\n– Il team per la sicurezza di {product_name}" + "body": "Ciao {username},\n\nBuone notizie: la sospensione del tuo account {product_name} è stata revocata.\n\n{reason, select,\n null {}\n other {Motivo: {reason}\n\n}\n}Ora puoi accedere di nuovo e continuare a usare {product_name} normalmente.\n\n– Il team per la sicurezza di {product_name}" } } 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 035fa2a3d..294ec81bf 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 @@ -13,11 +13,11 @@ }, "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{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}安全チーム" + "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{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}安全チーム" + "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}へのご寄付ありがとうございます", @@ -93,7 +93,7 @@ }, "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, select, null {このインスタンスの管理者に連絡してください。} other {このメールアドレスから{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}アカウントの削除が予定されています", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "{product_name}アカウントの停止が解除されました", - "body": "こんにちは、{username}さん\n\n良いお知らせです。{product_name}アカウントの停止が解除されました。\n\n{reason, select,\n null {}\n other {理由: {reason}}\n}\n\nこれで再度ログインして、通常通り{product_name}を利用できます。\n\n– {product_name}安全チーム" + "body": "こんにちは、{username}さん\n\n良いお知らせです。{product_name}アカウントの停止が解除されました。\n\n{reason, select,\n null {}\n other {理由: {reason}\n\n}\n}これで再度ログインして、通常通り{product_name}を利用できます。\n\n– {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 a1f04bfe3..78c99f849 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 @@ -13,11 +13,11 @@ }, "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{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} 안전팀" + "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{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} 안전팀" + "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} 후원에 감사드려요", @@ -93,7 +93,7 @@ }, "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, select, null {이 인스턴스의 관리자에게 연락해 이의를 제기해 주세요.} other {이 이메일 주소에서 {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} 계정 삭제가 예정되었어요", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "{product_name} 계정 정지가 해제되었어요", - "body": "안녕하세요, {username}님.\n\n좋은 소식이에요: {product_name} 계정 정지가 해제되었어요.\n\n{reason, select,\n null {}\n other {사유: {reason}}\n}\n\n이제 다시 로그인하여 평소처럼 {product_name}를 계속 사용할 수 있어요.\n\n– {product_name} 안전팀" + "body": "안녕하세요, {username}님.\n\n좋은 소식이에요: {product_name} 계정 정지가 해제되었어요.\n\n{reason, select,\n null {}\n other {사유: {reason}\n\n}\n}이제 다시 로그인하여 평소처럼 {product_name}를 계속 사용할 수 있어요.\n\n– {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 35ac4db5c..22f6e38ba 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 @@ -13,11 +13,11 @@ }, "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\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" + "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}\n}Tai 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\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" + "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ą", @@ -93,7 +93,7 @@ }, "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ą. {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" + "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}\n}Tai 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Tavo {product_name} paskyros sustabdymas panaikintas", - "body": "Sveiki, {username},\n\nGeros naujienos: tavo {product_name} paskyros sustabdymas panaikintas.\n\n{reason, select,\n null {}\n other {Priežastis: {reason}}\n}\n\nDabar gali vėl prisijungti ir toliau naudotis {product_name} kaip įprasta.\n\n– {product_name} saugos komanda" + "body": "Sveiki, {username},\n\nGeros naujienos: tavo {product_name} paskyros sustabdymas panaikintas.\n\n{reason, select,\n null {}\n other {Priežastis: {reason}\n\n}\n}Dabar gali vėl prisijungti ir toliau naudotis {product_name} kaip įprasta.\n\n– {product_name} saugos komanda" } } 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 7ab764009..7c596bcd8 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 @@ -13,11 +13,11 @@ }, "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\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}" + "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}\n}Dit 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\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}" + "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}\n}Gedurende 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", @@ -93,7 +93,7 @@ }, "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. {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}" + "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}\n}Dit 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "De schorsing van je {product_name}-account is opgeheven", - "body": "Hallo {username},\n\nGoed nieuws: de schorsing van je {product_name}-account is opgeheven.\n\n{reason, select,\n null {}\n other {Reden: {reason}}\n}\n\nJe kunt nu weer inloggen en {product_name} normaal blijven gebruiken.\n\n– Het veiligheidsteam van {product_name}" + "body": "Hallo {username},\n\nGoed nieuws: de schorsing van je {product_name}-account is opgeheven.\n\n{reason, select,\n null {}\n other {Reden: {reason}\n\n}\n}Je kunt nu weer inloggen en {product_name} normaal blijven gebruiken.\n\n– Het veiligheidsteam van {product_name}" } } 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 3149555be..427d504c3 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 @@ -13,11 +13,11 @@ }, "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\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}" + "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}\n}Dette 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\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}" + "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}\n}Du 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}", @@ -93,7 +93,7 @@ }, "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. {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}" + "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}\n}Dette 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Suspensjonen av {product_name}-kontoen din er opphevet", - "body": "Hei {username},\n\nGode nyheter! Suspensjonen av {product_name}-kontoen din er opphevet.\n\n{reason, select,\n null {}\n other {Årsak: {reason}}\n}\n\nDu kan nå logge inn igjen og fortsette å bruke {product_name} som normalt.\n\n– Sikkerhetsteamet hos {product_name}" + "body": "Hei {username},\n\nGode nyheter! Suspensjonen av {product_name}-kontoen din er opphevet.\n\n{reason, select,\n null {}\n other {Årsak: {reason}\n\n}\n}Du kan nå logge inn igjen og fortsette å bruke {product_name} som normalt.\n\n– Sikkerhetsteamet hos {product_name}" } } 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 509220880..aa8dd3c0e 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 @@ -13,11 +13,11 @@ }, "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\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}" + "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}\n}Jest 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\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}" + "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}\n}W 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}", @@ -93,7 +93,7 @@ }, "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. {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}" + "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}\n}Jest 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Zawieszenie Twojego konta {product_name} zostało zniesione", - "body": "Witaj {username},\n\nDobre wieści: zawieszenie Twojego konta {product_name} zostało zniesione.\n\n{reason, select,\n null {}\n other {Powód: {reason}}\n}\n\nMożesz teraz ponownie się zalogować i kontynuować korzystanie z {product_name} jak zwykle.\n\n– Zespół ds. bezpieczeństwa {product_name}" + "body": "Witaj {username},\n\nDobre wieści: zawieszenie Twojego konta {product_name} zostało zniesione.\n\n{reason, select,\n null {}\n other {Powód: {reason}\n\n}\n}Możesz teraz ponownie się zalogować i kontynuować korzystanie z {product_name} jak zwykle.\n\n– Zespół ds. bezpieczeństwa {product_name}" } } 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 c8f081cbe..c6f9f0e2a 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 @@ -13,11 +13,11 @@ }, "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\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}" + "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}\n}Esta é 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\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}" + "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\n}}Durante 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}", @@ -93,7 +93,7 @@ }, "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. {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}" + "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}\n}Esta é 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "A suspensão da sua conta do {product_name} foi encerrada", - "body": "Olá, {username},\n\nBoas notícias: a suspensão da sua conta do {product_name} foi encerrada.\n\n{reason, select,\n null {}\n other {Motivo: {reason}}\n}\n\nAgora você pode entrar novamente e continuar usando o {product_name} normalmente.\n\n– equipe de segurança do {product_name}" + "body": "Olá, {username},\n\nBoas notícias: a suspensão da sua conta do {product_name} foi encerrada.\n\n{reason, select,\n null {}\n other {Motivo: {reason}\n\n}\n}Agora você pode entrar novamente e continuar usando o {product_name} normalmente.\n\n– equipe de segurança do {product_name}" } } 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 e05a17b2a..63e9f5240 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 @@ -13,11 +13,11 @@ }, "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\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}" + "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}\n}Aceasta 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\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}" + "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}", @@ -93,7 +93,7 @@ }, "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. {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}" + "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}\n}Aceasta 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ă", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Suspendarea contului {product_name} a fost ridicată", - "body": "Salut {username},\n\nVești bune: suspendarea contului tău {product_name} a fost ridicată.\n\n{reason, select,\n null {}\n other {Motiv: {reason}}\n}\n\nAcum te poți conecta din nou și poți continua să folosești {product_name} în mod normal.\n\n– Echipa de siguranță {product_name}" + "body": "Salut {username},\n\nVești bune: suspendarea contului tău {product_name} a fost ridicată.\n\n{reason, select,\n null {}\n other {Motiv: {reason}\n\n}\n}Acum te poți conecta din nou și poți continua să folosești {product_name} în mod normal.\n\n– Echipa de siguranță {product_name}" } } 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 17623b83b..022124e67 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 @@ -13,11 +13,11 @@ }, "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{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}" + "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{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}" + "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}", @@ -93,7 +93,7 @@ }, "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, select, null {Свяжись с администраторами этого экземпляра.} other {Отправь письмо на {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}", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Блокировка твоего аккаунта {product_name} снята", - "body": "Привет, {username},\n\nХорошие новости: блокировка твоего аккаунта {product_name} снята.\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nТеперь ты можешь снова войти в аккаунт и продолжить пользоваться {product_name} как обычно.\n\n– Команда безопасности {product_name}" + "body": "Привет, {username},\n\nХорошие новости: блокировка твоего аккаунта {product_name} снята.\n\n{reason, select,\n null {}\n other {Причина: {reason}\n\n}\n}Теперь ты можешь снова войти в аккаунт и продолжить пользоваться {product_name} как обычно.\n\n– Команда безопасности {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 41459242e..5b5b3d74c 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 @@ -13,11 +13,11 @@ }, "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\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}" + "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}\n}Detta ä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\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}" + "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}\n}Under 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}", @@ -93,7 +93,7 @@ }, "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. {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}" + "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}\n}Detta ä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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Avstängningen av ditt {product_name}-konto har hävts", - "body": "Hej {username},\n\nGoda nyheter: avstängningen av ditt {product_name}-konto har hävts.\n\n{reason, select,\n null {}\n other {Anledning: {reason}}\n}\n\nDu kan nu logga in igen och fortsätta använda {product_name} som vanligt.\n\n– Säkerhetsteamet på {product_name}" + "body": "Hej {username},\n\nGoda nyheter: avstängningen av ditt {product_name}-konto har hävts.\n\n{reason, select,\n null {}\n other {Anledning: {reason}\n\n}\n}Du kan nu logga in igen och fortsätta använda {product_name} som vanligt.\n\n– Säkerhetsteamet på {product_name}" } } 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 e782b6cf3..7318d5464 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 @@ -13,11 +13,11 @@ }, "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{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}" + "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{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}" + "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}", @@ -93,7 +93,7 @@ }, "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, select, null {ติดต่อผู้ดูแลระบบของอินสแตนซ์นี้} other {ส่งอีเมลไปที่ {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} ของคุณถูกกำหนดให้ลบแล้ว", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "การระงับบัญชี {product_name} ของคุณถูกยกเลิกแล้ว", - "body": "สวัสดี {username},\n\nข่าวดี: การระงับบัญชี {product_name} ของคุณถูกยกเลิกแล้ว\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}}\n}\n\nตอนนี้คุณสามารถเข้าสู่ระบบอีกครั้งและใช้งาน {product_name} ได้ตามปกติ\n\n– ทีมความปลอดภัย {product_name}" + "body": "สวัสดี {username},\n\nข่าวดี: การระงับบัญชี {product_name} ของคุณถูกยกเลิกแล้ว\n\n{reason, select,\n null {}\n other {เหตุผล: {reason}\n\n}\n}ตอนนี้คุณสามารถเข้าสู่ระบบอีกครั้งและใช้งาน {product_name} ได้ตามปกติ\n\n– ทีมความปลอดภัย {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 d5bd688c1..776bd4104 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 @@ -13,11 +13,11 @@ }, "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\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" + "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}\n}Bu, 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\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" + "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}\n}Bu 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", @@ -93,7 +93,7 @@ }, "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. {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" + "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}\n}Bu, 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ı", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "{product_name} hesabının askıya alınması kaldırıldı", - "body": "Merhaba {username},\n\nİyi haber: {product_name} hesabının askıya alınması kaldırıldı.\n\n{reason, select,\n null {}\n other {Sebep: {reason}}\n}\n\nArtık tekrar giriş yapabilir ve {product_name}'ı normal şekilde kullanmaya devam edebilirsin.\n\n– {product_name} Güvenlik Ekibi" + "body": "Merhaba {username},\n\nİyi haber: {product_name} hesabının askıya alınması kaldırıldı.\n\n{reason, select,\n null {}\n other {Sebep: {reason}\n\n}\n}Artık tekrar giriş yapabilir ve {product_name}'ı normal şekilde kullanmaya devam edebilirsin.\n\n– {product_name} Güvenlik Ekibi" } } 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 9d37ce03f..8811809eb 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 @@ -13,11 +13,11 @@ }, "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{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}" + "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{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}" + "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}", @@ -93,7 +93,7 @@ }, "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, select, null {Звернися до адміністраторів цього екземпляра.} other {Надішли електронний лист на {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} заплановано", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Призупинення твого акаунта {product_name} скасовано", - "body": "Привіт, {username},\n\nГарні новини: призупинення твого акаунта {product_name} скасовано.\n\n{reason, select,\n null {}\n other {Причина: {reason}}\n}\n\nТепер ти можеш знову увійти та продовжувати користуватися {product_name} як зазвичай.\n\n– Команда безпеки {product_name}" + "body": "Привіт, {username},\n\nГарні новини: призупинення твого акаунта {product_name} скасовано.\n\n{reason, select,\n null {}\n other {Причина: {reason}\n\n}\n}Тепер ти можеш знову увійти та продовжувати користуватися {product_name} як зазвичай.\n\n– Команда безпеки {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 1717e126e..89d5c7635 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 @@ -13,11 +13,11 @@ }, "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\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}" + "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\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}" + "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}\n}Trong 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}", @@ -93,7 +93,7 @@ }, "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. {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}" + "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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Lệnh đình chỉ tài khoản {product_name} của bạn đã được gỡ bỏ", - "body": "Xin chào {username},\n\nTin tốt: lệnh đình chỉ tài khoản {product_name} của bạn đã được gỡ bỏ.\n\n{reason, select,\n null {}\n other {Lý do: {reason}}\n}\n\nBây giờ bạn có thể đăng nhập lại và tiếp tục sử dụng {product_name} như bình thường.\n\n– Đội ngũ An toàn {product_name}" + "body": "Xin chào {username},\n\nTin tốt: lệnh đình chỉ tài khoản {product_name} của bạn đã được gỡ bỏ.\n\n{reason, select,\n null {}\n other {Lý do: {reason}\n\n}\n}Bây giờ bạn có thể đăng nhập lại và tiếp tục sử dụng {product_name} như bình thường.\n\n– Đội ngũ An toàn {product_name}" } } 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 9837db3dd..feb3c4f5a 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 @@ -13,11 +13,11 @@ }, "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{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} 安全团队" + "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{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} 安全团队" + "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} 捐赠", @@ -93,7 +93,7 @@ }, "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, select, null {请联系此实例的管理员。} other {请使用此邮箱地址发送邮件至 {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} 账号已安排删除", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "你的 {product_name} 账号已解除封禁", - "body": "你好 {username},\n\n好消息:你的 {product_name} 账号已解除封禁。\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n你现在可以重新登录,继续正常使用 {product_name}。\n\n– {product_name} 安全团队" + "body": "你好 {username},\n\n好消息:你的 {product_name} 账号已解除封禁。\n\n{reason, select,\n null {}\n other {原因:{reason}\n\n}\n}你现在可以重新登录,继续正常使用 {product_name}。\n\n– {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 97d404cc6..5ecc88be2 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 @@ -13,11 +13,11 @@ }, "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{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} 安全團隊" + "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{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} 安全團隊" + "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} 的捐款", @@ -93,7 +93,7 @@ }, "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, select, null {請聯絡此實例的管理員。} other {請使用此電子郵件地址寄信至 {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} 帳號已排定刪除", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "您的 {product_name} 帳號停權已解除", - "body": "哈囉 {username},\n\n好消息:您的 {product_name} 帳號停權已解除。\n\n{reason, select,\n null {}\n other {原因:{reason}}\n}\n\n您現在可以重新登入並繼續正常使用 {product_name}。\n\n– {product_name} 安全團隊" + "body": "哈囉 {username},\n\n好消息:您的 {product_name} 帳號停權已解除。\n\n{reason, select,\n null {}\n other {原因:{reason}\n\n}\n}您現在可以重新登入並繼續正常使用 {product_name}。\n\n– {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 6b7bb0b56..2178a5381 100644 --- a/fluxer_api/pkgs/email/src/email_i18n/weblate/messages.json +++ b/fluxer_api/pkgs/email/src/email_i18n/weblate/messages.json @@ -13,11 +13,11 @@ }, "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\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" + "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}\n}This 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\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" + "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}\n}During 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", @@ -93,7 +93,7 @@ }, "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. {appeals_email, select, null {Contact the administrators of this instance.} other {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}\n}This 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", @@ -101,6 +101,6 @@ }, "unban_notification": { "subject": "Your {product_name} account suspension has been lifted", - "body": "Hello {username},\n\nGood news: your {product_name} account suspension has been lifted.\n\n{reason, select,\n null {}\n other {Reason: {reason}}\n}\n\nYou can now log back in and continue using {product_name} as normal.\n\n– {product_name} Safety Team" + "body": "Hello {username},\n\nGood news: your {product_name} account suspension has been lifted.\n\n{reason, select,\n null {}\n other {Reason: {reason}\n\n}\n}You can now log back in and continue using {product_name} as normal.\n\n– {product_name} Safety Team" } } diff --git a/fluxer_api/pkgs/locale/src/catalog/LocaleCatalog.ts b/fluxer_api/pkgs/locale/src/catalog/LocaleCatalog.ts index 3c5a20376..e67b21689 100644 --- a/fluxer_api/pkgs/locale/src/catalog/LocaleCatalog.ts +++ b/fluxer_api/pkgs/locale/src/catalog/LocaleCatalog.ts @@ -14,6 +14,9 @@ const SUPPORTED_LOCALE_SET: ReadonlySet = new Set(SUPPOR const LANGUAGE_FALLBACK_BY_LANGUAGE_CODE: Record = { en: Locales.EN_US, es: Locales.ES_ES, + nb: Locales.NO, + nn: Locales.NO, + no: Locales.NO, pt: Locales.PT_BR, zh: Locales.ZH_CN, sv: Locales.SV_SE, @@ -111,6 +114,7 @@ const LOCALE_METADATA_BY_CODE: Record = { [Locales.NO]: { displayName: 'Norsk', flagCode: '1f1f3-1f1f4', + aliases: ['nb', 'nn'], }, [Locales.PL]: { displayName: 'Polski', diff --git a/fluxer_api/pkgs/locale/src/resolution/AcceptLanguageNegotiation.ts b/fluxer_api/pkgs/locale/src/resolution/AcceptLanguageNegotiation.ts index 7626ae85b..143df977b 100644 --- a/fluxer_api/pkgs/locale/src/resolution/AcceptLanguageNegotiation.ts +++ b/fluxer_api/pkgs/locale/src/resolution/AcceptLanguageNegotiation.ts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later -import type {LocaleCode} from '@fluxer/constants/src/Locales'; +import {type LocaleCode, Locales} from '@fluxer/constants/src/Locales'; import { DEFAULT_LOCALE, findLocaleByLanguagePrefix, @@ -14,6 +14,9 @@ interface AcceptLanguagePreference { quality: number; } +const TRADITIONAL_CHINESE_SUBTAGS: ReadonlySet = new Set(['hant', 'tw', 'hk', 'mo']); +const SIMPLIFIED_CHINESE_SUBTAGS: ReadonlySet = new Set(['hans', 'cn', 'sg']); + export function resolveLocaleFromAcceptLanguageHeader(acceptLanguageHeader: string | null | undefined): LocaleCode { if (!acceptLanguageHeader) { return DEFAULT_LOCALE; @@ -75,7 +78,15 @@ function findExactLocaleMatch(preferences: ReadonlyArray): LocaleCode | null { for (const {locale} of preferences) { - const languageCode = getLanguageCode(locale); + const [languageCode = '', ...subtags] = normalizeLocaleCode(locale).split('-'); + const chineseVariantLocale = findChineseVariantLocale(languageCode, subtags); + if (chineseVariantLocale) { + return chineseVariantLocale; + } + const languageLocale = getLocaleByCode(languageCode); + if (languageLocale) { + return languageLocale; + } const preferredFallbackLocale = getPreferredLocaleForLanguageCode(languageCode); if (preferredFallbackLocale) { return preferredFallbackLocale; @@ -88,8 +99,17 @@ function findLanguageFallbackMatch(preferences: ReadonlyArray): LocaleCode | null { + if (languageCode !== 'zh') { + return null; + } + for (const subtag of subtags) { + if (TRADITIONAL_CHINESE_SUBTAGS.has(subtag)) { + return Locales.ZH_TW; + } + if (SIMPLIFIED_CHINESE_SUBTAGS.has(subtag)) { + return Locales.ZH_CN; + } + } + return null; } diff --git a/fluxer_api/pkgs/locale/src/tests/LocaleService.test.ts b/fluxer_api/pkgs/locale/src/tests/LocaleService.test.ts index 203c430bb..ad6e3a4aa 100644 --- a/fluxer_api/pkgs/locale/src/tests/LocaleService.test.ts +++ b/fluxer_api/pkgs/locale/src/tests/LocaleService.test.ts @@ -62,6 +62,9 @@ const localeLookupCases: Array = [ {input: 'pt-br', expected: Locales.PT_BR}, {input: 'sv', expected: Locales.SV_SE}, {input: 'sv-se', expected: Locales.SV_SE}, + {input: 'nb', expected: Locales.NO}, + {input: 'nn', expected: Locales.NO}, + {input: 'NB', expected: Locales.NO}, {input: 'xx', expected: null}, {input: '', expected: null}, {input: 'en-AU', expected: null}, @@ -98,7 +101,31 @@ const acceptLanguageCases: Array = [ {header: 'de;q=0.5, ja;q=0.9, fr;q=0.7', expected: Locales.JA}, {header: 'de, fr;q=0.5', expected: Locales.DE}, {header: 'xx-YY', expected: Locales.EN_US}, - {header: 'fr-CA', expected: Locales.EN_US}, + {header: 'fr-CA', expected: Locales.FR}, + {header: 'de-DE', expected: Locales.DE}, + {header: 'de-CH, fr-FR;q=0.8', expected: Locales.DE}, + {header: 'sv-FI', expected: Locales.SV_SE}, + {header: 'pt-PT', expected: Locales.PT_BR}, + {header: 'es-MX', expected: Locales.ES_ES}, + {header: 'nb', expected: Locales.NO}, + {header: 'nn', expected: Locales.NO}, + {header: 'nb-NO', expected: Locales.NO}, + {header: 'nn_NO', expected: Locales.NO}, + {header: 'no-NO', expected: Locales.NO}, + {header: 'nb-NO,nb;q=0.9,en-US;q=0.8,en;q=0.7', expected: Locales.NO}, + {header: 'zh-Hant', expected: Locales.ZH_TW}, + {header: 'zh-Hant-TW', expected: Locales.ZH_TW}, + {header: 'zh-Hant-HK', expected: Locales.ZH_TW}, + {header: 'zh-HK', expected: Locales.ZH_TW}, + {header: 'zh-MO', expected: Locales.ZH_TW}, + {header: 'zh_hant_tw', expected: Locales.ZH_TW}, + {header: 'zh-Hans', expected: Locales.ZH_CN}, + {header: 'zh-Hans-CN', expected: Locales.ZH_CN}, + {header: 'zh-SG', expected: Locales.ZH_CN}, + {header: 'zh-Hans-HK', expected: Locales.ZH_CN}, + {header: 'zh-Hant-CN', expected: Locales.ZH_TW}, + {header: 'zh-HK, zh-Hans;q=0.9', expected: Locales.ZH_TW}, + {header: 'zh-HK,zh;q=0.9', expected: Locales.ZH_TW}, {header: ' de , fr ', expected: Locales.DE}, {header: 'zh-TW', expected: Locales.ZH_TW}, {header: 'zh-CN', expected: Locales.ZH_CN}, diff --git a/fluxer_api/src/api/admin/tests/AdminGuildRoutes.test.ts b/fluxer_api/src/api/admin/tests/AdminGuildRoutes.test.ts index c91da8297..2d1d5c107 100644 --- a/fluxer_api/src/api/admin/tests/AdminGuildRoutes.test.ts +++ b/fluxer_api/src/api/admin/tests/AdminGuildRoutes.test.ts @@ -78,6 +78,26 @@ describe('Admin guild routes', () => { expect(result.guild.name).toBe(renamed); expect(result.guild.features).toContain('VERIFIED'); }); + test('PATCH /admin/guilds/{guild_id} returns the summary fields only when the body sets content warning fields', async () => { + const admin = await createTestAccount(harness); + await setUserACLs(harness, admin, ['admin:authenticate', 'guild:update:settings']); + const guild = await createGuild(harness, admin.token, `Warning Guild ${Date.now()}`); + const result = await createBuilder(harness, `${admin.token}`) + .patch(`/admin/guilds/${guild.id}`) + .body({nsfw: true, content_warning_level: 1, content_warning_text: 'Graphic content'}) + .expect(HTTP_STATUS.OK) + .execute(); + expect(Object.keys(result.guild).sort()).toEqual([ + 'banner', + 'features', + 'icon', + 'id', + 'member_count', + 'name', + 'nsfw_level', + 'owner_id', + ]); + }); test('PATCH /admin/guilds/{guild_id} requires the ACL selected by every supplied field', async () => { const admin = await createTestAccount(harness); await setUserACLs(harness, admin, ['admin:authenticate', 'guild:update:settings']); diff --git a/fluxer_api/src/api/auth/AuthController.ts b/fluxer_api/src/api/auth/AuthController.ts index cba56a04b..53285989c 100644 --- a/fluxer_api/src/api/auth/AuthController.ts +++ b/fluxer_api/src/api/auth/AuthController.ts @@ -358,7 +358,7 @@ export function AuthController(app: HonoApp) { OpenAPI({ operationId: 'revert_email_change', summary: 'Revert email change', - responseSchema: AuthLoginResponse, + responseSchema: AuthTokenWithUserIdResponse, statusCode: 200, security: [], tags: ['Auth'], diff --git a/fluxer_api/src/api/auth/AuthRequestService.ts b/fluxer_api/src/api/auth/AuthRequestService.ts index 668012832..d0e0cdd52 100644 --- a/fluxer_api/src/api/auth/AuthRequestService.ts +++ b/fluxer_api/src/api/auth/AuthRequestService.ts @@ -197,7 +197,7 @@ export class AuthRequestService { if ('registration_pending_approval' in result) { return result; } - return await this.toAuthLoginResponse(result); + return await this.toAuthTokenResponse(result); } async login({ @@ -257,13 +257,13 @@ export class AuthRequestService { }; } - async revertEmailChange({data, request}: AuthRevertEmailChangeRequest): Promise { + async revertEmailChange({data, request}: AuthRevertEmailChangeRequest): Promise { const result = await AuthEmailRevert.revertEmailChange(this.apiContext, { token: data.token, password: data.password, request, }); - return await this.toAuthLoginResponse(result); + return await this.toAuthTokenResponse(result); } getAuthSessions(userId: UserID, currentSessionIdHash?: Uint8Array): Promise { diff --git a/fluxer_api/src/api/auth/tests/EmailRevertFlow.test.ts b/fluxer_api/src/api/auth/tests/EmailRevertFlow.test.ts index 8e2b08fab..4427fef79 100644 --- a/fluxer_api/src/api/auth/tests/EmailRevertFlow.test.ts +++ b/fluxer_api/src/api/auth/tests/EmailRevertFlow.test.ts @@ -198,6 +198,7 @@ describe('Email revert flow', () => { .execute(); expect(revertResp.token.length).toBeGreaterThan(0); expect(addJob).toHaveBeenCalledWith('syncStripeCustomerEmail', {userId: account.userId}); + expect(Object.keys(revertResp).sort()).toEqual(['token', 'user', 'user_id']); await createBuilder(harness, account.token).get('/users/@me').expect(401).execute(); const user = await createBuilder(harness, revertResp.token).get('/users/@me').execute(); expect(user.email).toBe(account.email); diff --git a/fluxer_api/src/api/auth/tests/Registration.test.ts b/fluxer_api/src/api/auth/tests/Registration.test.ts index 1480101bf..8b81f1690 100644 --- a/fluxer_api/src/api/auth/tests/Registration.test.ts +++ b/fluxer_api/src/api/auth/tests/Registration.test.ts @@ -85,6 +85,7 @@ describe('Auth registration', () => { }); expect(reg.token.length).toBeGreaterThan(0); expect(reg.user_id.length).toBeGreaterThan(0); + expect(Object.keys(reg).sort()).toEqual(['token', 'user', 'user_id']); }); it('grants wildcard admin ACL to first accepted local dev registration', async () => { await getInstanceConfigRepository().updateCaptchaConfig({enabled: false}); diff --git a/fluxer_api/src/api/auth/tests/RegistrationPolicy.test.ts b/fluxer_api/src/api/auth/tests/RegistrationPolicy.test.ts index c16a28c87..66bf07b2f 100644 --- a/fluxer_api/src/api/auth/tests/RegistrationPolicy.test.ts +++ b/fluxer_api/src/api/auth/tests/RegistrationPolicy.test.ts @@ -84,6 +84,7 @@ describe('Auth registration policy', () => { .execute(); expect(registration.registration_pending_approval).toBe(true); expect(registration.user_id.length).toBeGreaterThan(0); + expect(Object.keys(registration).sort()).toEqual(['registration_pending_approval', 'user_id']); await createBuilderWithoutAuth(harness) .post('/auth/login') .body({email: body.email, password: body.password}) diff --git a/fluxer_api/src/api/content_i18n/ContentI18n.ts b/fluxer_api/src/api/content_i18n/ContentI18n.ts index af7774af4..ae04f99a8 100644 --- a/fluxer_api/src/api/content_i18n/ContentI18n.ts +++ b/fluxer_api/src/api/content_i18n/ContentI18n.ts @@ -7,6 +7,7 @@ import { type ContentI18nKey, } from '@app/api/content_i18n/ContentI18nMessages'; import {identityLocale} from '@fluxer/i18n/src/normalization/IdentityLocale'; +import {compileMessage} from '@fluxer/i18n/src/runtime/CompileMessage'; import {createStaticI18n} from '@fluxer/i18n/src/runtime/CreateStaticI18n'; import type {MessageArgsForTemplate} from '@fluxer/i18n/src/runtime/MessageCatalogTypes'; import {validateMessageTemplateVariables} from '@fluxer/i18n/src/runtime/MessageCatalogTypes'; @@ -30,7 +31,7 @@ const contentI18n = createStaticI18n validateMessageTemplateVariables(template, variables), }, (template, variables, mf) => { - return String(mf.compile(template)(variables)); + return String(compileMessage(mf, template)(variables)); }, ); diff --git a/fluxer_api/src/api/openapi/openapi.json b/fluxer_api/src/api/openapi/openapi.json index 27cac7f45..9f2e7daa0 100644 --- a/fluxer_api/src/api/openapi/openapi.json +++ b/fluxer_api/src/api/openapi/openapi.json @@ -217,7 +217,7 @@ "responses": { "200": { "description": "Success", - "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AuthLoginResponse"}}} + "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AuthTokenWithUserIdResponse"}}} }, "400": { "description": "Bad Request - The request was malformed or contained invalid data", @@ -11364,6 +11364,13 @@ "required": true, "schema": {"description": "The ID of the harvest request", "$ref": "#/components/schemas/SnowflakeType"}, "description": "The ID of the harvest request" + }, + { + "name": "token", + "in": "query", + "required": true, + "schema": {"description": "The signed download token from the harvest download URL", "type": "string"}, + "description": "The signed download token from the harvest download URL" } ] } @@ -32650,31 +32657,6 @@ "AuthRegisterResponse": { "anyOf": [ {"$ref": "#/components/schemas/AuthTokenWithUserIdResponse"}, - { - "type": "object", - "properties": { - "mfa": { - "type": "boolean", - "const": true, - "description": "Indicates MFA is required to complete authentication" - }, - "ticket": {"type": "string", "description": "MFA ticket to use when completing MFA verification"}, - "allowed_methods": { - "maxItems": 10, - "type": "array", - "items": {"type": "string"}, - "description": "List of allowed MFA methods" - }, - "totp": {"type": "boolean", "description": "Whether TOTP authenticator MFA is available"}, - "webauthn": {"type": "boolean", "description": "Whether WebAuthn security key MFA is available"}, - "backup_codes": { - "type": "boolean", - "description": "Whether the account has at least one unconsumed backup code" - } - }, - "required": ["mfa", "ticket", "allowed_methods", "totp", "webauthn", "backup_codes"], - "additionalProperties": false - }, {"$ref": "#/components/schemas/AuthRegistrationPendingApprovalResponse"} ] }, @@ -35490,7 +35472,7 @@ }, "provider": { "description": "The provider of the embed (e.g., YouTube, Twitter)", - "anyOf": [{"$ref": "#/components/schemas/EmbedAuthorResponse"}, {"type": "null"}] + "anyOf": [{"$ref": "#/components/schemas/EmbedProviderResponse"}, {"type": "null"}] }, "video": { "description": "The video of the embed", @@ -35618,7 +35600,7 @@ }, "provider": { "description": "The provider of the embed (e.g., YouTube, Twitter)", - "anyOf": [{"$ref": "#/components/schemas/EmbedAuthorResponse"}, {"type": "null"}] + "anyOf": [{"$ref": "#/components/schemas/EmbedProviderResponse"}, {"type": "null"}] }, "video": { "description": "The video of the embed", @@ -35677,20 +35659,12 @@ "required": ["url", "flags"], "additionalProperties": false }, - "EmbedAuthorResponse": { + "EmbedProviderResponse": { "type": "object", "properties": { - "name": {"type": "string", "description": "The name of the author"}, + "name": {"type": "string", "description": "The name of the provider"}, "url": { - "description": "The URL of the author", - "anyOf": [{"type": "string", "format": "uri"}, {"type": "null"}] - }, - "icon_url": { - "description": "The URL of the author icon", - "anyOf": [{"type": "string", "format": "uri"}, {"type": "null"}] - }, - "proxy_icon_url": { - "description": "The proxied URL of the author icon", + "description": "The URL of the provider", "anyOf": [{"type": "string", "format": "uri"}, {"type": "null"}] } }, @@ -35723,6 +35697,26 @@ "required": ["text"], "additionalProperties": false }, + "EmbedAuthorResponse": { + "type": "object", + "properties": { + "name": {"type": "string", "description": "The name of the author"}, + "url": { + "description": "The URL of the author", + "anyOf": [{"type": "string", "format": "uri"}, {"type": "null"}] + }, + "icon_url": { + "description": "The URL of the author icon", + "anyOf": [{"type": "string", "format": "uri"}, {"type": "null"}] + }, + "proxy_icon_url": { + "description": "The proxied URL of the author icon", + "anyOf": [{"type": "string", "format": "uri"}, {"type": "null"}] + } + }, + "required": ["name"], + "additionalProperties": false + }, "EmbedMediaFlags": { "type": "integer", "minimum": 0, @@ -38281,7 +38275,7 @@ "user_tag": { "description": "Fluxer tag of the user being reported", "type": "string", - "minLength": 3, + "minLength": 1, "maxLength": 37 } }, @@ -38333,7 +38327,7 @@ "reported_user_tag": { "description": "Fluxer tag of the user who sent the message", "type": "string", - "minLength": 3, + "minLength": 1, "maxLength": 37 } }, diff --git a/fluxer_api/src/api/report/ReportService.ts b/fluxer_api/src/api/report/ReportService.ts index 544c22cbb..168c856aa 100644 --- a/fluxer_api/src/api/report/ReportService.ts +++ b/fluxer_api/src/api/report/ReportService.ts @@ -41,6 +41,7 @@ import type {IEmailDnsValidationService} from '@app/api/infrastructure/IEmailDns import type {IGatewayService} from '@app/api/infrastructure/IGatewayService'; import type {ISnowflakeService} from '@app/api/infrastructure/ISnowflakeService'; import type {IStorageService} from '@app/api/infrastructure/IStorageService'; +import {usesUniqueUsernames} from '@app/api/instance/AccountIdentityModeCache'; import type {IInviteRepository} from '@app/api/invite/IInviteRepository'; import {Logger} from '@app/api/Logger'; import type {Attachment} from '@app/api/models/Attachment'; @@ -61,6 +62,7 @@ import {ReportStatus, ReportType} from '@app/api/report/IReportRepository'; import type {IReportSearchService} from '@app/api/search/IReportSearchService'; import type {IUserRepository} from '@app/api/user/IUserRepository'; import {isUnderEnforcement} from '@app/api/user/ProfileVisibility'; +import {findPersonByLoginHandle, type ParsedLoginHandle, parseLoginHandle} from '@app/api/user/UniqueUsernames'; import {isAccountClosed} from '@app/api/user/UserHelpers'; import type {IWebhookRepository} from '@app/api/webhook/IWebhookRepository'; import {buildHashedAssetKey} from '@app/api/worker/utils/AssetArchiveHelpers'; @@ -1149,7 +1151,7 @@ export class ReportService { if (!parsed) { throw new InvalidDsaReportTargetError(); } - const user = await this.userRepository.findByUsernameDiscriminator(parsed.username, parsed.discriminator); + const user = await this.lookupTaggedUser(parsed); if (!user) { throw new UnknownUserError(); } @@ -1161,10 +1163,17 @@ export class ReportService { if (!parsed || !userId) { return false; } - const user = await this.userRepository.findByUsernameDiscriminator(parsed.username, parsed.discriminator); + const user = await this.lookupTaggedUser(parsed); return user?.id === userId; } + private async lookupTaggedUser(parsed: ParsedLoginHandle): Promise { + if (parsed.discriminator === null) { + return findPersonByLoginHandle(this.userRepository, parsed); + } + return this.userRepository.findByUsernameDiscriminator(parsed.username, parsed.discriminator); + } + private async isChannelReadableByEveryone(channel: Channel): Promise { if (!channel.guildId) { return false; @@ -1211,17 +1220,18 @@ export class ReportService { return email.trim().toLowerCase(); } - private parseFluxerTag(tag: string): { - username: string; - discriminator: number; - } | null { + private parseFluxerTag(tag: string): ParsedLoginHandle | null { const trimmed = tag.trim(); const match = /^(.+)#(\d{4})$/.exec(trimmed); - if (!match) return null; - return { - username: match[1], - discriminator: Number.parseInt(match[2], 10), - }; + if (match) { + return { + username: match[1], + discriminator: Number.parseInt(match[2], 10), + }; + } + if (!usesUniqueUsernames()) return null; + const handle = parseLoginHandle(trimmed); + return handle?.discriminator === null ? handle : null; } private extractChannelAndMessageFromLink(link: string): { diff --git a/fluxer_api/src/api/report/flows/ReportFlowRegistry.ts b/fluxer_api/src/api/report/flows/ReportFlowRegistry.ts index 098bd4a10..54ad25ace 100644 --- a/fluxer_api/src/api/report/flows/ReportFlowRegistry.ts +++ b/fluxer_api/src/api/report/flows/ReportFlowRegistry.ts @@ -18,7 +18,7 @@ import { type ReportFlowScreenDef, } from '@app/api/report/flows/ReportFlowScreens'; import {getLegacyCategory, isReportReasonKey, type ReportReasonKey} from '@app/api/report/flows/ReportReasonCatalog'; -import {type LocaleCode, Locales} from '@fluxer/constants/src/Locales'; +import type {LocaleCode} from '@fluxer/constants/src/Locales'; import {ValidationErrorCodes} from '@fluxer/constants/src/ValidationErrorCodes'; import {InputValidationError} from '@fluxer/errors/src/domains/core/InputValidationError'; import {InvalidReportFlowAnswersError} from '@fluxer/errors/src/domains/moderation/InvalidReportFlowAnswersError'; @@ -113,7 +113,6 @@ const REPORT_FLOW_CHECKED_INSTANCES: ReadonlyArray = [ {selfHosted: true, guidelinesLinked: true}, ]; const ADMIN_LOCALE = 'en-US'; -const NORWEGIAN_LANGUAGE_CODES: ReadonlySet = new Set(['nb', 'nn']); export function getReportFlowScreenKind(screen: ReportFlowScreenDef): ReportFlowScreenKind { if (screen.checklist) { @@ -578,12 +577,7 @@ export function getReportFlowVariant(target: ReportFlowTargetType, surface: Repo } export function resolveReportFlowLocale(raw: string | null | undefined): LocaleCode { - if (!raw) { - return parseAcceptLanguage(null); - } - const tag = raw.trim().replaceAll('_', '-'); - const language = tag.split(/[-,;]/)[0].toLowerCase(); - return parseAcceptLanguage(NORWEGIAN_LANGUAGE_CODES.has(language) ? Locales.NO : tag); + return parseAcceptLanguage(raw); } function renderCopy(key: ReportFlowCopyKey, locale: string): string { diff --git a/fluxer_api/src/api/report/tests/DsaReportUserTag.test.ts b/fluxer_api/src/api/report/tests/DsaReportUserTag.test.ts new file mode 100644 index 000000000..a7f04a559 --- /dev/null +++ b/fluxer_api/src/api/report/tests/DsaReportUserTag.test.ts @@ -0,0 +1,114 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import { + clearTestEmails, + createTestAccount, + createUniqueEmail, + findLastTestEmail, + listTestEmails, +} from '@app/api/auth/tests/AuthTestUtils'; +import {createReportID} from '@app/api/BrandedTypes'; +import {getConfig} from '@app/api/Config'; +import {getInstanceConfigRepository} from '@app/api/middleware/ServiceSingletons'; +import {ReportRepository} from '@app/api/report/ReportRepository'; +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 {AccountIdentityModes, TagStyles} from '@fluxer/constants/src/AccountIdentityConstants'; +import {APIErrorCodes} from '@fluxer/constants/src/ApiErrorCodes'; +import {afterEach, beforeEach, describe, expect, test} from 'vitest'; + +interface ReportResponse { + report_id: string; +} + +interface Me { + username: string; + discriminator: string; +} + +async function issueTicket(harness: ApiTestHarness): Promise { + await clearTestEmails(harness); + const email = createUniqueEmail('dsa-tag'); + await createBuilderWithoutAuth(harness) + .post('/reports/dsa/email/send') + .body({email}) + .expect(HTTP_STATUS.OK) + .execute(); + const code = findLastTestEmail(await listTestEmails(harness), 'dsa_report_verification')?.metadata.code; + const {ticket} = await createBuilderWithoutAuth<{ticket: string}>(harness) + .post('/reports/dsa/email/verify') + .body({email, code}) + .expect(HTTP_STATUS.OK) + .execute(); + return ticket; +} + +function submitUserReport(harness: ApiTestHarness, ticket: string, userTag: string) { + return createBuilderWithoutAuth(harness).post('/reports/dsa').body({ + ticket, + report_type: 'user', + category: 'harassment', + user_tag: userTag, + reporter_full_legal_name: 'John Doe', + reporter_country_of_residence: 'DE', + }); +} + +async function reportedUserIdOf(reportId: string): Promise { + const report = await new ReportRepository().getReport(createReportID(BigInt(reportId))); + return report?.reportedUserId?.toString(); +} + +async function readMe(harness: ApiTestHarness, token: string): Promise { + return createBuilder(harness, token).get('/users/@me').expect(HTTP_STATUS.OK).execute(); +} + +describe('DSA user lookup by tag', () => { + let harness: ApiTestHarness; + + beforeEach(async () => { + harness = await createApiTestHarness(); + }); + + afterEach(async () => { + await harness?.shutdown(); + }); + + test('an instance with random tags finds the user by username#1234 and rejects a bare username', async () => { + const target = await createTestAccount(harness); + const me = await readMe(harness, target.token); + const ticket = await issueTicket(harness); + await submitUserReport(harness, ticket, me.username) + .expect(HTTP_STATUS.BAD_REQUEST, APIErrorCodes.INVALID_DSA_REPORT_TARGET) + .execute(); + const result = await submitUserReport(harness, ticket, `${me.username}#${me.discriminator}`) + .expect(HTTP_STATUS.OK) + .execute(); + expect(await reportedUserIdOf(result.report_id)).toBe(target.userId); + }); + + test('an instance without tags finds the user by bare username and by username#0000', async () => { + const config = getConfig(); + const originalSelfHosted = config.instance.selfHosted; + config.instance.selfHosted = true; + try { + await getInstanceConfigRepository().setAccountIdentityMode(AccountIdentityModes.EMAIL, 'setup', TagStyles.NONE); + const target = await createTestAccount(harness); + const me = await readMe(harness, target.token); + expect(me.discriminator).toBe('0000'); + for (const userTag of [me.username, ` ${me.username.toUpperCase()} `, `${me.username}#0000`]) { + const result = await submitUserReport(harness, await issueTicket(harness), userTag) + .expect(HTTP_STATUS.OK) + .execute(); + expect(await reportedUserIdOf(result.report_id)).toBe(target.userId); + } + await submitUserReport(harness, await issueTicket(harness), 'nobody_has_this_name') + .expect(HTTP_STATUS.NOT_FOUND, APIErrorCodes.UNKNOWN_USER) + .execute(); + } finally { + config.instance.selfHosted = originalSelfHosted; + getInstanceConfigRepository().clearCacheForTesting(); + } + }); +}); diff --git a/fluxer_api/src/api/report/tests/ReportFlowRegistry.test.ts b/fluxer_api/src/api/report/tests/ReportFlowRegistry.test.ts index 27ee62f2f..18bfd142b 100644 --- a/fluxer_api/src/api/report/tests/ReportFlowRegistry.test.ts +++ b/fluxer_api/src/api/report/tests/ReportFlowRegistry.test.ts @@ -1192,7 +1192,15 @@ describe('report flow rendering', () => { expect(resolveReportFlowLocale('nb')).toBe('no'); expect(resolveReportFlowLocale('nb_NO')).toBe('no'); expect(resolveReportFlowLocale('nn')).toBe('no'); - expect(resolveReportFlowLocale('zh-Hant')).toBe('zh-CN'); + expect(resolveReportFlowLocale('nn-NO')).toBe('no'); + expect(resolveReportFlowLocale('zh-Hant')).toBe('zh-TW'); + expect(resolveReportFlowLocale('zh_Hant_TW')).toBe('zh-TW'); + expect(resolveReportFlowLocale('zh-HK')).toBe('zh-TW'); + expect(resolveReportFlowLocale('zh-Hans')).toBe('zh-CN'); + expect(resolveReportFlowLocale('zh')).toBe('zh-CN'); + expect(resolveReportFlowLocale('fr-CA')).toBe('fr'); + expect(resolveReportFlowLocale('de-DE')).toBe('de'); + expect(resolveReportFlowLocale(' de ')).toBe('de'); expect(resolveReportFlowLocale('sv')).toBe('sv-SE'); expect(resolveReportFlowLocale('pt')).toBe('pt-BR'); expect(resolveReportFlowLocale('pt_BR')).toBe('pt-BR'); @@ -1200,6 +1208,7 @@ describe('report flow rendering', () => { expect(resolveReportFlowLocale('xx-YY')).toBe('en-US'); expect(resolveReportFlowLocale(undefined)).toBe('en-US'); expect(getReportFlowResponse('message', 'in_app', 'nb').locale).toBe('no'); + expect(getReportFlowResponse('message', 'in_app', 'zh-Hant').locale).toBe('zh-TW'); expect(getReportFlowResponse('message', 'in_app', 'xx-YY').locale).toBe('en-US'); }); }); diff --git a/fluxer_api/src/api/test/mocks/RepositoryBackedMessageResponseDataService.ts b/fluxer_api/src/api/test/mocks/RepositoryBackedMessageResponseDataService.ts index 03ae9f246..4caf0d11d 100644 --- a/fluxer_api/src/api/test/mocks/RepositoryBackedMessageResponseDataService.ts +++ b/fluxer_api/src/api/test/mocks/RepositoryBackedMessageResponseDataService.ts @@ -423,7 +423,7 @@ export class RepositoryBackedMessageResponseDataService extends MessageResponseD thumbnail: this.mapEmbedMedia(embed.thumbnail, message), footer: this.mapEmbedFooter(embed.footer), fields: embed.fields.length > 0 ? embed.fields.map((field) => this.mapEmbedField(field)) : null, - provider: this.mapEmbedAuthor(embed.provider), + provider: this.mapEmbedProvider(embed.provider), video: this.mapEmbedMedia(embed.video, message), audio: this.mapEmbedMedia(embed.audio, message), html: embed.html, @@ -434,14 +434,21 @@ export class RepositoryBackedMessageResponseDataService extends MessageResponseD }; } - private mapEmbedAuthor(author: EmbedAuthor | EmbedProvider | null) { + private mapEmbedAuthor(author: EmbedAuthor | null) { if (!author?.name) return null; - const iconUrl = 'iconUrl' in author ? author.iconUrl : null; return { name: author.name, url: signOwnUrl(author.url), - icon_url: signOwnUrl(iconUrl), - proxy_icon_url: mediaProxyUrl(iconUrl), + icon_url: signOwnUrl(author.iconUrl), + proxy_icon_url: mediaProxyUrl(author.iconUrl), + }; + } + + private mapEmbedProvider(provider: EmbedProvider | null) { + if (!provider?.name) return null; + return { + name: provider.name, + url: signOwnUrl(provider.url), }; } diff --git a/fluxer_api/src/api/user/controllers/UserContentController.ts b/fluxer_api/src/api/user/controllers/UserContentController.ts index 91bb94969..9a2227e01 100644 --- a/fluxer_api/src/api/user/controllers/UserContentController.ts +++ b/fluxer_api/src/api/user/controllers/UserContentController.ts @@ -15,6 +15,7 @@ import {MessageListResponse} from '@fluxer/schema/src/domains/message/MessageRes import { HarvestArchiveResponse, HarvestCreationResponseSchema, + HarvestDownloadQuery, HarvestDownloadUrlResponse, HarvestStatusResponseSchema, HarvestStatusResponseSchemaNullable, @@ -282,6 +283,9 @@ export function UserContentController(app: HonoApp) { '/harvest-downloads/:harvestId', RateLimitMiddleware(RateLimitConfigs.USER_HARVEST_DOWNLOAD_FILE), Validator('param', HarvestIdParam), + Validator('query', HarvestDownloadQuery, (result, ctx) => + result.success ? undefined : ctx.text('Not Found', 404), + ), OpenAPI({ operationId: 'download_data_harvest_archive', summary: 'Download data harvest archive', @@ -295,10 +299,7 @@ export function UserContentController(app: HonoApp) { }), async (ctx) => { const {harvestId} = ctx.req.valid('param'); - const token = ctx.req.query('token'); - if (!token) { - return ctx.text('Not Found', 404); - } + const {token} = ctx.req.valid('query'); try { const result = await ctx.get('userContentRequestService').streamHarvestDownload({ harvestId, diff --git a/fluxer_api/src/api/user/tests/HarvestDownloadStreaming.test.ts b/fluxer_api/src/api/user/tests/HarvestDownloadStreaming.test.ts index d2e67638c..658846894 100644 --- a/fluxer_api/src/api/user/tests/HarvestDownloadStreaming.test.ts +++ b/fluxer_api/src/api/user/tests/HarvestDownloadStreaming.test.ts @@ -163,6 +163,30 @@ describe('Harvest download streaming', () => { const {harvestId} = await completedHarvest(harness); const response = await get(harness, `/harvest-downloads/${harvestId}`); expect(response.status).toBe(404); + expect(await response.text()).toBe('Not Found'); + }); + }); + + test.each([ + ['an empty token', '?token='], + ['a token longer than a download URL', `?token=${'a'.repeat(2049)}`], + ['a token given twice', '?token=a&token=b'], + ])('answers not found for %s', async (_label, query) => { + await withStreamingHarvestDownloads(async () => { + const {harvestId} = await completedHarvest(harness); + const response = await get(harness, `/harvest-downloads/${harvestId}${query}`); + expect(response.status).toBe(404); + expect(await response.text()).toBe('Not Found'); + }); + }); + + test('serves the archive when the link has other query parameters', async () => { + await withStreamingHarvestDownloads(async () => { + const {account, harvestId} = await completedHarvest(harness); + const download = await fetchHarvestDownload(harness, account.token, harvestId); + const response = await get(harness, `${downloadPath(download.download_url)}&source=email`); + expect(response.status).toBe(200); + expect(new Uint8Array(await response.arrayBuffer())).toEqual(ZIP_BYTES); }); }); }); diff --git a/fluxer_app/src/app/I18n.ts b/fluxer_app/src/app/I18n.ts index 811c8eac9..f7c16bebb 100644 --- a/fluxer_app/src/app/I18n.ts +++ b/fluxer_app/src/app/I18n.ts @@ -55,6 +55,7 @@ const LANGUAGE_OVERRIDES: Record = { en: 'en-US', es: 'es-ES', nb: 'no', + nn: 'no', pt: 'pt-BR', sv: 'sv-SE', zh: 'zh-CN', diff --git a/fluxer_app/src/features/app/components/layout/GuildsLayout.tsx b/fluxer_app/src/features/app/components/layout/GuildsLayout.tsx index e774168b1..fce51126d 100644 --- a/fluxer_app/src/features/app/components/layout/GuildsLayout.tsx +++ b/fluxer_app/src/features/app/components/layout/GuildsLayout.tsx @@ -86,6 +86,7 @@ import GuildListState, {type OrganizedItem} from '@app/features/guild/state/Guil import GuildReadState from '@app/features/guild/state/GuildReadState'; import HiddenGuildListButtons from '@app/features/guild/state/HiddenGuildListButtons'; import {PRIMARY_NAVIGATION_LANDMARK_DESCRIPTOR} from '@app/features/i18n/utils/CommonMessageDescriptors'; +import {preloadMacPermissionsModal} from '@app/features/permissions/system/commands/MacPermissionsModalCommands'; import {useLocation} from '@app/features/platform/components/router/RouterReact'; import {Platform} from '@app/features/platform/types/Platform'; import {ComponentBus} from '@app/features/platform/utils/ComponentBus'; @@ -2237,6 +2238,9 @@ export const GuildsLayout = observer(({children}: {children: React.ReactNode}) = if (!WhatsNew.shouldShow(latestEntry.id, latestEntry.date, user.createdAt)) return; openWhatsNewModal(); }, [isReady, user]); + useEffect(() => { + preloadMacPermissionsModal(); + }, []); const shouldShowSidebarDivider = !mobileLayout.enabled; return (
{countLabel}" msgstr "إعادات النشر: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "اختر ما تريد الإبلاغ عنه." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "اختر بلد إقامتك." @@ -30736,7 +30745,7 @@ msgstr "زر الإرسال" msgid "Send code" msgstr "إرسال الرمز" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "إرسال بلاغ DSA" @@ -31294,7 +31303,7 @@ msgstr "مشاركة السمة" msgid "Share voice activity with all friends?" msgstr "مشاركة النشاط الصوتي مع جميع الأصدقاء؟" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "شارك ما يحتاجه فريقنا لتقييم هذا الأمر." @@ -33176,7 +33185,7 @@ msgstr "بدء مصغر" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "الخطوة 3" msgid "Step 4" msgstr "الخطوة 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "الخطوة 5" @@ -34597,7 +34606,7 @@ msgstr "لم ينجح ذلك. حاول مرة أخرى أو ألغِ." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "لا يبدو هذا لونًا صالحًا. جرّب hex أو rgb() أو hsl() أو اسم لون CSS." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "لا يبدو هذا رابطًا صالحًا." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "تم تعيين علامات اسم المستخدم على هذه النسخة بالفعل. لا يمكن تغييرها بعد الآن." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "رمز التحقق غير صالح أو انتهت صلاحيته." @@ -35495,6 +35504,10 @@ msgstr "هذا المثيل يستخدم أسماء المستخدمين لتس msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "يسمح هذا المثيل حاليًا بمشاركة الشاشة بدقة تصل إلى 720p بمعدل 30 إطارًا في الثانية." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "هذا المثيل لا يستخدم البريد الإلكتروني، لذا لا يمكنه استقبال البلاغات عبر هذا النموذج. أبلِغ عن المحتوى من داخل التطبيق، أو تواصل مع مسؤولي هذا المثيل." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "تحويل درجات ألوان صور HDR إلى النطاق القياسي لتقليل ذروة السطوع." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "تم إرسال عدد كبير جدًا من الرموز. انتظر {duration} ثم حاول مرة أخرى." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "تصحيح أخطاء المستخدم" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "معرف المستخدم (اختياري)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "إعدادات المستخدم" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "علامة المستخدم (اختياري)" @@ -38626,8 +38639,10 @@ msgstr "مستوى صوت المستخدم" msgid "Username" msgstr "اسم المستخدم" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "اسم المستخدم (اختياري)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "يجب الموافقة على شروط الخدمة لإنشاء حساب" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "يجب عليك التحقق من بريدك الإلكتروني قبل إرسال بلاغ." 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 ffb332322..f12ae61ba 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 @@ -2809,6 +2809,9 @@ { "msgid": "Editing limit reached" }, + { + "msgid": "Email reports aren't available here" + }, { "msgid": "Emails to your current address are not being delivered. Enter a new email and we'll send a code there." }, @@ -3871,6 +3874,9 @@ { "msgid": "Report profile" }, + { + "msgid": "Reported user's username (optional)" + }, { "msgid": "Require a passkey as your second factor" }, @@ -4498,6 +4504,9 @@ { "msgid": "This instance already uses usernames to sign in. This can no longer change." }, + { + "msgid": "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." + }, { "msgid": "This invite is on {instanceName}, where you also have an account." }, diff --git a/fluxer_app/src/features/i18n/locales/bg/messages.po b/fluxer_app/src/features/i18n/locales/bg/messages.po index 2efab783f..5e368cd84 100644 --- a/fluxer_app/src/features/i18n/locales/bg/messages.po +++ b/fluxer_app/src/features/i18n/locales/bg/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# канал следва} other {# канала с msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {Намерена е # общност} other {Намерени са # общности}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# общност е временно недостъпна поради неизправност на флукс кондензатора.} other {# общности са временно недостъпни поради неизправност на флукс кондензатора.}}" @@ -5615,7 +5615,7 @@ msgstr "В момента ме няма" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Назад" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Избери премиум модела" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Избери причината отново" @@ -8804,7 +8804,7 @@ msgstr "Код от приложението {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Кодът е изпратен отново" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Икона на общността" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "ID на общността" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Изисква се ID на общността." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Потвърди паролата" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Потвърди изявлението, за да изпратиш сигнала." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Таймер за обратно броене" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Държава на пребиваване" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Имейл адрес" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Изисква се имейл адрес." @@ -14086,6 +14086,10 @@ msgstr "Имейлът е променен" msgid "Email delivery" msgstr "Доставка на имейли" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Сигнали по имейл не са налични тук" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Въведи код във формат ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Въведи валиден URL адрес или код на шаблон за {theOtherPlatform}." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Въведи валиден имейл адрес." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Въведи валиден линк към съобщение." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Въведи {digitCount}-цифрения код от приложението за удостоверяване." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Въведи кода, преди да продължиш." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Въведи имейл адреса си и ще ти изпратим линк за нулиране на паролата." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Въведи пълното си име по лична карта, за да изпратиш сигнала." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Изтича:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Обясни проблема" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Обясни проблема, за да изпратиш сигнала." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Неуспешно премахване на персонализирания URL адрес. Опитай отново." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Неуспешно повторно изпращане на кода. Опитай отново." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Неуспешно нулиране на премиум състоянието." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Неуспешно изпращане на кода. Опитай отново." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Неуспешно изпращане на съобщението. Задръж за опции." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Неуспешно изпращане на сигнала. Опитай отново." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Фински" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Име и фамилия" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Пълен динамичен обхват" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Пълно име по лична карта (по избор при сигнали за сексуално насилие над деца)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Назад" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Върни се и въведи валиден имейл." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Размислих" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Потвърждавам добросъвестно, че информацията и твърденията в това уведомление са точни и пълни." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Ако някой ти е казал да поставиш нещо тук, това е измама, която може да му даде достъп до акаунта ти в {productName}." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Ако смяташ, че е незаконно, посочи кой закон и защо." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Включи моите двуфакторни резервни кодове в PDF и разпечатка" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Въведи ID на общността." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Фон на поканата" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Код за покана (по избор)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "линк към съобщение" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Линк към съобщението" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Нови" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Ново" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Постави JSON отговора тук" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Постави линка към съобщението." @@ -26972,12 +26976,12 @@ msgstr "Местоимения: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Защити своя Visionary акаунт, като активираш двуфакторно удостоверяване. Благодарим ти, че подкрепяш {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Въведи поне ID на потребител или потребителски таг." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Въведи ID на потребител или потребителско име на човека, когото докладваш." @@ -28552,12 +28556,12 @@ msgstr "Подаване на сигнал за съобщение" msgid "Report a user profile" msgstr "Подаване на сигнал за потребителски профил" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Подробности за сигнала" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Подаване на сигнал за незаконно съдържание" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Тип на сигнала" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Таг на докладвания потребител (по избор)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Потребителско име на докладвания потребител (по избор)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Повторни публикации: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Избери какво искаш да докладваш." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Избери държавата си на пребиваване." @@ -30736,7 +30745,7 @@ msgstr "Бутон за изпращане" msgid "Send code" msgstr "Изпращане на код" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Изпращане на сигнал по DSA" @@ -31294,7 +31303,7 @@ msgstr "Споделяне на тема" msgid "Share voice activity with all friends?" msgstr "Да споделяш ли гласова активност с всички приятели?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Сподели какво е необходимо на екипа ни, за да прецени това." @@ -33176,7 +33185,7 @@ msgstr "Стартирай свит" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Стъпка 3" msgid "Step 4" msgstr "Стъпка 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Стъпка 5" @@ -34597,7 +34606,7 @@ msgstr "Не се получи. Опитай отново или откажи." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Това не прилича на валиден цвят. Опитай с шестнадесетичен код, rgb(), hsl() или име на CSS цвят." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Това не изглежда като валиден URL адрес." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Етикетите за потребителско име в този екземпляр вече са зададени. Те вече не могат да се променят." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Кодът за потвърждение е невалиден или е изтекъл." @@ -35495,6 +35504,10 @@ msgstr "Този инсталационен файл вече използва msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Тази инстанция в момента позволява споделяне на екран до 720p при 30 FPS." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Тази инстанция не използва имейл, затова не може да приема сигнали чрез тази форма. Подай сигнал за съдържание от приложението или се свържи с администраторите на тази инстанция." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Преобразуване на HDR изображения в стандартен диапазон, намалявайки пиковата яркост." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Изпратени са твърде много кодове. Изчакай {duration} и опитай отново." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Отстраняване на грешки за потребител" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "ID на потребителя (по избор)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Потребителски настройки" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Потребителски таг (по избор)" @@ -38626,8 +38639,10 @@ msgstr "Сила на звука на потребителя" msgid "Username" msgstr "Потребителско име" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Потребителско име (по избор)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Трябва да приемеш общите условия, за да създадеш акаунт" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Трябва да потвърдиш имейла си, преди да изпратиш сигнал." diff --git a/fluxer_app/src/features/i18n/locales/cs/messages.po b/fluxer_app/src/features/i18n/locales/cs/messages.po index 50acaf589..b8de96a36 100644 --- a/fluxer_app/src/features/i18n/locales/cs/messages.po +++ b/fluxer_app/src/features/i18n/locales/cs/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# kanál ho sleduje} other {# kanálů ho sleduje}} msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {Nalezena # komunita} few {Nalezeny # komunity} many {Nalezeno # komunity} other {Nalezeno # komunit}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# komunita je dočasně nedostupná kvůli poruše fluxkondenzátoru.} few {# komunity jsou dočasně nedostupné kvůli poruše fluxkondenzátoru.} many {# komunity je dočasně nedostupných kvůli poruše fluxkondenzátoru.} other {# komunit je dočasně nedostupných kvůli poruše fluxkondenzátoru.}}" @@ -5615,7 +5615,7 @@ msgstr "Momentálně pryč" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Zpět" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Vyberte prémiový model" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Zvolte důvod znovu" @@ -8804,7 +8804,7 @@ msgstr "Kód z aplikace {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Kód znovu odeslán" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Ikona komunity" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "ID komunity" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Je vyžadováno ID komunity." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Potvrďte heslo" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Potvrďte prohlášení pro odeslání nahlášení." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Odpočítávání" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Země bydliště" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "E-mailová adresa" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Je vyžadována e-mailová adresa." @@ -14086,6 +14086,10 @@ msgstr "E-mail změněn" msgid "Email delivery" msgstr "Doručování e-mailů" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Nahlášení e-mailem tu nejsou k dispozici" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Zadejte kód ve formátu ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Zadejte platnou URL nebo kód šablony platformy {theOtherPlatform}." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Zadejte platnou e-mailovou adresu." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Zadejte platný odkaz na zprávu." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Zadejte {digitCount}místný kód ze své ověřovací aplikace." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Před pokračováním zadejte kód." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Zadejte svou e-mailovou adresu a my vám pošleme odkaz pro resetování hesla." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Zadejte své celé jméno a příjmení pro odeslání nahlášení." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Vyprší:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Popište problém" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Popište problém pro odeslání nahlášení." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Nepodařilo se odebrat vlastní odkaz na pozvánku. Zkuste to znovu." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Kód se nepodařilo odeslat znovu. Zkuste to prosím znovu." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Nepodařilo se resetovat stav prémiového účtu." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Nepodařilo se odeslat kód. Zkuste to znovu." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Zprávu se nepodařilo odeslat. Podržením zobrazíte možnosti." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Nepodařilo se odeslat nahlášení. Zkuste to znovu." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Finština" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Jméno a příjmení" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Plný dynamický rozsah" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Celé jméno a příjmení (volitelné u nahlášení sexuálního zneužívání dětí)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Zpět" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Vraťte se a zadejte platný e-mail." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Rozmyslel(a) jsem si to" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Potvrzuji v dobré víře, že informace a tvrzení uvedená v tomto nahlášení jsou přesná a úplná." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Pokud vám někdo řekl, abyste sem něco vložili, je to podvod, který by mu mohl dát přístup k vašemu účtu {productName}." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Pokud se domníváte, že je to nelegální, uveďte, o jaký zákon se jedná a proč." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Zahrnout mé dvoufaktorové záložní kódy do PDF a tisku" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Zadejte ID komunity." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Pozadí pozvánky" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Kód pozvánky (volitelné)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "odkaz na zprávu" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Odkaz na zprávu" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Nové" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Nové" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Vložte sem odpověď JSON" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Vložte odkaz na zprávu." @@ -26972,12 +26976,12 @@ msgstr "Zájmena: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Chraňte svůj účet Visionary povolením dvoufaktorového ověřování. Děkujeme, že podporujete {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Zadejte alespoň ID uživatele nebo uživatelskou značku." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Zadejte ID uživatele nebo uživatelské jméno osoby, kterou nahlašujete." @@ -28552,12 +28556,12 @@ msgstr "Nahlásit zprávu" msgid "Report a user profile" msgstr "Nahlásit profil uživatele" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Podrobnosti nahlášení" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Nahlásit nelegální obsah" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Typ nahlášení" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Uživatelská značka nahlášeného uživatele (volitelné)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Uživatelské jméno nahlášeného uživatele (volitelné)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Znovuzveřejnění: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Vyberte, co chcete nahlásit." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Vyberte zemi svého pobytu." @@ -30736,7 +30745,7 @@ msgstr "Tlačítko Odeslat" msgid "Send code" msgstr "Odeslat kód" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Odeslat nahlášení podle DSA" @@ -31294,7 +31303,7 @@ msgstr "Sdílet motiv" msgid "Share voice activity with all friends?" msgstr "Sdílet hlasovou aktivitu se všemi přáteli?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Popište, co náš tým potřebuje k posouzení." @@ -33176,7 +33185,7 @@ 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:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Krok 3" msgid "Step 4" msgstr "Krok 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Krok 5" @@ -34597,7 +34606,7 @@ msgstr "To nefungovalo. Zkuste to znovu nebo zrušte." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Nevypadá to jako platná barva. Zkuste hex, rgb(), hsl() nebo název barvy CSS." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Nevypadá to jako platná adresa URL." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Názvy uživatelů na této instanci jsou již nastaveny. Nelze je již změnit." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Ověřovací kód je neplatný nebo vypršel." @@ -35495,6 +35504,10 @@ msgstr "Tato instance už k přihlášení používá uživatelská jména. To u 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Tato instance nepoužívá e-mail, takže přes tento formulář nemůže přijímat nahlášení. Nahlaste obsah přímo v aplikaci, nebo kontaktujte správce této instance." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Převést HDR snímky do standardního rozsahu, čímž se sníží maximální jas." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Bylo odesláno příliš mnoho kódů. Počkejte {duration} a zkuste to znovu." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Ladění uživatele" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "ID uživatele (volitelné)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Uživatelské nastavení" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Uživatelská značka (volitelné)" @@ -38626,8 +38639,10 @@ msgstr "Hlasitost uživatele" msgid "Username" msgstr "Uživatelské jméno" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Uživatelské jméno (volitelné)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Musíte souhlasit s podmínkami služby, abyste mohli vytvořit účet" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Před odesláním nahlášení musíte ověřit svůj e-mail." diff --git a/fluxer_app/src/features/i18n/locales/da/messages.po b/fluxer_app/src/features/i18n/locales/da/messages.po index 04f79933c..0207ca331 100644 --- a/fluxer_app/src/features/i18n/locales/da/messages.po +++ b/fluxer_app/src/features/i18n/locales/da/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# kanal følger} other {# kanaler følger}} denne k msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# fællesskab fundet} other {# fællesskaber fundet}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# fællesskab er midlertidigt utilgængeligt på grund af en fejl i fluxkondensatoren.} other {# fællesskaber er midlertidigt utilgængelige på grund af en fejl i fluxkondensatoren.}}" @@ -5615,7 +5615,7 @@ msgstr "Ikke til stede lige nu" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Tilbage" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Vælg premium-modellen" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Vælg årsagen igen" @@ -8804,7 +8804,7 @@ msgstr "Kode fra {productName}-appen" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Kode sendt igen" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Fællesskabsikon" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "Fællesskabs-ID" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Fællesskabs-ID er påkrævet." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Bekræft adgangskode" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Bekræft erklæringen for at sende anmeldelsen." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Nedtællingstimer" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Bopælsland" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "E-mailadresse" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "E-mailadresse er påkrævet." @@ -14086,6 +14086,10 @@ msgstr "E-mailadresse ændret" msgid "Email delivery" msgstr "E-mail-levering" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Anmeldelser via e-mail er ikke tilgængelige her" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Indtast en kode i formatet ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Indtast en gyldig skabelon-URL eller kode fra {theOtherPlatform}." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Indtast en gyldig e-mailadresse." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Angiv et gyldigt beskedslink." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Indtast den {digitCount}-cifrede kode fra din godkendelsesapp." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Indtast koden, før du fortsætter." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Indtast din e-mailadresse, så sender vi dig et link til at nulstille din adgangskode." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Indtast dit fulde officielle navn for at sende anmeldelsen." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Udløber:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Forklar problemet" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Forklar problemet for at sende anmeldelsen." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Kunne ikke fjerne det brugerdefinerede invitationslink. Prøv igen." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Kunne ikke sende kode igen. Prøv igen." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Kunne ikke nulstille premium-status." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Kunne ikke sende kode. Prøv igen." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Kunne ikke sende besked. Hold nede for muligheder." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Kunne ikke sende anmeldelsen. Prøv igen." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Finsk" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "For- og efternavn" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Fuldt dynamikområde" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Fulde officielle navn (valgfrit ved anmeldelser af seksuelle overgreb mod børn)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Gå tilbage" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Gå tilbage, og indtast en gyldig e-mailadresse." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Jeg har ombestemt mig" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Jeg bekræfter i god tro, at oplysningerne og påstandene i denne anmeldelse er nøjagtige og fuldstændige." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Hvis nogen bad dig om at indsætte noget her, er det et svindelnummer, der kan give dem adgang til din {productName}-konto." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Hvis du mener, at det er ulovligt, skal du angive, hvilken lov og hvorfor." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Inkluder mine to-faktor backup-koder i PDF'en og udskriften" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Inkluder fællesskabs-id'et." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Invitationsbaggrund" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Invitationskode (valgfrit)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "beskedlink" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Beskedlink" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Ny" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Ny" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Indsæt JSON-svaret her" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Indsæt linket til beskeden." @@ -26972,12 +26976,12 @@ msgstr "Pronominer: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Beskyt din Visionary-konto ved at aktivere tofaktorgodkendelse. Tak for din støtte til {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Angiv mindst et bruger-id eller et brugertag." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Angiv enten et bruger-id eller et brugernavn for den person, du anmelder." @@ -28552,12 +28556,12 @@ msgstr "Anmeld en besked" msgid "Report a user profile" msgstr "Anmeld en brugerprofil" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Oplysninger om anmeldelsen" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Anmeld ulovligt indhold" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Anmeldelsestype" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Den anmeldte brugers tag (valgfrit)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Den anmeldte brugers brugernavn (valgfrit)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Genopslag: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Vælg, hvad du vil anmelde." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Vælg dit bopælsland." @@ -30736,7 +30745,7 @@ msgstr "Send-knap" msgid "Send code" msgstr "Send kode" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Send DSA-anmeldelse" @@ -31294,7 +31303,7 @@ msgstr "Del tema" msgid "Share voice activity with all friends?" msgstr "Del taleaktivitet med alle venner?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Del, hvad vores team skal bruge for at vurdere dette." @@ -33176,7 +33185,7 @@ msgstr "Start minimeret" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Trin 3" msgid "Step 4" msgstr "Trin 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Trin 5" @@ -34597,7 +34606,7 @@ msgstr "Det virkede ikke. Prøv igen eller annuller." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Det ligner ikke en gyldig farve. Prøv hex, rgb(), hsl() eller et CSS-farvenavn." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Det ligner ikke en gyldig URL." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Brugernavnetags på denne instans er allerede indstillet. De kan ikke længere ændres." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Bekræftelseskoden er ugyldig eller udløbet." @@ -35495,6 +35504,10 @@ msgstr "Denne instans bruger allerede brugernavne til at logge ind. Dette kan ik 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Denne instans bruger ikke e-mail, så den kan ikke modtage anmeldelser via denne formular. Anmeld indhold inde fra appen, eller kontakt administratorerne af denne instans." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Tone-map HDR-billeder til standardområde, hvilket reducerer den maksimale lysstyrke." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Der er sendt for mange koder. Vent {duration}, og prøv igen." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Fejlfinding for bruger" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "Bruger-ID (valgfrit)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Brugerindstillinger" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Brugertag (valgfrit)" @@ -38626,8 +38639,10 @@ msgstr "Brugerens lydstyrke" msgid "Username" msgstr "Brugernavn" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Brugernavn (valgfrit)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Du skal acceptere servicevilkårene for at oprette en konto" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Du skal bekræfte din e-mail, før du kan sende en anmeldelse." diff --git a/fluxer_app/src/features/i18n/locales/de/messages.po b/fluxer_app/src/features/i18n/locales/de/messages.po index e445a133c..d94e5f0ed 100644 --- a/fluxer_app/src/features/i18n/locales/de/messages.po +++ b/fluxer_app/src/features/i18n/locales/de/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# Kanal folgt} other {# Kanäle folgen}} diesem Kan msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# Community gefunden} other {# Communitys gefunden}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# Community ist aufgrund einer Fehlfunktion des Fluxkompensators vorübergehend nicht verfügbar.} other {# Communitys sind aufgrund einer Fehlfunktion des Fluxkompensators vorübergehend nicht verfügbar.}}" @@ -5615,7 +5615,7 @@ msgstr "Gerade abwesend" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Zurück" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Wähle das Premium-Modell" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Wähle den Grund erneut" @@ -8804,7 +8804,7 @@ msgstr "Code aus der {productName}-App" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Code erneut gesendet" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Community-Icon" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "Community-ID" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Community-ID ist erforderlich." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Passwort bestätigen" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Bestätige die Aussage, um die Meldung zu senden." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Countdown-Timer" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Wohnsitzland" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "E-Mail-Adresse" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "E-Mail-Adresse erforderlich." @@ -14086,6 +14086,10 @@ msgstr "E-Mail-Adresse geändert" msgid "Email delivery" msgstr "E-Mail-Zustellung" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Meldungen per E-Mail sind hier nicht verfügbar" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Eingabe" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Gib einen Code im Format ABCD-1234 ein." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Gib eine gültige Vorlagen-URL oder einen gültigen Vorlagencode von {theOtherPlatform} ein." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Gib eine gültige E-Mail-Adresse ein." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Gib einen gültigen Nachrichtenlink ein." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Gib den {digitCount}-stelligen Code aus deiner Authenticator-App ein." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Gib den Code ein, um fortzufahren." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Gib deine E-Mail-Adresse ein, und wir senden dir einen Link zum Zurücksetzen deines Passworts." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Gib deinen vollständigen Namen laut Ausweis ein, um die Meldung zu senden." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Läuft ab:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Erkläre das Problem" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Erkläre das Problem, um die Meldung zu senden." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Fehler beim Entfernen der benutzerdefinierten URL. Bitte erneut versuchen." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Code konnte nicht erneut gesendet werden. Versuche es noch einmal." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Premium-Status konnte nicht zurückgesetzt werden." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Code konnte nicht gesendet werden. Versuche es erneut." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Nachricht konnte nicht gesendet werden. Für Optionen gedrückt halten." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Meldung konnte nicht gesendet werden. Versuche es noch einmal." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Finnisch" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Vor- und Nachname" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Voller Dynamikbereich" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Vollständiger Name laut Ausweis (optional bei Meldungen zu sexuellem Kindesmissbrauch)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Zurück" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Gehe zurück und gib eine gültige E-Mail-Adresse ein." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Ich habe es mir anders überlegt" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Ich bestätige in gutem Glauben, dass die Angaben und Behauptungen in dieser Meldung richtig und vollständig sind." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Wenn jemand dir gesagt hat, du sollst hier etwas einfügen, ist das eine Betrugsmasche, durch die diese Person Zugriff auf deinen {productName}-Account erhalten kann." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Wenn du glaubst, dass es illegal ist, nenne das Gesetz und den Grund." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Füge meine Zwei-Faktor-Backup-Codes in das PDF und den Ausdruck ein" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Gib die Community-ID an." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Hintergrund für Einladung" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Einladungscode (optional)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "Nachrichtenlink" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Nachrichtenlink" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Neu" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Neu" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "JSON-Antwort hier einfügen" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Nachrichtenlink einfügen." @@ -26972,12 +26976,12 @@ msgstr "Pronomen: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Schütze deinen Visionary-Account, indem du die Zwei-Faktor-Authentifizierung aktivierst. Vielen Dank für deine Unterstützung von {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Gib mindestens eine Nutzer-ID oder einen Nutzer-Tag an." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Gib entweder eine Nutzer-ID oder einen Nutzernamen der Person an, die du melden möchtest." @@ -28552,12 +28556,12 @@ msgstr "Nachricht melden" msgid "Report a user profile" msgstr "Nutzerprofil melden" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Details zur Meldung" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Illegale Inhalte melden" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Meldungstyp" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Gemeldeter Nutzer-Tag (optional)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Benutzername des gemeldeten Nutzers (optional)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Reposts: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Wähle aus, was du melden möchtest." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Wähle dein Wohnsitzland aus." @@ -30736,7 +30745,7 @@ msgstr "Senden-Taste" msgid "Send code" msgstr "Code senden" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "DSA-Meldung senden" @@ -31294,7 +31303,7 @@ msgstr "Design teilen" msgid "Share voice activity with all friends?" msgstr "Sprachaktivität mit allen Freunden teilen?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Teile mit, was unser Team zur Bewertung benötigt." @@ -33176,7 +33185,7 @@ msgstr "Minimiert starten" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Schritt 3" msgid "Step 4" msgstr "Schritt 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Schritt 5" @@ -34597,7 +34606,7 @@ msgstr "Das hat nicht funktioniert. Versuche es erneut oder brich ab." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Das sieht nicht nach einer gültigen Farbe aus. Versuche es mit Hex, rgb(), hsl() oder einem CSS-Farbnamen." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Das sieht nicht nach einer gültigen URL aus." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Die Benutzernamen-Tags auf dieser Instanz sind bereits festgelegt. Sie können nicht mehr geändert werden." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Der Bestätigungscode ist ungültig oder abgelaufen." @@ -35495,6 +35504,10 @@ msgstr "Diese Instanz verwendet bereits Benutzernamen für die Anmeldung. Dies k 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Diese Instanz verwendet keine E-Mail und kann deshalb keine Meldungen über dieses Formular annehmen. Melde Inhalte direkt in der App oder kontaktiere die Administratoren dieser Instanz." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "HDR-Bilder auf den Standardbereich tonemappen, wodurch die Spitzenhelligkeit reduziert wird." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Zu viele Codes gesendet. Warte {duration} und versuche es erneut." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Nutzer-Debug" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "Nutzer-ID (optional)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Benutzereinstellungen" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Nutzer-Tag (optional)" @@ -38626,8 +38639,10 @@ msgstr "Nutzerlautstärke" msgid "Username" msgstr "Benutzername" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Benutzername (optional)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Du musst den Nutzungsbedingungen zustimmen, um einen Account zu erstellen" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Du musst deine E-Mail-Adresse bestätigen, bevor du eine Meldung senden kannst." diff --git a/fluxer_app/src/features/i18n/locales/el/messages.po b/fluxer_app/src/features/i18n/locales/el/messages.po index c44d317de..51df4d035 100644 --- a/fluxer_app/src/features/i18n/locales/el/messages.po +++ b/fluxer_app/src/features/i18n/locales/el/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# κανάλι ακολουθεί} other {# καν msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# κοινότητα βρέθηκε} other {# κοινότητες βρέθηκαν}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# κοινότητα είναι προσωρινά μη διαθέσιμη λόγω δυσλειτουργίας του πυκνωτή ροής.} other {# κοινότητες είναι προσωρινά μη διαθέσιμες λόγω δυσλειτουργίας του πυκνωτή ροής.}}" @@ -5615,7 +5615,7 @@ msgstr "Απών τώρα" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Πίσω" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Επιλέξτε το μοντέλο premium" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Επιλέξτε ξανά τον λόγο" @@ -8804,7 +8804,7 @@ msgstr "Κωδικός από την εφαρμογή {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Ο κωδικός στάλθηκε ξανά" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Εικονίδιο κοινότητας" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "Αναγνωριστικό κοινότητας" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Απαιτείται αναγνωριστικό κοινότητας." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Επιβεβαίωση κωδικού πρόσβασης" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Επιβεβαιώστε τη δήλωση για να στείλετε την αναφορά." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Χρονόμετρο αντίστροφης μέτρησης" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Χώρα διαμονής" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Διεύθυνση email" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Απαιτείται διεύθυνση email." @@ -14086,6 +14086,10 @@ msgstr "Το email άλλαξε" msgid "Email delivery" msgstr "Παράδοση email" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Οι αναφορές μέσω email δεν είναι διαθέσιμες εδώ" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Εισαγάγετε έναν κωδικό με τη μορφή ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Εισαγάγετε μια έγκυρη διεύθυνση URL ή κωδικό προτύπου {theOtherPlatform}." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Εισαγάγετε μια έγκυρη διεύθυνση email." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Εισαγάγετε έναν έγκυρο σύνδεσμο μηνύματος." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Εισαγάγετε τον κωδικό {digitCount} ψηφίων από την εφαρμογή ελέγχου ταυτότητας." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Εισάγετε τον κωδικό πριν συνεχίσετε." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Εισάγετε το email σας και θα σας στείλουμε έναν σύνδεσμο για να επαναφέρετε τον κωδικό πρόσβασής σας." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Εισάγετε το πλήρες νόμιμο όνομά σας για να στείλετε την αναφορά." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Λήγει:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Εξηγήστε το πρόβλημα" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Εξηγήστε το πρόβλημα για να στείλετε την αναφορά." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Αποτυχία κατάργησης προσαρμοσμένου URL. Δοκιμάστε ξανά." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Αποτυχία επανάληψης αποστολής κωδικού. Δοκιμάστε ξανά." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Αποτυχία επαναφοράς της κατάστασης premium." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Αποτυχία αποστολής κωδικού. Δοκιμάστε ξανά." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Αποτυχία αποστολής μηνύματος. Πατήστε παρατεταμένα για επιλογές." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Αποτυχία αποστολής αναφοράς. Δοκιμάστε ξανά." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Φινλανδικά" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Όνομα και επίθετο" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Πλήρες δυναμικό εύρος" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Πλήρες νόμιμο όνομα (προαιρετικό για αναφορές παιδικής σεξουαλικής κακοποίησης)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Πίσω" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Επιστρέψτε και εισαγάγετε ένα έγκυρο email." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Άλλαξα γνώμη" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Επιβεβαιώνω καλή τη πίστει ότι οι πληροφορίες και οι ισχυρισμοί σε αυτήν την αναφορά είναι ακριβείς και πλήρεις." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Εάν κάποιος σας ζήτησε να επικολλήσετε κάτι εδώ, είναι μια απάτη που μπορεί να τους δώσει πρόσβαση στον λογαριασμό σας στο {productName}." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Αν πιστεύετε ότι είναι παράνομο, αναφέρετε ποιον νόμο και γιατί." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Συμπερίλαβε τους κωδικούς επαλήθευσης δύο παραγόντων στο PDF και την εκτύπωση" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Συμπεριλάβετε το αναγνωριστικό κοινότητας." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Φόντο πρόσκλησης" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Κωδικός πρόσκλησης (προαιρετικό)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "σύνδεσμος μηνύματος" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Σύνδεσμος μηνύματος" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Νέα" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Νέο" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Επικολλήστε την απόκριση JSON εδώ" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Επικολλήστε τον σύνδεσμο μηνύματος." @@ -26972,12 +26976,12 @@ msgstr "Αντωνυμίες: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Προστατέψτε τον λογαριασμό σας Visionary, ενεργοποιώντας τον έλεγχο ταυτότητας δύο παραγόντων. Σας ευχαριστούμε που υποστηρίζετε το {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Δώστε τουλάχιστον ένα αναγνωριστικό χρήστη ή μια ετικέτα χρήστη." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Δώστε είτε το αναγνωριστικό χρήστη είτε το όνομα χρήστη του ατόμου που αναφέρετε." @@ -28552,12 +28556,12 @@ msgstr "Αναφορά μηνύματος" msgid "Report a user profile" msgstr "Αναφορά προφίλ χρήστη" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Λεπτομέρειες αναφοράς" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Αναφορά παράνομου περιεχομένου" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Τύπος αναφοράς" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Ετικέτα αναφερόμενου χρήστη (προαιρετικό)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Όνομα χρήστη αναφερόμενου χρήστη (προαιρετικό)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Αναδημοσιεύσεις: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Επιλέξτε τι θέλετε να αναφέρετε." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Επιλέξτε τη χώρα διαμονής σας." @@ -30736,7 +30745,7 @@ msgstr "Κουμπί αποστολής" msgid "Send code" msgstr "Αποστολή κωδικού" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Αποστολή αναφοράς DSA" @@ -31294,7 +31303,7 @@ msgstr "Κοινοποίηση θέματος" msgid "Share voice activity with all friends?" msgstr "Κοινοποίηση της φωνητικής δραστηριότητας σε όλους τους φίλους;" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Μοιραστείτε ό,τι χρειάζεται η ομάδα μας για να το αξιολογήσει." @@ -33176,7 +33185,7 @@ msgstr "Έναρξη ελαχιστοποιημένο" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Βήμα 3" msgid "Step 4" msgstr "Βήμα 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Βήμα 5" @@ -34597,7 +34606,7 @@ msgstr "Αυτό δεν λειτούργησε. Δοκιμάστε ξανά ή msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Αυτό δεν μοιάζει με έγκυρο χρώμα. Δοκιμάστε hex, rgb(), hsl() ή ένα όνομα χρώματος CSS." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Αυτό δεν μοιάζει με έγκυρη διεύθυνση URL." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Οι ετικέτες ονόματος χρήστη σε αυτήν την παρουσία έχουν ήδη οριστεί. Δεν μπορούν πλέον να αλλάξουν." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Ο κωδικός επαλήθευσης δεν είναι έγκυρος ή έχει λήξει." @@ -35495,6 +35504,10 @@ msgstr "Αυτή η παρουσία χρησιμοποιεί ήδη ονόμα msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Αυτή η παρουσία αυτήν τη στιγμή επιτρέπει κοινή χρήση οθόνης έως 720p στα 30 FPS." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Αυτή η παρουσία δεν χρησιμοποιεί email, οπότε δεν μπορεί να δεχτεί αναφορές μέσω αυτής της φόρμας. Αναφέρετε περιεχόμενο μέσα από την εφαρμογή ή επικοινωνήστε με τους διαχειριστές αυτής της παρουσίας." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Τονική προσαρμογή των εικόνων HDR στο τυπικό εύρος, με μείωση της μέγιστης φωτεινότητας." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Στάλθηκαν πάρα πολλοί κωδικοί. Περιμένετε {duration} και δοκιμάστε ξανά." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Εντοπισμός σφαλμάτων χρήστη" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "Αναγνωριστικό χρήστη (προαιρετικό)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Ρυθμίσεις χρήστη" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Ετικέτα χρήστη (προαιρετικό)" @@ -38626,8 +38639,10 @@ msgstr "Ένταση χρήστη" msgid "Username" msgstr "Όνομα χρήστη" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Όνομα χρήστη (προαιρετικό)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Πρέπει να συμφωνήσετε με τους όρους παροχής υπηρεσιών για να δημιουργήσετε λογαριασμό" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Πρέπει να επαληθεύσετε το email σας πριν στείλετε μια αναφορά." 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 4d6d9222f..00be7626c 100644 --- a/fluxer_app/src/features/i18n/locales/en-GB/messages.po +++ b/fluxer_app/src/features/i18n/locales/en-GB/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# channel follows} other {# channels follow}} this msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# community found} other {# communities found}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" @@ -5617,7 +5617,7 @@ msgstr "Away right now" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Back" @@ -8071,7 +8071,7 @@ msgid "Choose the premium model" msgstr "Choose the premium model" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Choose the reason again" @@ -8806,7 +8806,7 @@ msgstr "Code from the {productName} app" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Code resent" @@ -9097,11 +9097,11 @@ msgid "Community icon" msgstr "Community icon" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "Community ID" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Community ID is required." @@ -9453,7 +9453,7 @@ msgid "Confirm password" msgstr "Confirm password" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Confirm the statement to send the report." @@ -10905,7 +10905,7 @@ msgid "Countdown timer" msgstr "Countdown timer" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Country of residence" @@ -14072,7 +14072,7 @@ msgid "Email address" msgstr "Email address" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Email address required." @@ -14088,6 +14088,10 @@ msgstr "Email changed" msgid "Email delivery" msgstr "Email delivery" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Email reports aren't available here" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14669,7 +14673,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Enter a code in the format ABCD-1234." @@ -14714,12 +14718,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Enter a valid {theOtherPlatform} template URL or code." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Enter a valid email address." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Enter a valid message link." @@ -14793,7 +14797,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Enter the {digitCount}-digit code from your authenticator app." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Enter the code before continuing." @@ -14870,7 +14874,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Enter your email address and we'll send you a link to reset your password." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Enter your full legal name to send the report." @@ -15270,12 +15274,12 @@ msgid "Expires:" msgstr "Expires:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Explain the problem" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Explain the problem to send the report." @@ -15591,7 +15595,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Failed to remove vanity URL. Try again." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Failed to resend code. Try again." @@ -15601,7 +15605,7 @@ msgid "Failed to reset premium state." msgstr "Failed to reset premium state." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Failed to send code. Try again." @@ -15616,7 +15620,7 @@ msgid "Failed to send message. Hold for options." msgstr "Failed to send message. Hold for options." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Failed to send report. Try again." @@ -16029,7 +16033,7 @@ msgid "Finnish" msgstr "Finnish" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "First and last name" @@ -16692,7 +16696,7 @@ msgid "Full dynamic range" msgstr "Full dynamic range" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Full legal name (optional for child sexual abuse reports)" @@ -17233,7 +17237,7 @@ msgid "Go back" msgstr "Go back" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Go back and enter a valid email." @@ -18215,7 +18219,7 @@ msgid "I changed my mind" msgstr "I changed my mind" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "I confirm in good faith that the information and allegations in this notice are accurate and complete." @@ -18301,7 +18305,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "If someone told you to paste something here, it is a scam that can hand them your {productName} account." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "If you believe it is illegal, say which law and why." @@ -18714,7 +18718,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Include my two-factor backup codes in the PDF and printout" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Include the community ID." @@ -19154,7 +19158,7 @@ msgid "Invite background" msgstr "Invite background" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Invite code (optional)" @@ -21827,7 +21831,7 @@ msgid "message link" msgstr "message link" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Message link" @@ -23122,7 +23126,7 @@ msgid "New" msgstr "New" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "New" @@ -25656,7 +25660,7 @@ msgid "Paste the JSON response here" msgstr "Paste the JSON response here" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Paste the message link." @@ -26974,12 +26978,12 @@ msgstr "Pronouns: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Provide at least a user ID or a user tag." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Provide either a user ID or a username for the person you are reporting." @@ -28554,12 +28558,12 @@ msgstr "Report a message" msgid "Report a user profile" msgstr "Report a user profile" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Report details" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Report illegal content" @@ -28591,10 +28595,15 @@ msgid "Report type" msgstr "Report type" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Reported user tag (optional)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Reported user's username (optional)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Reposts: <0>{countLabel}" @@ -30584,7 +30593,7 @@ msgid "Select what you want to report." msgstr "Select what you want to report." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Select your country of residence." @@ -30738,7 +30747,7 @@ msgstr "Send button" msgid "Send code" msgstr "Send code" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Send DSA report" @@ -31296,7 +31305,7 @@ msgstr "Share theme" msgid "Share voice activity with all friends?" msgstr "Share voice activity with all friends?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Share what our team needs to assess this." @@ -33178,7 +33187,7 @@ msgstr "Start minimised" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33320,7 +33329,7 @@ msgstr "Step 3" msgid "Step 4" msgstr "Step 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Step 5" @@ -34599,7 +34608,7 @@ msgstr "That didn’t work. Try again or cancel." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "That doesn't look like a valid colour. Try hex, rgb(), hsl(), or a CSS colour name." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "That doesn't look like a valid URL." @@ -34920,7 +34929,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "The username tags on this instance are already set. They can no longer be changed." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "The verification code is invalid or expired." @@ -35497,6 +35506,10 @@ msgstr "This instance already uses usernames to sign in. This can no longer chan 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36340,7 +36353,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Tone-map HDR images to standard range, reducing peak brightness." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Too many codes sent. Wait {duration} and try again." @@ -38548,7 +38561,7 @@ msgid "User debug" msgstr "User debug" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "User ID (optional)" @@ -38608,7 +38621,7 @@ msgid "User settings" msgstr "User settings" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "User tag (optional)" @@ -38628,8 +38641,10 @@ msgstr "User volume" msgid "Username" msgstr "Username" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Username (optional)" @@ -41108,7 +41123,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "You must agree to the terms of service to create an account" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "You must verify your email before sending a report." 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 b1f775fdf..df5e8e11b 100644 --- a/fluxer_app/src/features/i18n/locales/en-US/messages.po +++ b/fluxer_app/src/features/i18n/locales/en-US/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# channel follows} other {# channels follow}} this msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# community found} other {# communities found}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" @@ -5615,7 +5615,7 @@ msgstr "Away right now" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Back" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Choose the premium model" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Choose the reason again" @@ -8804,7 +8804,7 @@ msgstr "Code from the {productName} app" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Code resent" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Community icon" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "Community ID" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Community ID is required." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Confirm password" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Confirm the statement to send the report." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Countdown timer" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Country of residence" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Email address" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Email address required." @@ -14086,6 +14086,10 @@ msgstr "Email changed" msgid "Email delivery" msgstr "Email delivery" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Email reports aren't available here" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Enter a code in the format ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Enter a valid {theOtherPlatform} template URL or code." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Enter a valid email address." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Enter a valid message link." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Enter the {digitCount}-digit code from your authenticator app." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Enter the code before continuing." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Enter your email address and we'll send you a link to reset your password." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Enter your full legal name to send the report." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Expires:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Explain the problem" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Explain the problem to send the report." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Failed to remove vanity URL. Try again." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Failed to resend code. Try again." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Failed to reset premium state." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Failed to send code. Try again." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Failed to send message. Hold for options." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Failed to send report. Try again." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Finnish" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "First and last name" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Full dynamic range" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Full legal name (optional for child sexual abuse reports)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Go back" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Go back and enter a valid email." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "I changed my mind" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "I confirm in good faith that the information and allegations in this notice are accurate and complete." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "If someone told you to paste something here, it is a scam that can hand them your {productName} account." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "If you believe it is illegal, say which law and why." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Include my two-factor backup codes in the PDF and printout" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Include the community ID." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Invite background" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Invite code (optional)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "message link" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Message link" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "New" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "New" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Paste the JSON response here" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Paste the message link." @@ -26972,12 +26976,12 @@ msgstr "Pronouns: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Provide at least a user ID or a user tag." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Provide either a user ID or a username for the person you are reporting." @@ -28552,12 +28556,12 @@ msgstr "Report a message" msgid "Report a user profile" msgstr "Report a user profile" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Report details" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Report illegal content" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Report type" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Reported user tag (optional)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Reported user's username (optional)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Reposts: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Select what you want to report." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Select your country of residence." @@ -30736,7 +30745,7 @@ msgstr "Send button" msgid "Send code" msgstr "Send code" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Send DSA report" @@ -31294,7 +31303,7 @@ msgstr "Share theme" msgid "Share voice activity with all friends?" msgstr "Share voice activity with all friends?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Share what our team needs to assess this." @@ -33176,7 +33185,7 @@ msgstr "Start minimized" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Step 3" msgid "Step 4" msgstr "Step 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Step 5" @@ -34597,7 +34606,7 @@ msgstr "That didn't work. Try again or cancel." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "That doesn't look like a valid URL." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "The username tags on this instance are already set. They can no longer change." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "The verification code is invalid or expired." @@ -35495,6 +35504,10 @@ msgstr "This instance already uses usernames to sign in. This can no longer chan 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Tone-map HDR images to standard range, reducing peak brightness." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Too many codes sent. Wait {duration} and try again." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "User debug" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "User ID (optional)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "User settings" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "User tag (optional)" @@ -38626,8 +38639,10 @@ msgstr "User volume" msgid "Username" msgstr "Username" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Username (optional)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "You must agree to the terms of service to create an account" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "You must verify your email before sending a report." 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 23fc3d686..c5d2ea3f5 100644 --- a/fluxer_app/src/features/i18n/locales/es-419/messages.po +++ b/fluxer_app/src/features/i18n/locales/es-419/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# canal lo sigue} other {# canales lo siguen}} en e msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# comunidad encontrada} other {# comunidades encontradas}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# comunidad no está disponible temporalmente debido a una falla en el condensador de flujo.} other {# comunidades no están disponibles temporalmente debido a una falla en el condensador de flujo.}}" @@ -5615,7 +5615,7 @@ msgstr "Ausente en este momento" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Atrás" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Elige el modelo premium" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Vuelve a elegir el motivo" @@ -8804,7 +8804,7 @@ msgstr "Código de la app {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Código reenviado" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Ícono de la comunidad" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "ID de la comunidad" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Se requiere el ID de la comunidad." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Confirmar contraseña" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Confirma la declaración para enviar el reporte." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Temporizador de cuenta regresiva" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "País de residencia" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Correo electrónico" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Se requiere una dirección de correo electrónico." @@ -14086,6 +14086,10 @@ msgstr "Correo electrónico cambiado" msgid "Email delivery" msgstr "Entrega de correo electrónico" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Los reportes por correo electrónico no están disponibles aquí" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Intro" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Ingresa un código con el formato ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Ingresa una URL o un código válido de una plantilla de {theOtherPlatform}." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Ingresa una dirección de correo electrónico válida." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Ingresa un enlace de mensaje válido." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Ingresa el código de {digitCount} dígitos de tu aplicación de autenticación." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Ingresa el código antes de continuar." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Ingresa tu correo electrónico y te enviaremos un enlace para restablecer tu contraseña." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Ingresa tu nombre legal completo para enviar el reporte." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Vence:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Explica el problema" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Explica el problema para enviar el reporte." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "No se pudo eliminar la URL personalizada. Inténtalo de nuevo." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "No se pudo reenviar el código. Intenta de nuevo." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "No se pudo restablecer el estado premium." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "No se pudo enviar el código. Intenta de nuevo." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "No se pudo enviar el mensaje. Mantén presionado para ver las opciones." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "No se pudo enviar el reporte. Intenta de nuevo." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Finlandés" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Nombre y apellido" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Rango dinámico completo" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Nombre legal completo (opcional para reportes de abuso sexual infantil)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Volver" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Vuelve e ingresa un correo electrónico válido." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Cambié de opinión" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Confirmo de buena fe que la información y las alegaciones de este aviso son precisas y completas." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Si alguien te dijo que pegaras algo aquí, es una estafa que podría darle acceso a tu cuenta de {productName}." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Si crees que es ilegal, indica qué ley y por qué." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Incluir mis códigos de respaldo de dos factores en el PDF y la impresión" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Incluye el ID de la comunidad." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Fondo de invitación" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Código de invitación (opcional)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "enlace del mensaje" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Enlace del mensaje" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Nuevo" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Nuevo" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Pega la respuesta JSON aquí" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Pega el enlace del mensaje." @@ -26972,12 +26976,12 @@ msgstr "Pronombres: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Protege tu cuenta Visionary activando la autenticación de dos factores. ¡Gracias por apoyar a {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Proporciona al menos un ID de usuario o una etiqueta de usuario." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Proporciona el ID de usuario o el nombre de usuario de la persona que quieres reportar." @@ -28552,12 +28556,12 @@ msgstr "Reportar un mensaje" msgid "Report a user profile" msgstr "Reportar un perfil de usuario" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Detalles del reporte" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Reportar contenido ilegal" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Tipo de reporte" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Etiqueta del usuario reportado (opcional)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Nombre de usuario del usuario reportado (opcional)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Republicaciones: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Selecciona qué quieres reportar." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Selecciona tu país de residencia." @@ -30736,7 +30745,7 @@ msgstr "Botón de enviar" msgid "Send code" msgstr "Enviar código" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Enviar reporte DSA" @@ -31294,7 +31303,7 @@ msgstr "Compartir tema" msgid "Share voice activity with all friends?" msgstr "¿Compartir actividad de voz con todos los amigos?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Comparte lo que nuestro equipo necesita para evaluar esto." @@ -33176,7 +33185,7 @@ msgstr "Empezar minimizado" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Paso 3" msgid "Step 4" msgstr "Paso 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Paso 5" @@ -34597,7 +34606,7 @@ msgstr "Eso no funcionó. Intenta de nuevo o cancela." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "No parece un color válido. Prueba con hexadecimal, rgb(), hsl() o un nombre de color CSS." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Parece que no es una URL válida." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Las etiquetas de nombre de usuario en esta instancia ya están configuradas. Ya no se pueden cambiar." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "El código de verificación no es válido o ha caducado." @@ -35495,6 +35504,10 @@ msgstr "Esta instancia ya usa nombres de usuario para iniciar sesión. Esto ya n 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Esta instancia no usa correo electrónico, así que no puede recibir reportes a través de este formulario. Reporta contenido desde la app o contacta a los administradores de esta instancia." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Mapear el tono de las imágenes HDR al rango estándar, reduciendo el brillo máximo." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Se enviaron demasiados códigos. Espera {duration} e intenta de nuevo." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Depurar usuario" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "ID de usuario (opcional)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Configuración de usuario" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Etiqueta de usuario (opcional)" @@ -38626,8 +38639,10 @@ msgstr "Volumen del usuario" msgid "Username" msgstr "Nombre de usuario" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Nombre de usuario (opcional)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Debes aceptar los Términos del servicio para crear una cuenta" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Debes verificar tu correo electrónico antes de enviar un reporte." 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 1b58c9a78..ffdc1064c 100644 --- a/fluxer_app/src/features/i18n/locales/es-ES/messages.po +++ b/fluxer_app/src/features/i18n/locales/es-ES/messages.po @@ -1093,7 +1093,7 @@ msgstr "Sigue este canal {count, plural, one {# canal} other {# canales}}. Conve msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# comunidad encontrada} other {# comunidades encontradas}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# comunidad no está disponible temporalmente debido a un fallo en el condensador de flujo.} other {# comunidades no están disponibles temporalmente debido a un fallo en el condensador de flujo.}}" @@ -5615,7 +5615,7 @@ msgstr "Ausente ahora mismo" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Atrás" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Elige el modelo premium" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Vuelve a elegir el motivo" @@ -8804,7 +8804,7 @@ msgstr "Código de la aplicación {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Código reenviado" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Icono de la comunidad" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "ID de la comunidad" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Se requiere el ID de la comunidad." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Confirmar contraseña" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Confirma la declaración para enviar la denuncia." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Temporizador de cuenta atrás" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "País de residencia" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Dirección de correo electrónico" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Se requiere una dirección de correo electrónico." @@ -14086,6 +14086,10 @@ msgstr "Correo electrónico cambiado" msgid "Email delivery" msgstr "Entrega de correo electrónico" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Las denuncias por correo electrónico no están disponibles aquí" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Intro" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Introduce un código con el formato ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Introduce una URL o código de plantilla de {theOtherPlatform} válido." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Introduce una dirección de correo electrónico válida." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Introduce un enlace de mensaje válido." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Introduce el código de {digitCount} dígitos de tu aplicación de autenticación." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Introduce el código antes de continuar." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Introduce tu dirección de correo electrónico y te enviaremos un enlace para restablecer tu contraseña." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Introduce tu nombre legal completo para enviar la denuncia." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Caduca:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Explica el problema" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Explica el problema para enviar la denuncia." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "No se pudo eliminar la URL personalizada. Inténtalo de nuevo." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "No se ha podido reenviar el código. Inténtalo de nuevo." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "No se pudo restablecer el estado premium." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "No se ha podido enviar el código. Inténtalo de nuevo." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "No se pudo enviar el mensaje. Mantén pulsado para ver las opciones." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "No se ha podido enviar la denuncia. Inténtalo de nuevo." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Finlandés" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Nombre y apellidos" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Rango dinámico completo" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Nombre legal completo (opcional para denuncias de abuso sexual infantil)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Volver" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Vuelve e introduce un correo electrónico válido." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "He cambiado de opinión" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Confirmo de buena fe que la información y las alegaciones de esta denuncia son exactas y completas." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Si alguien te pide que pegues algo aquí, es una estafa y podrían obtener acceso a tu cuenta de {productName}." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Si crees que es ilegal, indica qué ley y por qué." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Incluir mis códigos de copia de seguridad de dos factores en el PDF y la impresión" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Incluye el ID de la comunidad." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Fondo de invitación" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Código de invitación (opcional)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "enlace del mensaje" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Enlace del mensaje" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Nuevo" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Nuevo" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Pega la respuesta JSON aquí" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Pega el enlace del mensaje." @@ -26972,12 +26976,12 @@ msgstr "Pronombres: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Protege tu cuenta Visionary activando la autenticación de dos factores. ¡Gracias por apoyar a {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Proporciona al menos un ID de usuario o una etiqueta de usuario." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Introduce el ID de usuario o el nombre de usuario de la persona a la que quieres denunciar." @@ -28552,12 +28556,12 @@ msgstr "Denunciar un mensaje" msgid "Report a user profile" msgstr "Denunciar un perfil de usuario" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Detalles de la denuncia" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Denunciar contenido ilegal" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Tipo de denuncia" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Etiqueta del usuario denunciado (opcional)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Nombre de usuario del usuario denunciado (opcional)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Republicaciones: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Selecciona qué quieres denunciar." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Selecciona tu país de residencia." @@ -30736,7 +30745,7 @@ msgstr "Botón de enviar" msgid "Send code" msgstr "Enviar código" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Enviar denuncia DSA" @@ -31294,7 +31303,7 @@ msgstr "Compartir tema" msgid "Share voice activity with all friends?" msgstr "¿Compartir la actividad de voz con todos los amigos?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Comparte lo que nuestro equipo necesita para evaluar esto." @@ -33176,7 +33185,7 @@ msgstr "Iniciar minimizado" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Paso 3" msgid "Step 4" msgstr "Paso 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Paso 5" @@ -34597,7 +34606,7 @@ msgstr "No ha funcionado. Inténtalo de nuevo o cancela." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "No parece un color válido. Prueba con un código hexadecimal, rgb(), hsl() o un nombre de color CSS." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "No parece una URL válida." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Las etiquetas de nombre de usuario de esta instancia ya están configuradas. Ya no se pueden cambiar." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "El código de verificación no es válido o ha caducado." @@ -35495,6 +35504,10 @@ msgstr "Esta instancia ya usa nombres de usuario para iniciar sesión. Esto ya n 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Esta instancia no usa correo electrónico, así que no puede recibir denuncias a través de este formulario. Denuncia contenido desde la aplicación o contacta con los administradores de esta instancia." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Mapea el tono de las imágenes HDR al rango estándar, reduciendo el brillo máximo." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Se han enviado demasiados códigos. Espera {duration} e inténtalo de nuevo." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Depurar usuario" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "ID de usuario (opcional)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Ajustes de usuario" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Etiqueta de usuario (opcional)" @@ -38626,8 +38639,10 @@ msgstr "Volumen del usuario" msgid "Username" msgstr "Nombre de usuario" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Nombre de usuario (opcional)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Debes aceptar las Condiciones del servicio para crear una cuenta" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Debes verificar tu correo electrónico antes de enviar una denuncia." diff --git a/fluxer_app/src/features/i18n/locales/fi/messages.po b/fluxer_app/src/features/i18n/locales/fi/messages.po index 4c0272d9e..f3a1ed344 100644 --- a/fluxer_app/src/features/i18n/locales/fi/messages.po +++ b/fluxer_app/src/features/i18n/locales/fi/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# kanava seuraa} other {# kanavaa seuraa}} tämän msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# yhteisö löytyi} other {# yhteisöä löytyi}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# yhteisö on tilapäisesti pois käytöstä toimintahäiriön vuoksi.} other {# yhteisöä on tilapäisesti pois käytöstä toimintahäiriön vuoksi.}}" @@ -5615,7 +5615,7 @@ msgstr "Poissa juuri nyt" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Takaisin" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Valitse premium-malli" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Valitse syy uudelleen" @@ -8804,7 +8804,7 @@ msgstr "Koodi sovelluksesta {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Koodi lähetetty uudelleen" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Yhteisön kuvake" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "Yhteisön tunnus" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Yhteisön tunnus on pakollinen." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Vahvista salasana" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Vahvista vakuutus lähettääksesi ilmoituksen." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Ajastin" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Asuinmaa" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Sähköpostiosoite" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Sähköpostiosoite vaaditaan." @@ -14086,6 +14086,10 @@ msgstr "Sähköpostiosoite vaihdettu" msgid "Email delivery" msgstr "Sähköpostin lähetys" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Ilmoitukset sähköpostilla eivät ole käytettävissä täällä" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Anna koodi muodossa ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Anna kelvollinen {theOtherPlatform}-mallin URL-osoite tai koodi." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Anna kelvollinen sähköpostiosoite." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Anna kelvollinen viestilinkki." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Syötä todennussovelluksesi {digitCount}-numeroinen koodi." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Syötä koodi ennen jatkamista." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Anna sähköpostiosoitteesi, niin lähetämme sinulle linkin salasanan vaihtamista varten." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Syötä koko virallinen nimesi lähettääksesi ilmoituksen." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Vanhenee:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Selitä ongelma" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Selitä ongelma lähettääksesi ilmoituksen." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Mukautetun URL-osoitteen poistaminen epäonnistui. Yritä uudelleen." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Koodin uudelleenlähetys epäonnistui. Yritä uudelleen." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Premium-tilan nollaus epäonnistui." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Koodin lähetys epäonnistui. Yritä uudelleen." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Viestin lähetys epäonnistui. Paina pitkään nähdäksesi vaihtoehdot." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Raportin lähettäminen epäonnistui. Yritä uudelleen." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "suomi" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Etunimi ja sukunimi" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Täysi dynaaminen alue" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Koko virallinen nimi (valinnainen lasten seksuaalista hyväksikäyttöä koskevissa ilmoituksissa)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Takaisin" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Palaa ja anna kelvollinen sähköpostiosoite." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Muutin mieleni" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Vahvistan vilpittömässä mielessä, että tämän ilmoituksen tiedot ja väitteet ovat paikkansapitäviä ja täydellisiä." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Jos joku pyysi sinua liittämään jotain tänne, se on huijaus, jonka avulla he voivat saada pääsyn {productName}-tiliisi." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Jos uskot sen olevan laitonta, kerro, mikä laki on kyseessä ja miksi." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Sisällytä kaksivaiheiset varmuuskoodini PDF-tiedostoon ja tulosteeseen" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Anna yhteisön tunnus." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Kutsun taustakuva" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Kutsukoodi (valinnainen)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "viestilinkki" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Viestilinkki" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Uudet" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Uusi" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Liitä JSON-vastaus tähän" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Liitä viestin linkki." @@ -26972,12 +26976,12 @@ msgstr "Pronominit: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Suojaa Visionary-tilisi ottamalla kaksivaiheinen todennus käyttöön. Kiitos, että tuet {productName}ia!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Anna vähintään käyttäjätunnus tai käyttäjätunniste." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Anna ilmoittamasi henkilön käyttäjätunnus tai käyttäjänimi." @@ -28552,12 +28556,12 @@ msgstr "Ilmoita viestistä" msgid "Report a user profile" msgstr "Ilmoita käyttäjäprofiilista" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Ilmoituksen tiedot" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Ilmoita laittomasta sisällöstä" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Ilmoituksen tyyppi" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Ilmoitetun käyttäjän tunniste (valinnainen)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Ilmoitetun käyttäjän käyttäjänimi (valinnainen)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Uudelleenjulkaisut: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Valitse, mitä haluat ilmoittaa." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Valitse asuinmaasi." @@ -30736,7 +30745,7 @@ msgstr "Lähetä-painike" msgid "Send code" msgstr "Lähetä koodi" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Lähetä DSA-ilmoitus" @@ -31294,7 +31303,7 @@ msgstr "Jaa teema" msgid "Share voice activity with all friends?" msgstr "Jaetaanko äänitoiminta kaikkien kavereiden kanssa?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Kerro, mitä tiimimme tarvitsee arvioidakseen tämän." @@ -33176,7 +33185,7 @@ msgstr "Aloita minimoituna" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Vaihe 3" msgid "Step 4" msgstr "Vaihe 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Vaihe 5" @@ -34597,7 +34606,7 @@ msgstr "Se ei onnistunut. Yritä uudelleen tai peruuta." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Tuo ei näytä kelvolliselta väriltä. Kokeile heksakoodia, rgb()- tai hsl()-arvoa tai CSS-värinimeä." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Tuo ei näytä kelvolliselta URL-osoitteelta." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Tämän instanssin käyttäjätunnukset on jo määritetty. Niitä ei voi enää muuttaa." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Vahvistuskoodi on virheellinen tai vanhentunut." @@ -35495,6 +35504,10 @@ msgstr "Tämä instanssi käyttää jo käyttäjänimiä kirjautumiseen. Tätä 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ä." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Tämä instanssi ei käytä sähköpostia, joten se ei voi vastaanottaa ilmoituksia tämän lomakkeen kautta. Ilmoita sisällöstä sovelluksessa tai ota yhteyttä tämän instanssin ylläpitäjiin." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Sovita HDR-kuvat vakiokirkkausalueelle, mikä laskee huippukirkkautta." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Koodeja on lähetetty liian monta. Odota {duration} ja yritä uudelleen." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Käyttäjän virheenkorjaus" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "Käyttäjätunnus (valinnainen)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Käyttäjäasetukset" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Käyttäjätunniste (valinnainen)" @@ -38626,8 +38639,10 @@ msgstr "Käyttäjän äänenvoimakkuus" msgid "Username" msgstr "Käyttäjänimi" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Käyttäjänimi (valinnainen)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Sinun on hyväksyttävä käyttöehdot tilin luomiseksi" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Sinun on vahvistettava sähköpostiosoitteesi ennen ilmoituksen lähettämistä." diff --git a/fluxer_app/src/features/i18n/locales/fr/messages.po b/fluxer_app/src/features/i18n/locales/fr/messages.po index c769a5171..12badb183 100644 --- a/fluxer_app/src/features/i18n/locales/fr/messages.po +++ b/fluxer_app/src/features/i18n/locales/fr/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# canal suit} other {# canaux suivent}} ce canal. msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# communauté trouvée} other {# communautés trouvées}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# communauté est temporairement indisponible en raison d'un dysfonctionnement du condensateur de flux.} other {# communautés sont temporairement indisponibles en raison d'un dysfonctionnement du condensateur de flux.}}" @@ -5615,7 +5615,7 @@ msgstr "Absent(e) pour le moment" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Retour" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Choisir le modèle premium" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Choisissez à nouveau la raison" @@ -8804,7 +8804,7 @@ msgstr "Code de l'application {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Code renvoyé" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Icône de la communauté" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "ID de la communauté" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "L'ID de la communauté est requis." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Confirmer le mot de passe" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Confirmez la déclaration pour envoyer le signalement." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Compte à rebours" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Pays de résidence" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Adresse e-mail" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Adresse e-mail requise." @@ -14086,6 +14086,10 @@ msgstr "E-mail modifié" msgid "Email delivery" msgstr "Envoi d’e-mails" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Les signalements par e-mail ne sont pas disponibles ici" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Entrée" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Saisissez un code au format ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Entrez une URL ou un code de modèle {theOtherPlatform} valide." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Saisissez une adresse e-mail valide." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Saisissez un lien de message valide." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Saisissez le code à {digitCount} chiffres de votre application d'authentification." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Saisissez le code avant de continuer." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Saisissez votre adresse e-mail et nous vous enverrons un lien pour réinitialiser votre mot de passe." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Saisissez vos nom et prénom pour envoyer le signalement." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Expire :" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Expliquez le problème" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Expliquez le problème pour envoyer le signalement." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Impossible de supprimer l’URL personnalisée. Veuillez réessayer." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Échec du renvoi du code. Veuillez réessayer." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Échec de la réinitialisation du statut premium." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Échec de l'envoi du code. Veuillez réessayer." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Échec de l'envoi du message. Maintenez appuyé pour les options." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Échec de l'envoi du signalement. Veuillez réessayer." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Finnois" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Nom et prénom" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Plage dynamique complète" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Nom et prénom (facultatif pour les signalements d'abus sexuels sur enfants)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Retour" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Retournez en arrière et saisissez une adresse e-mail valide." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "J'ai changé d'avis" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Je confirme de bonne foi que les informations et allégations contenues dans cet avis sont exactes et complètes." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Si quelqu’un vous demande de coller quelque chose ici, c’est une arnaque qui pourrait lui donner accès à votre compte {productName}." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Si vous pensez que c'est illégal, précisez quelle loi et pourquoi." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Inclure mes codes de sauvegarde à deux facteurs dans le PDF et l'impression" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Incluez l'ID de la communauté." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Arrière-plan de l'invitation" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Code d'invitation (facultatif)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "lien du message" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Lien du message" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Nouveau" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Nouveau" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Collez la réponse JSON ici" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Collez le lien du message." @@ -26972,12 +26976,12 @@ msgstr "Pronoms : " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Protégez votre compte Visionary en activant l’authentification à deux facteurs. Merci de soutenir {productName} !" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Veuillez fournir au moins un identifiant ou un tag d'utilisateur." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Indiquez l'identifiant ou le nom d'utilisateur de la personne que vous signalez." @@ -28552,12 +28556,12 @@ msgstr "Signaler un message" msgid "Report a user profile" msgstr "Signaler un profil utilisateur" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Détails du signalement" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Signaler un contenu illégal" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Type de signalement" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Tag de l'utilisateur signalé (facultatif)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Nom d'utilisateur de l'utilisateur signalé (facultatif)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Republications : <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Sélectionnez ce que vous souhaitez signaler." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Sélectionnez votre pays de résidence." @@ -30736,7 +30745,7 @@ msgstr "Bouton d'envoi" msgid "Send code" msgstr "Envoyer le code" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Envoyer le signalement DSA" @@ -31294,7 +31303,7 @@ msgstr "Partager le thème" msgid "Share voice activity with all friends?" msgstr "Partager l'activité vocale avec tous les amis ?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Partagez ce dont notre équipe a besoin pour évaluer la situation." @@ -33176,7 +33185,7 @@ msgstr "Démarrer minimisé" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Étape 3" msgid "Step 4" msgstr "Étape 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Étape 5" @@ -34597,7 +34606,7 @@ msgstr "Cela n'a pas fonctionné. Réessayez ou annulez." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Ceci ne semble pas être une couleur valide. Essayez le format hexadécimal, rgb(), hsl() ou un nom de couleur CSS." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Ceci ne semble pas être une URL valide." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Les identifiants d'utilisateur de cette instance sont déjà configurés. Ils ne peuvent plus être modifiés." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Le code de vérification est invalide ou a expiré." @@ -35495,6 +35504,10 @@ msgstr "Cette instance utilise déjà les noms d'utilisateur pour se connecter. 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Cette instance n'utilise pas d'e-mail et ne peut donc pas recevoir de signalements via ce formulaire. Signalez le contenu depuis l'application ou contactez les administrateurs de cette instance." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Convertir les images HDR en plage standard, réduisant ainsi la luminosité maximale." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Trop de codes envoyés. Patientez {duration} et réessayez." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Débogage utilisateur" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "ID utilisateur (facultatif)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Paramètres utilisateur" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Tag utilisateur (facultatif)" @@ -38626,8 +38639,10 @@ msgstr "Volume de l'utilisateur" msgid "Username" msgstr "Nom d'utilisateur" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Nom d'utilisateur (facultatif)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Vous devez accepter les conditions d'utilisation pour créer un compte" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Vous devez vérifier votre adresse e-mail avant d'envoyer un signalement." diff --git a/fluxer_app/src/features/i18n/locales/he/messages.po b/fluxer_app/src/features/i18n/locales/he/messages.po index a5f5dbac7..fafb47b84 100644 --- a/fluxer_app/src/features/i18n/locales/he/messages.po +++ b/fluxer_app/src/features/i18n/locales/he/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# ערוץ עוקב} other {# ערוצים עוקב msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# קהילה נמצאה} other {# קהילות נמצאו}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# קהילה אינה זמינה באופן זמני עקב תקלה בקבל השטף.} other {# קהילות אינן זמינות באופן זמני עקב תקלה בקבל השטף.}}" @@ -5615,7 +5615,7 @@ msgstr "לא זמין כרגע" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "חזרה" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "בחר את מודל הפרימיום" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "בחר שוב את הסיבה" @@ -8804,7 +8804,7 @@ msgstr "קוד מתוך אפליקציית {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "הקוד נשלח שוב" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "אייקון קהילה" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "מזהה קהילה" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "נדרש מזהה קהילה." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "אישור סיסמה" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "אשר את ההצהרה כדי לשלוח את הדיווח." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "טיימר ספירה לאחור" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "מדינת מגורים" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "כתובת אימייל" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "נדרשת כתובת אימייל." @@ -14086,6 +14086,10 @@ msgstr "האימייל שונה" msgid "Email delivery" msgstr "משלוח אימייל" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "דיווחים באימייל אינם זמינים כאן" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "יש להזין קוד בפורמט ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "יש להזין כתובת URL או קוד תבנית חוקיים של {theOtherPlatform}." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "יש להזין כתובת אימייל חוקית." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "יש להזין קישור חוקי להודעה." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "הזן את הקוד בן {digitCount} הספרות מאפליקציית האימות שלך." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "הזן את הקוד לפני שתמשיך." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "הזן את כתובת האימייל שלך ונשלח לך קישור לאיפוס הסיסמה." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "הזן את שמך המלא הרשמי כדי לשלוח את הדיווח." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "תפוגה:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "הסבר את הבעיה" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "הסבר את הבעיה כדי לשלוח את הדיווח." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "הסרת כתובת ה-URL המותאמת אישית נכשלה. יש לנסות שוב." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "שליחת הקוד מחדש נכשלה. יש לנסות שוב." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "איפוס מצב הפרימיום נכשל." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "שליחת הקוד נכשלה. יש לנסות שוב." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "שליחת ההודעה נכשלה. יש ללחוץ לחיצה ארוכה לאפשרויות." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "שליחת הדיווח נכשלה. יש לנסות שוב." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "פינית" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "שם פרטי ושם משפחה" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "טווח דינמי מלא" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "שם מלא רשמי (אופציונלי עבור דיווחי פגיעה מינית בילדים)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "חזרה" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "חזור והזן אימייל תקין." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "שיניתי את דעתי" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "אני מצהיר בתום לב כי המידע והטענות בדיווח זה מדויקים ושלמים." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "אם מישהו ביקש ממך להדביק משהו כאן, זוהי הונאה שעלולה לתת לו גישה לחשבון ה-{productName} שלך." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "אם אתה סבור שזה בלתי חוקי, ציין איזה חוק ומדוע." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "כלול את קודי הגיבוי הדו-שלביים שלי בקובץ ה-PDF ובפלט ההדפסה" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "יש לכלול את מזהה הקהילה." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "רקע להזמנה" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "קוד הזמנה (אופציונלי)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "קישור להודעה" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "קישור להודעה" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "חדש" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "חדש" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "הדבק כאן את תגובת ה-JSON" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "הדבק את קישור ההודעה." @@ -26972,12 +26976,12 @@ msgstr "כינויי גוף: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "הגן על חשבון ה-Visionary שלך על ידי הפעלת אימות דו-שלבי. תודה על תמיכתך ב-{productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "יש לספק לפחות מזהה משתמש או תג משתמש." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "יש לספק מזהה משתמש או שם משתמש של האדם שעליו מדווחים." @@ -28552,12 +28556,12 @@ msgstr "דיווח על הודעה" msgid "Report a user profile" msgstr "דיווח על פרופיל משתמש" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "פרטי דיווח" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "דיווח על תוכן בלתי חוקי" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "סוג הדיווח" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "תגית המשתמש שדווח (אופציונלי)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "שם המשתמש של המשתמש שדווח (אופציונלי)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "ריפוסטים: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "בחר על מה ברצונך לדווח." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "בחר את מדינת המגורים שלך." @@ -30736,7 +30745,7 @@ msgstr "כפתור שליחה" msgid "Send code" msgstr "שלח קוד" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "שליחת דיווח DSA" @@ -31294,7 +31303,7 @@ msgstr "שיתוף ערכת נושא" msgid "Share voice activity with all friends?" msgstr "לשתף פעילות קולית עם כל החברים?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "שתף את המידע שהצוות שלנו צריך כדי להעריך זאת." @@ -33176,7 +33185,7 @@ msgstr "התחל ממוזער" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "שלב 3" msgid "Step 4" msgstr "שלב 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "שלב 5" @@ -34597,7 +34606,7 @@ msgstr "הפעולה לא הצליחה. יש לנסות שוב או לבטל." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "זה לא נראה כמו צבע תקין. נסה hex, rgb(), hsl(), או שם צבע CSS." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "זה לא נראה כמו כתובת URL תקינה." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "תגיות שם המשתמש במופע זה כבר הוגדרו. לא ניתן לשנות אותן יותר." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "קוד האימות שגוי או שפג תוקפו." @@ -35495,6 +35504,10 @@ msgstr "האינסטנס הזה כבר משתמש בשמות משתמש לכני msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "המופע הזה מאפשר כרגע שיתוף מסך עד 720p ב-30 FPS." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "המופע הזה לא משתמש באימייל, ולכן אינו יכול לקבל דיווחים דרך הטופס הזה. דווח על תוכן מתוך האפליקציה, או צור קשר עם מנהלי המערכת של המופע הזה." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "ממפה תמונות HDR לטווח רגיל ומפחית את בהירות השיא." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "נשלחו יותר מדי קודים. יש להמתין {duration} ולנסות שוב." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "ניפוי באגים של משתמש" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "מזהה משתמש (אופציונלי)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "הגדרות משתמש" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "תגית משתמש (אופציונלי)" @@ -38626,8 +38639,10 @@ msgstr "עוצמת שמע של משתמש" msgid "Username" msgstr "שם משתמש" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "שם משתמש (אופציונלי)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "עליך להסכים לתנאי השירות כדי ליצור חשבון" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "יש לאמת את כתובת האימייל שלך לפני שליחת דיווח." diff --git a/fluxer_app/src/features/i18n/locales/hi/messages.po b/fluxer_app/src/features/i18n/locales/hi/messages.po index 23e32229a..5e55a1f4b 100644 --- a/fluxer_app/src/features/i18n/locales/hi/messages.po +++ b/fluxer_app/src/features/i18n/locales/hi/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# चैनल इसे फ़ॉलो करत msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# कम्युनिटी मिली} other {# कम्युनिटी मिलीं}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# कम्युनिटी फ्लक्स कैपेसिटर में खराबी के कारण अस्थायी रूप से अनुपलब्ध है।} other {# कम्युनिटी फ्लक्स कैपेसिटर में खराबी के कारण अस्थायी रूप से अनुपलब्ध हैं।}}" @@ -5615,7 +5615,7 @@ msgstr "अभी दूर हूँ" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "वापस" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "प्रीमियम मॉडल चुनें" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "वजह फिर से चुनें" @@ -8804,7 +8804,7 @@ msgstr "{productName} ऐप से कोड" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "कोड फिर से भेजा गया" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "कम्युनिटी आइकॉन" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "कम्युनिटी आईडी" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "कम्युनिटी आईडी ज़रूरी है।" @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "पासवर्ड की पुष्टि करें" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "रिपोर्ट भेजने के लिए कथन की पुष्टि करें।" @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "काउंटडाउन टाइमर" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "निवास का देश" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "ईमेल पता" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "ईमेल पता आवश्यक है।" @@ -14086,6 +14086,10 @@ msgstr "ईमेल बदल गया" msgid "Email delivery" msgstr "ईमेल डिलीवरी" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "ईमेल से रिपोर्ट करना यहाँ उपलब्ध नहीं है" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "ABCD-1234 फ़ॉर्मैट में कोड डालें।" @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "मान्य {theOtherPlatform} टेम्पलेट यूआरएल या कोड डालें।" #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "एक मान्य ईमेल पता डालें।" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "एक वैध मैसेज लिंक डालें।" @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "अपने ऑथेंटिकेटर ऐप से {digitCount} अंकों वाला कोड डालें।" #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "जारी रखने से पहले कोड डालें।" @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "अपना ईमेल पता डालें और हम आपको पासवर्ड रीसेट करने के लिए एक लिंक भेजेंगे।" #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "रिपोर्ट भेजने के लिए अपना पूरा कानूनी नाम दर्ज करें।" @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "समाप्ति:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "समस्या बताएं" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "रिपोर्ट भेजने के लिए समस्या बताएं।" @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "वैनिटी यूआरएल नहीं हटाया जा सका। फिर से कोशिश करें।" #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "कोड दोबारा नहीं भेजा जा सका। फिर से कोशिश करें।" @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "प्रीमियम स्थिति रीसेट नहीं हो पाई।" #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "कोड नहीं भेजा जा सका। फिर से कोशिश करें।" @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "मैसेज भेजा नहीं जा सका। विकल्पों के लिए दबाकर रखें।" #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "रिपोर्ट नहीं भेजी जा सकी। फिर से कोशिश करें।" @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "फ़िनिश" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "पहला और अंतिम नाम" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "फुल डायनामिक रेंज" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "पूरा कानूनी नाम (बाल यौन शोषण की रिपोर्ट के लिए वैकल्पिक)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "वापस जाएँ" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "वापस जाएं और मान्य ईमेल पता दर्ज करें।" @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "मैंने अपना मन बदल लिया" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "सद्भावना से मेरी यह पुष्टि है कि इस सूचना में दी गई जानकारी और आरोप सटीक और पूर्ण हैं।" @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "अगर किसी ने आपसे यहां कुछ पेस्ट करने के लिए कहा है, तो यह एक स्कैम है जिससे उन्हें आपके {productName} अकाउंट का एक्सेस मिल सकता है।" #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "अगर आपको लगता है कि यह अवैध है, तो बताएं कि कौन सा कानून और क्यों।" @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "पीडीएफ और प्रिंटआउट में मेरे दो-कारक बैकअप कोड शामिल करें" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "कम्युनिटी आईडी शामिल करें।" @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "इनवाइट बैकग्राउंड" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "इनवाइट कोड (वैकल्पिक)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "मैसेज लिंक" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "मैसेज लिंक" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "नया" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "नया" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "JSON रिस्पॉन्स यहां पेस्ट करें" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "मैसेज लिंक पेस्ट करें।" @@ -26972,12 +26976,12 @@ msgstr "सर्वनाम: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "दो-कारक प्रमाणीकरण सक्षम करके अपने विजनरी अकाउंट को सुरक्षित रखें। {productName} को सपोर्ट करने के लिए धन्यवाद!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "कम से कम एक यूज़र आईडी या यूज़र टैग दें।" #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "जिस व्यक्ति की आप रिपोर्ट कर रहे हैं, उसके लिए यूज़र आईडी या यूज़रनेम दें।" @@ -28552,12 +28556,12 @@ msgstr "मैसेज की रिपोर्ट करें" msgid "Report a user profile" msgstr "किसी यूज़र प्रोफ़ाइल की रिपोर्ट करें" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "रिपोर्ट विवरण" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "गैर-कानूनी सामग्री की रिपोर्ट करें" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "रिपोर्ट का प्रकार" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "रिपोर्ट किए गए यूज़र का टैग (वैकल्पिक)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "रिपोर्ट किए गए यूज़र का यूज़रनेम (वैकल्पिक)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "रीपोस्ट: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "चुनें कि आप क्या रिपोर्ट करना चाहते हैं।" #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "अपने निवास का देश चुनें।" @@ -30736,7 +30745,7 @@ msgstr "भेजें बटन" msgid "Send code" msgstr "कोड भेजें" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "DSA रिपोर्ट भेजें" @@ -31294,7 +31303,7 @@ msgstr "थीम शेयर करें" msgid "Share voice activity with all friends?" msgstr "सभी दोस्तों के साथ वॉइस गतिविधि शेयर करें?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "बताएं कि हमारी टीम को इसका आकलन करने के लिए क्या चाहिए।" @@ -33176,7 +33185,7 @@ msgstr "मिनिमाइज़ करके शुरू करें" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "चरण 3" msgid "Step 4" msgstr "चरण 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "चरण 5" @@ -34597,7 +34606,7 @@ msgstr "यह नहीं हो पाया। फिर से कोशि msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "यह कोई मान्य रंग नहीं लग रहा है। हेक्स, rgb(), hsl() या CSS रंग का नाम आज़माएँ।" -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "यह एक मान्य यूआरएल नहीं लग रहा है।" @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "इस इंस्टेंस पर यूज़रनेम टैग पहले से सेट हैं। वे अब बदल नहीं सकते।" #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "वेरिफ़िकेशन कोड अमान्य है या उसकी समय-सीमा खत्म हो गई है।" @@ -35495,6 +35504,10 @@ msgstr "यह इंस्टेंस पहले से ही साइन msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "यह इंस्टेंस वर्तमान में 30 FPS पर 720p तक स्क्रीन शेयर की अनुमति देता है।" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "यह इंस्टेंस ईमेल का उपयोग नहीं करता, इसलिए इस फ़ॉर्म से रिपोर्ट नहीं ले सकता। ऐप के अंदर से कंटेंट की रिपोर्ट करें या इस इंस्टेंस के एडमिनिस्ट्रेटर से संपर्क करें।" + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "HDR इमेज को सामान्य रेंज में टोन-मैप करें, जिससे पीक ब्राइटनेस कम हो जाएगी।" #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "बहुत अधिक कोड भेजे गए। {duration} प्रतीक्षा करें और फिर से कोशिश करें।" @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "यूज़र डीबग" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "यूज़र आईडी (वैकल्पिक)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "यूज़र सेटिंग्स" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "यूज़र टैग (वैकल्पिक)" @@ -38626,8 +38639,10 @@ msgstr "यूज़र का वॉल्यूम" msgid "Username" msgstr "यूज़रनेम" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "यूज़रनेम (वैकल्पिक)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "अकाउंट बनाने के लिए आपको सेवा की शर्तों से सहमत होना होगा" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "रिपोर्ट भेजने से पहले आपको अपना ईमेल वेरिफ़ाई करना होगा।" diff --git a/fluxer_app/src/features/i18n/locales/hr/messages.po b/fluxer_app/src/features/i18n/locales/hr/messages.po index 841be3c25..31b730d50 100644 --- a/fluxer_app/src/features/i18n/locales/hr/messages.po +++ b/fluxer_app/src/features/i18n/locales/hr/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# kanal ga prati} other {# kanala ga prati}} ovu po msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# zajednica pronađena} few {# zajednice pronađene} other {# zajednica pronađeno}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# zajednica privremeno nije dostupna zbog kvara na protočnom kondenzatoru.} few {# zajednice privremeno nisu dostupne zbog kvara na protočnom kondenzatoru.} other {# zajednica privremeno nije dostupno zbog kvara na protočnom kondenzatoru.}}" @@ -5615,7 +5615,7 @@ msgstr "Trenutno odsutan" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Natrag" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Odaberite premium model" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Ponovno odaberite razlog" @@ -8804,7 +8804,7 @@ msgstr "Kod iz aplikacije {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Kod ponovno poslan" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Ikona zajednice" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "ID zajednice" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "ID zajednice je obavezan." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Potvrdite lozinku" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Potvrdite izjavu kako biste poslali prijavu." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Odbrojavanje" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Država prebivališta" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Adresa e-pošte" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Potrebna je adresa e-pošte." @@ -14086,6 +14086,10 @@ msgstr "E-pošta promijenjena" msgid "Email delivery" msgstr "Isporuka e-pošte" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Prijave e-poštom ovdje nisu dostupne" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Unesite kôd u formatu ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Unesite valjani URL ili kod predloška za {theOtherPlatform}." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Unesite valjanu adresu e-pošte." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Unesite valjanu poveznicu poruke." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Unesite {digitCount}-znamenkasti kod iz svoje aplikacije za provjeru autentičnosti." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Unesite kod prije nastavka." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Unesite svoju e-adresu i poslat ćemo vam poveznicu za poništavanje lozinke." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Unesite svoje puno ime i prezime za slanje prijave." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Istječe:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Objasnite problem" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Objasnite problem za slanje prijave." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Uklanjanje prilagođenog URL-a nije uspjelo. Pokušajte ponovno." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Ponovno slanje koda nije uspjelo. Pokušajte ponovno." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Nije uspjelo poništavanje premium statusa." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Slanje koda nije uspjelo. Pokušajte ponovno." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Slanje poruke nije uspjelo. Dodirnite i držite za opcije." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Slanje prijave nije uspjelo. Pokušajte ponovno." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Finski" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Ime i prezime" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Puni dinamički raspon" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Puno ime i prezime (neobavezno za prijave seksualnog zlostavljanja djece)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Natrag" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Vratite se i unesite valjanu e-adresu." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Predomislio/la sam se" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Potvrđujem u dobroj vjeri da su podaci i navodi u ovoj prijavi točni i potpuni." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Ako vam je netko rekao da ovdje nešto zalijepite, to je prijevara kojom mu možete predati svoj račun na {productName}u." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Ako smatrate da je to nezakonito, navedite koji zakon i zašto." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Uključi moje dvofaktorske sigurnosne kodove u PDF i ispis" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Uključite ID zajednice." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Pozadinska slika pozivnice" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Kod pozivnice (neobavezno)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "poveznica poruke" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Poveznica poruke" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Novo" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Novo" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Zalijepite JSON odgovor ovdje" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Zalijepite poveznicu poruke." @@ -26972,12 +26976,12 @@ msgstr "Zamjenice: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Zaštitite svoj Visionary račun omogućavanjem dvostruke provjere autentičnosti. Hvala vam što podržavate {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Unesite barem korisnički ID ili korisničku oznaku." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Unesite ID korisnika ili korisničko ime osobe koju prijavljujete." @@ -28552,12 +28556,12 @@ msgstr "Prijavi poruku" msgid "Report a user profile" msgstr "Prijavi korisnički profil" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Detalji prijave" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Prijavi nezakonit sadržaj" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Vrsta prijave" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Oznaka prijavljenog korisnika (neobavezno)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Korisničko ime prijavljenog korisnika (neobavezno)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Ponovne objave: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Odaberite što želite prijaviti." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Odaberite državu prebivališta." @@ -30736,7 +30745,7 @@ msgstr "Gumb za slanje" msgid "Send code" msgstr "Pošalji kod" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Pošalji DSA prijavu" @@ -31294,7 +31303,7 @@ msgstr "Podijeli temu" msgid "Share voice activity with all friends?" msgstr "Podijeliti glasovnu aktivnost sa svim prijateljima?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Podijelite ono što je našem timu potrebno za procjenu." @@ -33176,7 +33185,7 @@ msgstr "Pokreni umanjeno" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Korak 3" msgid "Step 4" msgstr "Korak 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Korak 5" @@ -34597,7 +34606,7 @@ msgstr "To nije uspjelo. Pokušajte ponovno ili odustanite." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Ovo ne izgleda kao valjana boja. Pokušajte s heksadecimalnim zapisom, rgb(), hsl() ili nazivom CSS boje." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Čini se da ovo nije valjan URL." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Oznake korisničkog imena na ovoj instanci su već postavljene. Više se ne mogu mijenjati." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Kod za provjeru nije važeći ili je istekao." @@ -35495,6 +35504,10 @@ msgstr "Ova instanca već koristi korisnička imena za prijavu. To se više ne m 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Ova instanca ne koristi e-poštu pa ne može primati prijave putem ovog obrasca. Prijavite sadržaj iz aplikacije ili se obratite administratorima ove instance." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Preslikavanje HDR slika na standardni raspon, smanjujući vršnu svjetlinu." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Poslano je previše kodova. Pričekajte {duration} i pokušajte ponovno." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Otklanjanje pogrešaka korisnika" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "ID korisnika (neobavezno)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Korisničke postavke" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Korisnička oznaka (neobavezno)" @@ -38626,8 +38639,10 @@ msgstr "Glasnoća korisnika" msgid "Username" msgstr "Korisničko ime" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Korisničko ime (neobavezno)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Morate prihvatiti uvjete pružanja usluge kako biste stvorili račun" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Morate potvrditi svoju e-poštu prije slanja prijave." diff --git a/fluxer_app/src/features/i18n/locales/hu/messages.po b/fluxer_app/src/features/i18n/locales/hu/messages.po index dbb4f1488..6ae197121 100644 --- a/fluxer_app/src/features/i18n/locales/hu/messages.po +++ b/fluxer_app/src/features/i18n/locales/hu/messages.po @@ -1093,7 +1093,7 @@ msgstr "Ez a csatorna követőinek száma: {count, plural, one {# csatorna köve msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# közösség található} other {# közösség található}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# közösség átmenetileg nem elérhető egy „fluxuskondenzátor” meghibásodása miatt.} other {# közösség átmenetileg nem elérhető egy „fluxuskondenzátor” meghibásodása miatt.}}" @@ -5615,7 +5615,7 @@ msgstr "Jelenleg távol" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Vissza" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Válaszd ki a prémium modellt" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Válaszd ki újra az okot" @@ -8804,7 +8804,7 @@ msgstr "Kód a(z) {productName} alkalmazásból" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Kód újraküldve" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Közösség ikonja" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "Közösségi azonosító" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Közösségi azonosító szükséges." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Jelszó megerősítése" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Erősítsd meg a nyilatkozatot a bejelentés elküldéséhez." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Visszaszámláló" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Lakóhely szerinti ország" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "E-mail-cím" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Az e-mail-cím megadása kötelező." @@ -14086,6 +14086,10 @@ msgstr "E-mail-cím megváltoztatva" msgid "Email delivery" msgstr "E-mailek kézbesítése" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Az e-mailes bejelentés itt nem érhető el" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Írj be egy kódot ABCD-1234 formátumban." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Adj meg egy érvényes sablon-URL-t vagy -kódot a(z) {theOtherPlatform} platformról." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Érvényes e-mail-címet adj meg." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Érvényes üzenetlinket adj meg." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Add meg a hitelesítő alkalmazásod {digitCount} számjegyű kódját." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "A folytatáshoz add meg a kódot." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Add meg az e-mail-címedet, és küldünk egy linket a jelszavad visszaállításához." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Add meg a teljes hivatalos neved a bejelentés elküldéséhez." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Lejár:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Magyarázd el a problémát" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Magyarázd el a problémát a bejelentés elküldéséhez." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Nem sikerült eltávolítani az egyéni meghívólinket. Próbáld újra." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Nem sikerült újraküldeni a kódot. Próbáld újra." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "A prémium állapot visszaállítása sikertelen." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Nem sikerült elküldeni a kódot. Próbáld újra." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Az üzenet küldése sikertelen. Tartsd nyomva a további lehetőségekért." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Nem sikerült elküldeni a bejelentést. Próbáld újra." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Finn" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Vezetéknév és keresztnév" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Teljes dinamikatartomány" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Teljes hivatalos név (opcionális gyermekek szexuális bántalmazásával kapcsolatos bejelentések esetén)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Vissza" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Menj vissza, és adj meg egy érvényes e-mail-címet." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Meggondoltam magam" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Jóhiszeműen kijelentem, hogy az ebben a bejelentésben szereplő információk és állítások pontosak és teljesek." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Ha valaki azt mondta, hogy illessz be ide valamit, az átverés, amellyel megszerezheti a(z) {productName}-fiókodat." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Ha úgy gondolod, hogy illegális, írd meg, melyik törvényt sérti, és miért." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Tartsa benne a kétfaktoros biztonsági kódjaimat a PDF-be és a kinyomtatott dokumentumba is" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Add meg a közösség azonosítóját." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Meghívó háttere" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Meghívókód (opcionális)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "üzenet linkje" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Üzenet linkje" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Új" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Új" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Illeszd be ide a JSON-választ" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Illeszd be az üzenet linkjét." @@ -26972,12 +26976,12 @@ msgstr "Névmások: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Védd a Visionary-fiókodat kétlépcsős azonosítással. Köszönjük, hogy támogatod a(z) {productName} működését!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Adj meg legalább egy felhasználói azonosítót vagy felhasználói címkét." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Add meg a bejelenteni kívánt személy felhasználói azonosítóját vagy felhasználónevét." @@ -28552,12 +28556,12 @@ msgstr "Üzenet bejelentése" msgid "Report a user profile" msgstr "Felhasználói profil bejelentése" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Bejelentés részletei" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Illegális tartalom bejelentése" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Bejelentés típusa" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Bejelentett felhasználó címkéje (opcionális)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Bejelentett felhasználó felhasználóneve (opcionális)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Újraközlések: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Válaszd ki, mit szeretnél bejelenteni." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Válaszd ki a lakóhelyed szerinti országot." @@ -30736,7 +30745,7 @@ msgstr "Küldés gomb" msgid "Send code" msgstr "Kód küldése" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "DSA-bejelentés küldése" @@ -31294,7 +31303,7 @@ msgstr "Téma megosztása" msgid "Share voice activity with all friends?" msgstr "Megosztod a hangtevékenységedet az összes ismerősöddel?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Oszd meg a csapatunkkal az elbíráláshoz szükséges információkat." @@ -33176,7 +33185,7 @@ 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:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "3. lépés" msgid "Step 4" msgstr "4. lépés" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "5. lépés" @@ -34597,7 +34606,7 @@ msgstr "Ez nem sikerült. Próbáld újra, vagy szakítsd meg." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Ez nem tűnik érvényes színnek. Próbálj meg hexadecimális, rgb(), hsl() értéket vagy CSS színnevet használni." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Ez nem tűnik érvényes URL-nek." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "A felhasználónév címkéi ezen az instancián már beállítva. Már nem változtathatók meg." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Az ellenőrző kód érvénytelen vagy lejárt." @@ -35495,6 +35504,10 @@ msgstr "Ez az instance már felhasználóneveket használ a bejelentkezéshez. E 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Ez a példány nem használ e-mailt, ezért ezen az űrlapon keresztül nem tud bejelentéseket fogadni. Jelentsd a tartalmat az alkalmazásban, vagy fordulj ennek a példánynak az adminisztrátoraihoz." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "A HDR képek tónusleképezése normál tartományba, csökkentve a csúcsfényerőt." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Túl sok kódot küldtünk. Várj {duration}, majd próbáld újra." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Felhasználói hibakeresés" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "Felhasználói azonosító (opcionális)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Felhasználói beállítások" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Felhasználói címke (opcionális)" @@ -38626,8 +38639,10 @@ msgstr "Felhasználó hangereje" msgid "Username" msgstr "Felhasználónév" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Felhasználónév (opcionális)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "A fiók létrehozásához el kell fogadnod a Szolgáltatási feltételeket" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Bejelentés küldése előtt meg kell erősítened az e-mail-címedet." diff --git a/fluxer_app/src/features/i18n/locales/id/messages.po b/fluxer_app/src/features/i18n/locales/id/messages.po index 94de2dd51..74558601e 100644 --- a/fluxer_app/src/features/i18n/locales/id/messages.po +++ b/fluxer_app/src/features/i18n/locales/id/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# kanal mengikuti} other {# kanal mengikuti}} kanal msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# komunitas ditemukan} other {# komunitas ditemukan}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# komunitas sementara tidak tersedia karena kerusakan kapasitor fluks.} other {# komunitas sementara tidak tersedia karena kerusakan kapasitor fluks.}}" @@ -5615,7 +5615,7 @@ msgstr "Sedang tidak di tempat" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Kembali" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Pilih model premium" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Pilih alasan lagi" @@ -8804,7 +8804,7 @@ msgstr "Kode dari aplikasi {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Kode dikirim ulang" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Ikon komunitas" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "ID komunitas" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "ID komunitas wajib diisi." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Konfirmasi kata sandi" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Konfirmasi pernyataan untuk mengirim laporan." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Timer hitung mundur" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Negara tempat tinggal" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Alamat email" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Alamat email wajib diisi." @@ -14086,6 +14086,10 @@ msgstr "Email berhasil diubah" msgid "Email delivery" msgstr "Pengiriman email" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Laporan lewat email tidak tersedia di sini" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Masukkan kode dalam format ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Masukkan URL atau kode template {theOtherPlatform} yang valid." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Masukkan alamat email yang valid." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Masukkan tautan pesan yang valid." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Masukkan kode {digitCount} digit dari aplikasi autentikatormu." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Masukkan kode sebelum melanjutkan." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Masukkan alamat emailmu dan kami akan mengirimkan tautan untuk mengatur ulang kata sandimu." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Masukkan nama lengkap Anda sesuai identitas untuk mengirim laporan." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Kedaluwarsa:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Jelaskan masalahnya" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Jelaskan masalahnya untuk mengirim laporan." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Gagal menghapus URL kustom. Coba lagi." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Gagal mengirim ulang kode. Coba lagi." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Gagal mengatur ulang status premium." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Gagal mengirim kode. Coba lagi." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Gagal mengirim pesan. Tahan untuk opsi." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Gagal mengirim laporan. Coba lagi." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Finlandia" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Nama depan dan belakang" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Rentang dinamis penuh" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Nama lengkap sesuai identitas (opsional untuk laporan kekerasan seksual terhadap anak)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Kembali" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Kembali dan masukkan email yang valid." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Saya berubah pikiran" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Saya mengonfirmasi dengan itikad baik bahwa informasi dan tuduhan dalam pemberitahuan ini akurat dan lengkap." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Jika ada yang menyuruh kamu menempelkan sesuatu di sini, itu penipuan yang bisa memberi mereka akses ke akun {productName} kamu." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Jika kamu yakin ini ilegal, sebutkan hukum mana dan alasannya." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Sertakan kode cadangan dua faktor saya dalam PDF dan cetakan" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Sertakan ID komunitas." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Latar belakang undangan" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Kode undangan (opsional)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "tautan pesan" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Tautan pesan" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Baru" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Baru" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Tempel respons JSON di sini" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Tempel tautan pesan." @@ -26972,12 +26976,12 @@ msgstr "Kata ganti: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Lindungi akun Visionary kamu dengan mengaktifkan autentikasi dua faktor. Terima kasih telah mendukung {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Berikan setidaknya ID pengguna atau tag pengguna." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Berikan ID pengguna atau nama pengguna orang yang kamu laporkan." @@ -28552,12 +28556,12 @@ msgstr "Laporkan pesan" msgid "Report a user profile" msgstr "Laporkan profil pengguna" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Detail laporan" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Laporkan konten ilegal" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Jenis laporan" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Tag pengguna yang dilaporkan (opsional)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Nama pengguna yang dilaporkan (opsional)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Postingan ulang: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Pilih apa yang ingin kamu laporkan." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Pilih negara tempat tinggalmu." @@ -30736,7 +30745,7 @@ msgstr "Tombol kirim" msgid "Send code" msgstr "Kirim kode" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Kirim laporan DSA" @@ -31294,7 +31303,7 @@ msgstr "Bagikan tema" msgid "Share voice activity with all friends?" msgstr "Bagikan aktivitas suara dengan semua teman?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Berikan informasi yang tim kami butuhkan untuk menilai ini." @@ -33176,7 +33185,7 @@ msgstr "Mulai diminimalkan" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Langkah 3" msgid "Step 4" msgstr "Langkah 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Langkah 5" @@ -34597,7 +34606,7 @@ msgstr "Tidak berhasil. Coba lagi atau batalkan." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Itu bukan warna yang valid. Coba hex, rgb(), hsl(), atau nama warna CSS." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Itu bukan URL yang valid." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Tag nama pengguna di instance ini sudah diatur. Tag tersebut tidak dapat diubah lagi." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Kode verifikasi tidak valid atau sudah kedaluwarsa." @@ -35495,6 +35504,10 @@ msgstr "Instance ini sudah menggunakan nama pengguna untuk masuk. Ini tidak dapa 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Instance ini tidak menggunakan email, jadi tidak dapat menerima laporan melalui formulir ini. Laporkan konten dari dalam aplikasi, atau hubungi administrator instance ini." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Petakan nada gambar HDR ke rentang standar untuk mengurangi kecerahan puncak." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Terlalu banyak kode yang dikirim. Tunggu {duration} lalu coba lagi." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Debug pengguna" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "ID pengguna (opsional)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Pengaturan pengguna" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Tag pengguna (opsional)" @@ -38626,8 +38639,10 @@ msgstr "Volume pengguna" msgid "Username" msgstr "Nama pengguna" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Nama pengguna (opsional)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Kamu harus menyetujui ketentuan layanan untuk membuat akun" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Kamu harus memverifikasi emailmu sebelum mengirim laporan." diff --git a/fluxer_app/src/features/i18n/locales/it/messages.po b/fluxer_app/src/features/i18n/locales/it/messages.po index 40a78a248..00a079c6b 100644 --- a/fluxer_app/src/features/i18n/locales/it/messages.po +++ b/fluxer_app/src/features/i18n/locales/it/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# canale segue} other {# canali seguono}} questo ca msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# community trovata} other {# community trovate}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# community è temporaneamente non disponibile a causa di un malfunzionamento del condensatore di flusso.} other {# community sono temporaneamente non disponibili a causa di un malfunzionamento del condensatore di flusso.}}" @@ -5615,7 +5615,7 @@ msgstr "Assente in questo momento" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Indietro" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Scegli il modello premium" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Scegli di nuovo il motivo" @@ -8804,7 +8804,7 @@ msgstr "Codice dall'app {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Codice inviato di nuovo" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Icona della community" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "ID community" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "L'ID della community è obbligatorio." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Conferma password" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Conferma la dichiarazione per inviare la segnalazione." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Timer conto alla rovescia" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Paese di residenza" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Indirizzo email" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Indirizzo email obbligatorio." @@ -14086,6 +14086,10 @@ msgstr "Email modificata" msgid "Email delivery" msgstr "Consegna email" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Le segnalazioni via email non sono disponibili qui" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Invio" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Inserisci un codice nel formato ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Inserisci un URL o un codice modello {theOtherPlatform} valido." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Inserisci un indirizzo email valido." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Inserisci un link del messaggio valido." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Inserisci il codice di {digitCount} cifre dalla tua app di autenticazione." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Inserisci il codice prima di continuare." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Inserisci la tua email e ti invieremo un link per reimpostare la password." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Inserisci il tuo nome e cognome legali per inviare la segnalazione." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Scade:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Spiega il problema" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Spiega il problema per inviare la segnalazione." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Impossibile rimuovere l'URL personalizzato. Riprova." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Nuovo invio del codice non riuscito. Riprova." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Impossibile reimpostare lo stato Premium." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Invio codice non riuscito. Riprova." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Impossibile inviare il messaggio. Tieni premuto per le opzioni." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Invio della segnalazione non riuscito. Riprova." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Finlandese" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Nome e cognome" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Gamma dinamica completa" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Nome e cognome legali (facoltativo per le segnalazioni di abusi sessuali su minori)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Indietro" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Torna indietro e inserisci un'email valida." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Ho cambiato idea" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Confermo in buona fede che le informazioni e le affermazioni contenute in questa segnalazione sono accurate e complete." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Se qualcuno ti ha chiesto di copiare e incollare qualcosa qui, è una truffa che potrebbe consentire loro di accedere al tuo account {productName}." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Se ritieni che sia illegale, indica quale legge e perché." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Includi i miei codici di backup a due fattori nel PDF e nella stampa" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Includi l'ID della community." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Sfondo invito" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Codice invito (facoltativo)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "link del messaggio" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Link messaggio" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Nuovi" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Novità" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Incolla qui la risposta JSON" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Incolla il link del messaggio." @@ -26972,12 +26976,12 @@ msgstr "Pronomi: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Proteggi il tuo account Visionary abilitando l'autenticazione a due fattori. Grazie per supportare {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Fornisci almeno un ID utente o un tag utente." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Inserisci l'ID utente o il nome utente della persona che stai segnalando." @@ -28552,12 +28556,12 @@ msgstr "Segnala un messaggio" msgid "Report a user profile" msgstr "Segnala un profilo utente" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Dettagli segnalazione" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Segnala contenuto illegale" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Tipo di segnalazione" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Tag utente segnalato (facoltativo)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Nome utente dell'utente segnalato (facoltativo)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Ripubblicazioni: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Seleziona cosa vuoi segnalare." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Seleziona il tuo Paese di residenza." @@ -30736,7 +30745,7 @@ msgstr "Pulsante invia" msgid "Send code" msgstr "Invia codice" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Invia segnalazione DSA" @@ -31294,7 +31303,7 @@ msgstr "Condividi tema" msgid "Share voice activity with all friends?" msgstr "Condividere l'attività vocale con tutti gli amici?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Condividi ciò che serve al nostro team per valutare la situazione." @@ -33176,7 +33185,7 @@ 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:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Passaggio 3" msgid "Step 4" msgstr "Passaggio 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Passaggio 5" @@ -34597,7 +34606,7 @@ msgstr "Non ha funzionato. Riprova o annulla." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Non sembra un colore valido. Prova un valore esadecimale, rgb(), hsl() o un nome di colore CSS." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Non sembra un URL valido." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "I tag del nome utente su questa istanza sono già impostati. Non possono più essere modificati." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Il codice di verifica non è valido o è scaduto." @@ -35495,6 +35504,10 @@ msgstr "Questa istanza utilizza già i nomi utente per l'accesso. Non è più po 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Questa istanza non usa l'email, quindi non può ricevere segnalazioni tramite questo modulo. Segnala i contenuti dall'app o contatta gli amministratori di questa istanza." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Mappa le immagini HDR all'intervallo standard, riducendo la luminosità di picco." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Troppi codici inviati. Attendi {duration} e riprova." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Debug utente" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "ID utente (facoltativo)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Impostazioni utente" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Tag utente (facoltativo)" @@ -38626,8 +38639,10 @@ msgstr "Volume utente" msgid "Username" msgstr "Nome utente" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Nome utente (facoltativo)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Devi accettare i termini di servizio per creare un account" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Devi verificare la tua email prima di inviare una segnalazione." diff --git a/fluxer_app/src/features/i18n/locales/ja/messages.po b/fluxer_app/src/features/i18n/locales/ja/messages.po index cae7da4ae..f021638f5 100644 --- a/fluxer_app/src/features/i18n/locales/ja/messages.po +++ b/fluxer_app/src/features/i18n/locales/ja/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# チャンネルがフォローしています} ot msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {#件のコミュニティが見つかりました} other {#件のコミュニティが見つかりました}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {#件のコミュニティがフラックスキャパシタの不具合により一時的に利用できません。} other {#件のコミュニティがフラックスキャパシタの不具合により一時的に利用できません。}}" @@ -5615,7 +5615,7 @@ msgstr "現在離席中" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "戻る" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "プレミアムモデルを選択" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "理由を選び直す" @@ -8804,7 +8804,7 @@ msgstr "{productName}アプリのコード" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "コードを再送しました" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "コミュニティアイコン" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "コミュニティID" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "コミュニティIDは必須です。" @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "パスワード(確認)" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "報告を送信するには、この表明を確認してください。" @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "カウントダウンタイマー" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "居住国" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "メールアドレス" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "メールアドレスは必須です。" @@ -14086,6 +14086,10 @@ msgstr "メールアドレスを変更しました" msgid "Email delivery" msgstr "メール配信" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "ここではメールによる報告はご利用いただけません" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "コードを「ABCD-1234」の形式で入力してください。" @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "有効な{theOtherPlatform}テンプレートURLまたはコードを入力してください。" #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "有効なメールアドレスを入力してください。" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "有効なメッセージリンクを入力してください。" @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "認証アプリに表示された{digitCount}桁のコードを入力してください。" #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "続行する前にコードを入力してください。" @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "メールアドレスを入力してください。パスワードをリセットするためのリンクをお送りします。" #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "報告を送信するには、法律上の氏名を入力してください。" @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "有効期限:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "問題を説明してください" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "報告を送信するには、問題を説明してください。" @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "カスタムURLの削除に失敗しました。もう一度お試しください。" #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "コードの再送信に失敗しました。もう一度お試しください。" @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "プレミアム状態のリセットに失敗しました。" #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "コードの送信に失敗しました。もう一度お試しください。" @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "メッセージを送信できませんでした。長押しでオプションを表示します。" #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "報告の送信に失敗しました。もう一度お試しください。" @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "フィンランド語" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "氏名" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "フルダイナミックレンジ" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "法律上の氏名(児童性的虐待に関する報告では任意)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "戻る" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "戻って有効なメールアドレスを入力してください。" @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "やっぱりやめます" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "私は、本通知に記載された情報および申し立てが正確かつ完全であることを、誠意をもって確認します。" @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "誰かがここに何かを貼り付けるように言ってきたら、それは詐欺で、あなたの{productName}アカウントを相手に渡してしまう可能性があります。" #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "もし違法だと考える場合は、どの法律に違反しているか、その理由を説明してください。" @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "2要素認証のバックアップコードをPDFと印刷物に含める" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "コミュニティIDを含めてください。" @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "招待背景" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "招待コード(任意)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "メッセージリンク" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "メッセージリンク" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "新着" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "新規" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "JSONレスポンスをここに貼り付け" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "メッセージのリンクを貼り付けてください。" @@ -26972,12 +26976,12 @@ msgstr "代名詞: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "2段階認証を有効にして、Visionaryアカウントを保護しましょう。{productName}をご利用いただきありがとうございます!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "ユーザーIDまたはユーザーのタグを少なくとも1つ入力してください。" #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "報告する相手のユーザーIDまたはユーザー名を入力してください。" @@ -28552,12 +28556,12 @@ msgstr "メッセージを報告" msgid "Report a user profile" msgstr "ユーザープロフィールを報告" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "報告の詳細" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "違法コンテンツを報告" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "報告の種類" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "報告対象ユーザーのタグ(任意)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "報告対象ユーザーのユーザー名(任意)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "リポスト:<0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "報告する内容を選択してください。" #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "お住まいの国を選択してください。" @@ -30736,7 +30745,7 @@ msgstr "送信ボタン" msgid "Send code" msgstr "コードを送信" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "DSA報告を送信" @@ -31294,7 +31303,7 @@ msgstr "テーマを共有" msgid "Share voice activity with all friends?" msgstr "すべての友達と音声アクティビティを共有しますか?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "チームが評価するために必要な情報を共有してください。" @@ -33176,7 +33185,7 @@ msgstr "最小化して起動" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "ステップ3" msgid "Step 4" msgstr "ステップ4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "ステップ5" @@ -34597,7 +34606,7 @@ msgstr "うまくいきませんでした。もう一度試すか、キャンセ msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "有効な色ではありません。16進数、rgb()、hsl()、またはCSSの色名をお試しください。" -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "有効なURLではないようです。" @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "このインスタンスのユーザー名タグはすでに設定されています。これ以上変更することはできません。" #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "認証コードが無効であるか、有効期限が切れています。" @@ -35495,6 +35504,10 @@ msgstr "このインスタンスでは、すでにユーザー名でのサイン msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "このインスタンスでは現在、最大720p、30FPSで画面共有が可能です。" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "このインスタンスはメールを使用していないため、このフォームから報告を受け付けることができません。アプリ内からコンテンツを報告するか、このインスタンスの管理者にお問い合わせください。" + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "HDR画像を標準範囲にトーンマップし、ピーク輝度を下げます。" #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "送信されたコードが多すぎます。{duration}待ってから、もう一度お試しください。" @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "ユーザーデバッグ" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "ユーザーID(任意)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "ユーザー設定" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "ユーザーのタグ(任意)" @@ -38626,8 +38639,10 @@ msgstr "ユーザーの音量" msgid "Username" msgstr "ユーザー名" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "ユーザー名(任意)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "アカウントを作成するには利用規約に同意する必要があります" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "報告を送信する前に、メールアドレスの確認が必要です。" diff --git a/fluxer_app/src/features/i18n/locales/ko/messages.po b/fluxer_app/src/features/i18n/locales/ko/messages.po index 9c9156e57..d2149a9a4 100644 --- a/fluxer_app/src/features/i18n/locales/ko/messages.po +++ b/fluxer_app/src/features/i18n/locales/ko/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {#개의 채널이 이 채널을 구독 중입니다 msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {#개 커뮤니티 찾음} other {#개 커뮤니티 찾음}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {#개 커뮤니티가 플럭스 캐패시터 오작동으로 인해 일시적으로 이용할 수 없습니다.} other {#개 커뮤니티가 플럭스 캐패시터 오작동으로 인해 일시적으로 이용할 수 없습니다.}}" @@ -5615,7 +5615,7 @@ msgstr "지금은 부재중" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "뒤로" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "프리미엄 모델 선택" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "사유를 다시 선택하세요" @@ -8804,7 +8804,7 @@ msgstr "{productName} 앱의 코드" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "코드 재전송됨" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "커뮤니티 아이콘" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "커뮤니티 ID" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "커뮤니티 ID는 필수 항목입니다." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "비밀번호 확인" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "신고를 보내려면 선언 내용을 확인하세요." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "카운트다운 타이머" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "거주 국가" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "이메일 주소" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "이메일 주소를 입력해 주세요." @@ -14086,6 +14086,10 @@ msgstr "이메일 변경 완료" msgid "Email delivery" msgstr "이메일 전송" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "이곳에서는 이메일로 신고할 수 없습니다" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "ABCD-1234 형식으로 코드를 입력하세요." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "유효한 {theOtherPlatform} 템플릿 URL 또는 코드를 입력하세요." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "유효한 이메일 주소를 입력하세요." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "유효한 메시지 링크를 입력하세요." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "인증 앱의 {digitCount}자리 코드를 입력하세요." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "계속하려면 코드를 입력하세요." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "이메일 주소를 입력하시면 비밀번호 재설정 링크를 보내드립니다." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "신고를 보내려면 실명을 입력하세요." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "만료:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "문제 설명" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "신고를 보내려면 문제를 설명하세요." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "맞춤 URL을 제거하지 못했습니다. 다시 시도해 주세요." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "코드 재전송에 실패했습니다. 다시 시도해 주세요." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "프리미엄 상태 초기화에 실패했습니다." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "코드를 보내지 못했습니다. 다시 시도해 주세요." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "메시지 전송 실패. 길게 눌러 옵션을 확인하세요." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "신고 전송에 실패했습니다. 다시 시도해 주세요." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "핀란드어" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "성과 이름" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "풀 다이내믹 레인지" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "실명 (아동 성학대 신고의 경우 선택 사항)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "뒤로 가기" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "돌아가서 유효한 이메일을 입력하세요." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "마음이 바뀌었어요" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "본 신고에 담긴 정보와 주장이 정확하고 완전함을 선의로 확인합니다." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "누군가 여기에 무언가를 붙여넣으라고 했다면, 이는 {productName} 계정을 빼앗길 수 있는 사기입니다." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "불법이라고 생각하시면 어떤 법을 위반했는지와 그 이유를 설명해 주세요." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "2단계 인증 백업 코드를 PDF 및 인쇄물에 포함" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "커뮤니티 ID를 포함하세요." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "초대 배경" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "초대 코드 (선택 사항)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "메시지 링크" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "메시지 링크" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "새 메시지" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "신규" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "여기에 JSON 응답을 붙여넣으세요" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "메시지 링크를 붙여넣으세요." @@ -26972,12 +26976,12 @@ msgstr "대명사: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "2단계 인증을 활성화하여 Visionary 계정을 보호하세요. {productName}을(를) 지원해 주셔서 감사합니다!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "사용자 ID 또는 사용자 태그 중 하나 이상을 입력해 주세요." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "신고하려는 사람의 사용자 ID 또는 사용자 이름을 입력하세요." @@ -28552,12 +28556,12 @@ msgstr "메시지 신고" msgid "Report a user profile" msgstr "사용자 프로필 신고" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "신고 세부정보" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "불법 콘텐츠 신고" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "신고 유형" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "신고 사용자 태그 (선택 사항)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "신고 사용자 이름 (선택 사항)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "재게시: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "신고할 항목을 선택하세요." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "거주 국가를 선택하세요." @@ -30736,7 +30745,7 @@ msgstr "보내기 버튼" msgid "Send code" msgstr "코드 전송" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "DSA 신고 보내기" @@ -31294,7 +31303,7 @@ msgstr "테마 공유" msgid "Share voice activity with all friends?" msgstr "모든 친구와 음성 활동을 공유하시겠어요?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "저희 팀이 평가하는 데 필요한 내용을 공유해 주세요." @@ -33176,7 +33185,7 @@ msgstr "최소화하여 시작" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "3단계" msgid "Step 4" msgstr "4단계" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "5단계" @@ -34597,7 +34606,7 @@ msgstr "완료하지 못했습니다. 다시 시도하거나 취소하세요." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "유효한 색상이 아닌 것 같아요. HEX, rgb(), hsl() 또는 CSS 색상 이름을 사용해 보세요." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "유효한 URL이 아닌 것 같아요." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "이 인스턴스의 사용자 이름 태그는 이미 설정되었습니다. 더 이상 변경할 수 없습니다." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "인증 코드가 유효하지 않거나 만료되었습니다." @@ -35495,6 +35504,10 @@ msgstr "이 인스턴스는 이미 사용자 이름을 사용하여 로그인합 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "이 인스턴스에서는 현재 최대 720p, 30 FPS로 화면 공유가 가능합니다." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "이 인스턴스는 이메일을 사용하지 않으므로 이 양식으로 신고를 받을 수 없습니다. 앱에서 콘텐츠를 신고하거나 이 인스턴스의 관리자에게 문의하세요." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "HDR 이미지를 표준 범위로 톤 매핑하여 최고 밝기를 줄입니다." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "코드를 너무 많이 보냈습니다. {duration} 후에 다시 시도해 주세요." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "사용자 디버그" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "사용자 ID (선택 사항)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "사용자 설정" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "사용자 태그 (선택 사항)" @@ -38626,8 +38639,10 @@ msgstr "사용자 볼륨" msgid "Username" msgstr "사용자 이름" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "사용자 이름 (선택 사항)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "계정을 만들려면 서비스 약관에 동의해야 합니다" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "신고를 보내려면 이메일을 인증해야 합니다." diff --git a/fluxer_app/src/features/i18n/locales/lt/messages.po b/fluxer_app/src/features/i18n/locales/lt/messages.po index 9ece0b631..3b91c203a 100644 --- a/fluxer_app/src/features/i18n/locales/lt/messages.po +++ b/fluxer_app/src/features/i18n/locales/lt/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# kanalas jį seka} other {# kanalai jį seka}} š msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {Rasta # bendruomenė} few {Rastos # bendruomenės} other {Rasta # bendruomenių}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# bendruomenė laikinai nepasiekiama dėl srauto kondensatoriaus gedimo.} few {# bendruomenės laikinai nepasiekiamos dėl srauto kondensatoriaus gedimo.} other {# bendruomenių laikinai nepasiekiama dėl srauto kondensatoriaus gedimo.}}" @@ -5615,7 +5615,7 @@ msgstr "Šiuo metu nesu prie kompiuterio" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Atgal" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Pasirinkite „Premium“ modelį" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Pasirinkite priežastį iš naujo" @@ -8804,7 +8804,7 @@ msgstr "Kodas iš „{productName}“ programėlės" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Kodas išsiųstas iš naujo" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Bendruomenės piktograma" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "Bendruomenės ID" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Būtinas bendruomenės ID." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Patvirtinti slaptažodį" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Patvirtinkite pareiškimą, kad išsiųstumėte pranešimą." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Atgalinės atskaitos laikmatis" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Gyvenamoji šalis" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "El. pašto adresas" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Reikalingas el. pašto adresas." @@ -14086,6 +14086,10 @@ msgstr "El. paštas pakeistas" msgid "Email delivery" msgstr "El. laiškų pristatymas" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Pranešimai el. paštu čia nepasiekiami" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Įveskite kodą formatu ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Įveskite tinkamą „{theOtherPlatform}“ šablono URL arba kodą." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Įveskite galiojantį el. pašto adresą." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Įveskite galiojančią žinutės nuorodą." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Įveskite {digitCount} skaitmenų kodą iš savo autentifikavimo programėlės." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Įveskite kodą prieš tęsdami." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Įveskite savo el. pašto adresą ir atsiųsime jums nuorodą slaptažodžiui nustatyti iš naujo." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Įveskite savo vardą ir pavardę pagal asmens dokumentą, kad galėtumėte išsiųsti pranešimą." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Baigiasi:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Paaiškinkite problemą" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Paaiškinkite problemą, kad galėtumėte išsiųsti pranešimą." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Nepavyko pašalinti pasirinktinio URL. Bandykite dar kartą." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Nepavyko iš naujo išsiųsti kodo. Bandykite dar kartą." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Nepavyko iš naujo nustatyti „Premium“ būsenos." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Nepavyko išsiųsti kodo. Bandykite dar kartą." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Nepavyko išsiųsti žinutės. Paspauskite ir palaikykite, kad pamatytumėte parinktis." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Nepavyko išsiųsti pranešimo. Bandykite dar kartą." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Suomių" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Vardas ir pavardė" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Visas dinaminis diapazonas" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Visas vardas ir pavardė pagal asmens dokumentą (nebūtina pranešant apie seksualinę prievartą prieš vaikus)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Grįžti" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Grįžkite ir įveskite galiojantį el. pašto adresą." @@ -18214,7 +18218,7 @@ msgid "I changed my mind" msgstr "Persigalvojau" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Sąžiningai patvirtinu, kad šiame pranešime pateikta informacija ir teiginiai yra tikslūs ir išsamūs." @@ -18300,7 +18304,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Jei kas nors liepė jums čia ką nors įklijuoti, tai sukčiavimas, kuriuo jie gali perimti jūsų „{productName}“ paskyrą." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Jei manote, kad tai neteisėta, nurodykite, kokį įstatymą ir kodėl." @@ -18713,7 +18717,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Įtraukti mano dviejų veiksnių atsarginius kodus į PDF ir spausdintą kopiją" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Įveskite bendruomenės ID." @@ -19153,7 +19157,7 @@ msgid "Invite background" msgstr "Kvietimo fonas" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Kvietimo kodas (nebūtina)" @@ -21826,7 +21830,7 @@ msgid "message link" msgstr "nuoroda į žinutę" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Žinutės nuoroda" @@ -23121,7 +23125,7 @@ msgid "New" msgstr "Nauja" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Nauja" @@ -25655,7 +25659,7 @@ msgid "Paste the JSON response here" msgstr "Įklijuokite JSON atsakymą čia" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Įklijuokite žinutės nuorodą." @@ -26973,12 +26977,12 @@ msgstr "Įvardžiai: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Apsaugokite savo „Visionary“ paskyrą įjungdami dviejų veiksnių autentifikavimą. Dėkojame, kad palaikote „{productName}“!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Pateikite bent naudotojo ID arba naudotojo žymą." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Nurodykite asmens, apie kurį pranešate, naudotojo ID arba naudotojo vardą." @@ -28553,12 +28557,12 @@ msgstr "Pranešti apie žinutę" msgid "Report a user profile" msgstr "Pranešti apie naudotojo profilį" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Išsami pranešimo informacija" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Pranešti apie neteisėtą turinį" @@ -28590,10 +28594,15 @@ msgid "Report type" msgstr "Pranešimo tipas" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Naudotojo, apie kurį pranešama, žyma (pasirinktinai)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Naudotojo, apie kurį pranešama, vardas (pasirinktinai)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Pakartotiniai bendrinimai: <0>{countLabel}" @@ -30583,7 +30592,7 @@ msgid "Select what you want to report." msgstr "Pasirinkite, apie ką norite pranešti." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Pasirinkite savo gyvenamosios vietos šalį." @@ -30737,7 +30746,7 @@ msgstr "Siuntimo mygtukas" msgid "Send code" msgstr "Siųsti kodą" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Siųsti DSA pranešimą" @@ -31295,7 +31304,7 @@ msgstr "Bendrinti temą" msgid "Share voice activity with all friends?" msgstr "Bendrinti balso aktyvumą su visais draugais?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Pateikite tai, ko mūsų komandai reikia šiam atvejui įvertinti." @@ -33177,7 +33186,7 @@ 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:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33319,7 +33328,7 @@ msgstr "3 žingsnis" msgid "Step 4" msgstr "4 žingsnis" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "5 žingsnis" @@ -34598,7 +34607,7 @@ msgstr "Nepavyko. Pabandykite dar kartą arba atšaukite." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Panašu, kad tai nėra tinkama spalva. Bandykite šešioliktainį kodą, rgb(), hsl() arba CSS spalvos pavadinimą." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Atrodo, tai nėra tinkamas URL." @@ -34919,7 +34928,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Šioje instancijoje vartotojo vardų žymos jau nustatytos. Jų nebegalima pakeisti." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Patvirtinimo kodas neteisingas arba jo galiojimo laikas baigėsi." @@ -35496,6 +35505,10 @@ msgstr "Ši instancija jau naudoja prisijungimui vartotojo vardus. Tai nebegali 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ę." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Ši instancija nenaudoja el. pašto, todėl negali priimti pranešimų per šią formą. Praneškite apie turinį programėlėje arba susisiekite su šios instancijos administratoriais." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36339,7 +36352,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Tonuoti HDR vaizdus į standartinį diapazoną, sumažinant didžiausią ryškumą." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Išsiųsta per daug kodų. Palaukite {duration} ir bandykite dar kartą." @@ -38547,7 +38560,7 @@ msgid "User debug" msgstr "Naudotojo derinimas" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "Naudotojo ID (pasirinktinai)" @@ -38607,7 +38620,7 @@ msgid "User settings" msgstr "Naudotojo nustatymai" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Naudotojo žyma (pasirinktinai)" @@ -38627,8 +38640,10 @@ msgstr "Naudotojo garsumas" msgid "Username" msgstr "Naudotojo vardas" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Naudotojo vardas (pasirinktinai)" @@ -41107,7 +41122,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Norėdami sukurti paskyrą, turite sutikti su paslaugų teikimo sąlygomis" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Prieš siųsdami pranešimą turite patvirtinti savo el. pašto adresą." diff --git a/fluxer_app/src/features/i18n/locales/nl/messages.po b/fluxer_app/src/features/i18n/locales/nl/messages.po index b189584fa..1465ee496 100644 --- a/fluxer_app/src/features/i18n/locales/nl/messages.po +++ b/fluxer_app/src/features/i18n/locales/nl/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# kanaal volgt} other {# kanalen volgen}} dit kanaa msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# community gevonden} other {# communities gevonden}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# community is tijdelijk niet beschikbaar door een storing in de fluxcondensator.} other {# communities zijn tijdelijk niet beschikbaar door een storing in de fluxcondensator.}}" @@ -5615,7 +5615,7 @@ msgstr "Nu afwezig" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Terug" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Kies het premiummodel" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Kies de reden opnieuw" @@ -8804,7 +8804,7 @@ msgstr "Code van de {productName}-app" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Code opnieuw verzonden" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Communitypictogram" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "Community-ID" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Community-ID is verplicht." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Wachtwoord bevestigen" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Bevestig de verklaring om de melding te verzenden." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Afteltimer" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Land van verblijf" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "E-mailadres" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "E-mailadres is verplicht." @@ -14086,6 +14086,10 @@ msgstr "E-mailadres gewijzigd" msgid "Email delivery" msgstr "E-mailbezorging" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Meldingen per e-mail zijn hier niet beschikbaar" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Voer een code in met de indeling ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Voer een geldige sjabloon-URL of -code van {theOtherPlatform} in." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Voer een geldig e-mailadres in." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Voer een geldige berichtlink in." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Voer de code van {digitCount} cijfers uit je authenticator-app in." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Voer de code in voordat je verdergaat." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Voer je e-mailadres in en we sturen je een link om je wachtwoord opnieuw in te stellen." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Vul je volledige officiële naam in om de melding te verzenden." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Verloopt:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Leg het probleem uit" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Leg het probleem uit om de melding te verzenden." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Kon de aangepaste URL niet verwijderen. Probeer het opnieuw." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Code opnieuw verzenden mislukt. Probeer het opnieuw." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Premiumstatus opnieuw instellen mislukt." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Verzenden van code mislukt. Probeer het opnieuw." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Verzenden mislukt. Houd ingedrukt voor opties." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Melding verzenden mislukt. Probeer het opnieuw." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Fins" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Voor- en achternaam" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Volledig dynamisch bereik" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Volledige officiële naam (optioneel voor meldingen van seksueel misbruik van kinderen)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Terug" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Ga terug en voer een geldig e-mailadres in." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Ik heb me bedacht" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Ik verklaar te goeder trouw dat de informatie en de beweringen in deze melding juist en volledig zijn." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Als iemand je heeft gevraagd om hier iets te plakken, is dat oplichting waarmee die persoon toegang tot je {productName}-account kan krijgen." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Als je denkt dat het illegaal is, geef dan aan welke wet en waarom." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Voeg mijn tweefactorback-upcodes toe aan de PDF en de afdruk" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Voer de community-ID in." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Achtergrond van uitnodiging" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Uitnodigingscode (optioneel)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "berichtlink" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Berichtlink" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Nieuw" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Nieuw" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Plak het JSON-antwoord hier" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Plak de berichtlink." @@ -26972,12 +26976,12 @@ msgstr "Voornaamwoorden: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Bescherm je Visionary-account door tweefactorauthenticatie in te schakelen. Bedankt voor je steun aan {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Geef minimaal een gebruikers-ID of een gebruikerstag op." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Geef de gebruikers-ID of gebruikersnaam op van de persoon die je meldt." @@ -28552,12 +28556,12 @@ msgstr "Meld een bericht" msgid "Report a user profile" msgstr "Een gebruikersprofiel melden" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Meldingsdetails" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Meld illegale inhoud" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Type melding" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Tag van gemelde gebruiker (optioneel)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Gebruikersnaam van gemelde gebruiker (optioneel)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Reposts: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Selecteer wat je wilt melden." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Selecteer je woonland." @@ -30736,7 +30745,7 @@ msgstr "Verzendknop" msgid "Send code" msgstr "Code verzenden" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "DSA-melding verzenden" @@ -31294,7 +31303,7 @@ msgstr "Thema delen" msgid "Share voice activity with all friends?" msgstr "Spraakactiviteit delen met alle vrienden?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Deel wat ons team nodig heeft om dit te beoordelen." @@ -33176,7 +33185,7 @@ msgstr "Starten geminimaliseerd" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Stap 3" msgid "Step 4" msgstr "Stap 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Stap 5" @@ -34597,7 +34606,7 @@ msgstr "Dat werkte niet. Probeer het opnieuw of annuleer." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Dat lijkt geen geldige kleur. Probeer hex, rgb(), hsl() of een CSS-kleurnaam." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Dat lijkt geen geldige URL." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "De gebruikersnaamtags op dit exemplaar zijn al ingesteld. Ze kunnen niet meer worden gewijzigd." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "De verificatiecode is ongeldig of verlopen." @@ -35495,6 +35504,10 @@ msgstr "Dit exemplaar gebruikt al gebruikersnamen om in te loggen. Dit kan niet 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Deze instantie gebruikt geen e-mail en kan dus geen meldingen via dit formulier ontvangen. Meld inhoud vanuit de app of neem contact op met de beheerders van deze instantie." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "HDR-afbeeldingen omzetten naar standaardbereik, waardoor de piekhelderheid wordt verminderd." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Te veel codes verzonden. Wacht {duration} en probeer het opnieuw." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Gebruiker debuggen" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "Gebruikers-ID (optioneel)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Gebruikersinstellingen" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Gebruikerstag (optioneel)" @@ -38626,8 +38639,10 @@ msgstr "Volume van gebruiker" msgid "Username" msgstr "Gebruikersnaam" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Gebruikersnaam (optioneel)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Je moet akkoord gaan met de gebruiksvoorwaarden om een account aan te maken" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Je moet je e-mailadres verifiëren voordat je een melding kunt versturen." diff --git a/fluxer_app/src/features/i18n/locales/no/messages.po b/fluxer_app/src/features/i18n/locales/no/messages.po index 2c7741bcb..98cf77972 100644 --- a/fluxer_app/src/features/i18n/locales/no/messages.po +++ b/fluxer_app/src/features/i18n/locales/no/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# kanal følger} other {# kanaler følger}} denne k msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# fellesskap funnet} other {# fellesskap funnet}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# fellesskap er midlertidig utilgjengelig på grunn av en feil i flukskondensatoren.} other {# fellesskap er midlertidig utilgjengelige på grunn av en feil i flukskondensatoren.}}" @@ -5615,7 +5615,7 @@ msgstr "Borte akkurat nå" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Tilbake" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Velg premiummodellen" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Velg årsaken på nytt" @@ -8804,7 +8804,7 @@ msgstr "Kode fra {productName}-appen" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Kode sendt på nytt" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Fellesskapsikon" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "Fellesskaps-ID" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Fellesskaps-ID er påkrevd." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Bekreft passord" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Bekreft erklæringen for å sende rapporten." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Nedtellingstidtaker" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Bostedsland" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "E-postadresse" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "E-postadresse er påkrevd." @@ -14086,6 +14086,10 @@ msgstr "E-postadresse endret" msgid "Email delivery" msgstr "E-postlevering" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Rapporter via e-post er ikke tilgjengelig her" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Skriv inn en kode i formatet ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Skriv inn en gyldig mal-URL eller malkode fra {theOtherPlatform}." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Skriv inn en gyldig e-postadresse." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Skriv inn en gyldig meldingslenke." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Skriv inn den {digitCount}-sifrede koden fra autentiseringsappen din." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Skriv inn koden før du fortsetter." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Skriv inn e-postadressen din, så sender vi deg en lenke for å tilbakestille passordet ditt." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Skriv inn ditt fulle juridiske navn for å sende rapporten." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Utløper:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Forklar problemet" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Forklar problemet for å sende rapporten." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Kunne ikke fjerne egendefinert URL. Prøv igjen." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Kunne ikke sende kode på nytt. Prøv igjen." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Kunne ikke tilbakestille premiumstatus." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Kunne ikke sende kode. Prøv igjen." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Kunne ikke sende melding. Hold inne for alternativer." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Rapporten ble ikke sendt. Prøv igjen." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Finsk" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Fornavn og etternavn" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Fullt dynamisk område" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Fullt juridisk navn (valgfritt for rapporter om seksuelle overgrep mot barn)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Gå tilbake" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Gå tilbake og skriv inn en gyldig e-postadresse." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Jeg ombestemte meg" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Jeg bekrefter i god tro at opplysningene og påstandene i denne rapporten er nøyaktige og fullstendige." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Hvis noen ba deg om å lime inn noe her, er det en svindel som kan gi dem tilgang til din {productName}-konto." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Hvis du mener det er ulovlig, si hvilken lov og hvorfor." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Inkluder sikkerhetskopikodene mine for totrinnsbekreftelse i PDF-en og utskriften" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Inkluder fellesskaps-ID-en." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Invitasjonsbakgrunn" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Invitasjonskode (valgfritt)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "meldingslenke" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Meldingslenke" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Ny" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Ny" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Lim inn JSON-svaret her" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Lim inn meldingslenken." @@ -26972,12 +26976,12 @@ msgstr "Pronomen: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Beskytt Visionary-kontoen din ved å aktivere tofaktorautentisering. Takk for at du støtter {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Oppgi en bruker-ID eller en brukertagg, eller begge deler." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Oppgi enten en bruker-ID eller et brukernavn for personen du rapporterer." @@ -28552,12 +28556,12 @@ msgstr "Rapporter en melding" msgid "Report a user profile" msgstr "Rapporter en brukerprofil" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Rapportdetaljer" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Rapporter ulovlig innhold" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Rapporttype" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Brukertagg til rapportert bruker (valgfritt)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Brukernavn til rapportert bruker (valgfritt)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Videredelinger: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Velg hva du vil rapportere." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Velg bostedsland." @@ -30736,7 +30745,7 @@ msgstr "Send-knapp" msgid "Send code" msgstr "Send kode" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Send DSA-rapport" @@ -31294,7 +31303,7 @@ msgstr "Del tema" msgid "Share voice activity with all friends?" msgstr "Dele taleaktivitet med alle venner?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Del det teamet vårt trenger for å vurdere dette." @@ -33176,7 +33185,7 @@ msgstr "Start minimert" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Trinn 3" msgid "Step 4" msgstr "Trinn 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Trinn 5" @@ -34597,7 +34606,7 @@ msgstr "Det fungerte ikke. Prøv igjen eller avbryt." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Det ser ikke ut som en gyldig farge. Prøv heksadesimal, rgb(), hsl() eller et CSS-fargenavn." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Det ser ikke ut som en gyldig URL." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Brukernavnstilene på denne instansen er allerede satt. De kan ikke lenger endres." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Bekreftelseskoden er ugyldig eller utløpt." @@ -35495,6 +35504,10 @@ msgstr "Denne instansen bruker allerede brukernavn for innlogging. Dette kan ikk 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Denne instansen bruker ikke e-post, så den kan ikke ta imot rapporter via dette skjemaet. Rapporter innhold fra appen, eller kontakt administratorene av denne instansen." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Tilpass tonene i HDR-bilder til standard dynamisk område for å redusere maksimal lysstyrke." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "For mange koder er sendt. Vent {duration}, og prøv igjen." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Brukerfeilsøking" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "Bruker-ID (valgfritt)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Brukerinnstillinger" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Brukertagg (valgfritt)" @@ -38626,8 +38639,10 @@ msgstr "Brukervolum" msgid "Username" msgstr "Brukernavn" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Brukernavn (valgfritt)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Du må godta vilkårene for bruk for å opprette en konto" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Du må bekrefte e-postadressen din før du sender en rapport." diff --git a/fluxer_app/src/features/i18n/locales/pl/messages.po b/fluxer_app/src/features/i18n/locales/pl/messages.po index 06796d47a..16fd4cca9 100644 --- a/fluxer_app/src/features/i18n/locales/pl/messages.po +++ b/fluxer_app/src/features/i18n/locales/pl/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# kanał obserwuje} other {# kanałów obserwuje}} msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {Znaleziono # społeczność} few {Znaleziono # społeczności} many {Znaleziono # społeczności} other {Znaleziono # społeczności}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# społeczność jest tymczasowo niedostępna z powodu awarii \"kondensatora strumienia\".} few {# społeczności są tymczasowo niedostępne z powodu awarii \"kondensatora strumienia\".} many {# społeczności jest tymczasowo niedostępnych z powodu awarii \"kondensatora strumienia\".} other {# społeczności są tymczasowo niedostępne z powodu awarii \"kondensatora strumienia\".}}" @@ -5615,7 +5615,7 @@ msgstr "Chwilowo mnie nie ma" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Wstecz" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Wybierz model premium" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Wybierz powód ponownie" @@ -8804,7 +8804,7 @@ msgstr "Kod z aplikacji {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Kod wysłany ponownie" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Ikona społeczności" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "Identyfikator społeczności" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Identyfikator społeczności jest wymagany." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Potwierdź hasło" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Potwierdź oświadczenie, aby wysłać zgłoszenie." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Minutnik" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Kraj zamieszkania" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Adres e-mail" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Adres e-mail jest wymagany." @@ -14086,6 +14086,10 @@ msgstr "Adres e-mail zmieniony" msgid "Email delivery" msgstr "Dostarczanie wiadomości e-mail" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Zgłoszenia przez e-mail nie są tu dostępne" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Wpisz kod w formacie ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Wprowadź prawidłowy adres URL lub kod szablonu {theOtherPlatform}." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Wpisz prawidłowy adres e-mail." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Wprowadź prawidłowy link do wiadomości." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Wprowadź {digitCount}-cyfrowy kod z aplikacji uwierzytelniającej." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Wpisz kod, aby kontynuować." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Wpisz swój adres e-mail, a wyślemy Ci link do zresetowania hasła." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Podaj swoje pełne imię i nazwisko, aby wysłać zgłoszenie." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Wygasa:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Wyjaśnij problem" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Wyjaśnij problem, aby wysłać zgłoszenie." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Nie udało się usunąć niestandardowego adresu URL. Spróbuj ponownie." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Nie udało się ponownie wysłać kodu. Spróbuj ponownie." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Nie udało się zresetować stanu Premium." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Nie udało się wysłać kodu. Spróbuj ponownie." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Nie udało się wysłać wiadomości. Przytrzymaj, aby wyświetlić opcje." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Nie udało się wysłać zgłoszenia. Spróbuj ponownie." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Fiński" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Imię i nazwisko" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Pełny zakres dynamiki" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Pełne imię i nazwisko jak w dokumencie tożsamości (opcjonalnie w zgłoszeniach dotyczących seksualnego wykorzystywania dzieci)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Wróć" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Wróć i wprowadź prawidłowy adres e-mail." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Jednak rezygnuję" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Potwierdzam w dobrej wierze, że informacje i zarzuty zawarte w tym zgłoszeniu są dokładne i kompletne." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Jeśli ktoś polecił Ci wkleić coś tutaj, to oszustwo, które może pozwolić tej osobie przejąć Twoje konto {productName}." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Jeśli uważasz, że jest to nielegalne, podaj, o jakie prawo chodzi i dlaczego." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Dołącz moje dwuskładnikowe kody zapasowe do pliku PDF i wydruku" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Podaj identyfikator społeczności." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Tło zaproszenia" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Kod zaproszenia (opcjonalnie)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "link do wiadomości" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Link do wiadomości" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Nowe" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Nowe" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Wklej odpowiedź JSON tutaj" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Wklej link do wiadomości." @@ -26972,12 +26976,12 @@ msgstr "Zaimki: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Chroń swoje konto Visionary, włączając uwierzytelnianie dwuskładnikowe. Dziękujemy za wspieranie {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Podaj identyfikator użytkownika lub tag użytkownika." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Podaj identyfikator lub nazwę użytkownika osoby, którą zgłaszasz." @@ -28552,12 +28556,12 @@ msgstr "Zgłoś wiadomość" msgid "Report a user profile" msgstr "Zgłoś profil użytkownika" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Szczegóły zgłoszenia" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Zgłoś nielegalne treści" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Typ zgłoszenia" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Tag zgłoszonego użytkownika (opcjonalnie)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Nazwa użytkownika zgłoszonej osoby (opcjonalnie)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Udostępnienia: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Wybierz, co chcesz zgłosić." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Wybierz kraj zamieszkania." @@ -30736,7 +30745,7 @@ msgstr "Przycisk wysyłania" msgid "Send code" msgstr "Wyślij kod" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Wyślij zgłoszenie DSA" @@ -31294,7 +31303,7 @@ msgstr "Udostępnij motyw" msgid "Share voice activity with all friends?" msgstr "Udostępnić aktywność głosową wszystkim znajomym?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Podaj szczegóły, które pomogą naszemu zespołowi ocenić zgłoszenie." @@ -33176,7 +33185,7 @@ msgstr "Zminimalizuj przy starcie" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Krok 3" msgid "Step 4" msgstr "Krok 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Krok 5" @@ -34597,7 +34606,7 @@ msgstr "Nie udało się. Spróbuj ponownie lub anuluj." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "To nie wygląda na prawidłowy kolor. Spróbuj formatu szesnastkowego, rgb(), hsl() lub nazwy koloru CSS." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "To nie wygląda na prawidłowy adres URL." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Tagów użytkownika na tej instancji nie można już zmienić." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Kod weryfikacyjny jest nieprawidłowy lub wygasł." @@ -35495,6 +35504,10 @@ msgstr "Ta instancja używa już nazw użytkowników do logowania. Nie można te 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Ta instancja nie korzysta z poczty e-mail, więc nie może przyjmować zgłoszeń przez ten formularz. Zgłoś treść w aplikacji lub skontaktuj się z administratorami tej instancji." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Mapuj obrazy HDR do standardowego zakresu, zmniejszając szczytową jasność." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Wysłano zbyt wiele kodów. Odczekaj {duration} i spróbuj ponownie." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Debugowanie użytkownika" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "Identyfikator użytkownika (opcjonalnie)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Ustawienia użytkownika" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Tag użytkownika (opcjonalnie)" @@ -38626,8 +38639,10 @@ msgstr "Głośność użytkownika" msgid "Username" msgstr "Nazwa użytkownika" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Nazwa użytkownika (opcjonalnie)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Musisz zaakceptować warunki korzystania z usługi, aby utworzyć konto" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Musisz zweryfikować swój adres e-mail, zanim wyślesz zgłoszenie." 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 d674d3984..ca1405e0b 100644 --- a/fluxer_app/src/features/i18n/locales/pt-BR/messages.po +++ b/fluxer_app/src/features/i18n/locales/pt-BR/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# canal segue} other {# canais seguem}} este canal. msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, =0 {# comunidades encontradas} one {# comunidade encontrada} other {# comunidades encontradas}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, =0 {# comunidades estão temporariamente indisponíveis devido a um defeito no capacitor de fluxo.} one {# comunidade está temporariamente indisponível devido a um defeito no capacitor de fluxo.} other {# comunidades estão temporariamente indisponíveis devido a um defeito no capacitor de fluxo.}}" @@ -5615,7 +5615,7 @@ msgstr "Ausente no momento" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Voltar" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Escolha o modelo premium" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Escolha o motivo novamente" @@ -8804,7 +8804,7 @@ msgstr "Código do app {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Código reenviado" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Ícone da comunidade" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "ID da comunidade" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "O ID da comunidade é obrigatório." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Confirmar senha" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Confirme a declaração para enviar a denúncia." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Contagem regressiva" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "País de residência" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Endereço de e-mail" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "O endereço de e-mail é obrigatório." @@ -14086,6 +14086,10 @@ msgstr "E-mail alterado" msgid "Email delivery" msgstr "Entrega de e-mail" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Denúncias por e-mail não estão disponíveis aqui" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Insira um código no formato ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Insira uma URL ou um código de modelo válido do {theOtherPlatform}." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Insira um endereço de e-mail válido." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Insira um link de mensagem válido." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Insira o código de {digitCount} dígitos do seu aplicativo autenticador." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Insira o código antes de continuar." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Digite seu e-mail e enviaremos um link para redefinir sua senha." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Digite seu nome completo conforme documento para enviar a denúncia." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Expira:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Explique o problema" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Explique o problema para enviar a denúncia." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Falha ao remover a URL personalizada. Tente novamente." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Falha ao reenviar o código. Tente novamente." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Falha ao redefinir o status premium." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Falha ao enviar o código. Tente novamente." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Não foi possível enviar a mensagem. Segure para ver as opções." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Não foi possível enviar a denúncia. Tente novamente." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Finlandês" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Nome e sobrenome" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Alcance dinâmico total" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Nome completo conforme documento (opcional para denúncias de abuso sexual infantil)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Voltar" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Volte e insira um e-mail válido." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Mudei de ideia" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Confirmo de boa-fé que as informações e alegações neste aviso são precisas e completas." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Se alguém pediu para você colar algo aqui, é um golpe que pode dar a essa pessoa acesso à sua conta do {productName}." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Se você acredita que é ilegal, diga qual lei e por quê." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Incluir meus códigos de backup de dois fatores no PDF e na impressão" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Inclua o ID da comunidade." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Plano de fundo do convite" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Código de convite (opcional)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "link da mensagem" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Link da mensagem" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Novo" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Novo" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Cole a resposta JSON aqui" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Cole o link da mensagem." @@ -26972,12 +26976,12 @@ msgstr "Pronomes: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Proteja sua conta Visionary ativando a autenticação de dois fatores. Obrigado por apoiar o {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Forneça pelo menos um ID de usuário ou uma tag de usuário." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Informe o ID ou o nome de usuário da pessoa que você está denunciando." @@ -28552,12 +28556,12 @@ msgstr "Denunciar uma mensagem" msgid "Report a user profile" msgstr "Denunciar um perfil de usuário" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Detalhes da denúncia" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Denunciar conteúdo ilegal" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Tipo de denúncia" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Tag do usuário denunciado (opcional)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Nome de usuário do usuário denunciado (opcional)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Republicações: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Selecione o que você quer denunciar." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Selecione seu país de residência." @@ -30736,7 +30745,7 @@ msgstr "Botão de enviar" msgid "Send code" msgstr "Enviar código" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Enviar denúncia DSA" @@ -31294,7 +31303,7 @@ msgstr "Compartilhar tema" msgid "Share voice activity with all friends?" msgstr "Compartilhar atividade de voz com todos os amigos?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Compartilhe o que nossa equipe precisa para avaliar isso." @@ -33176,7 +33185,7 @@ msgstr "Iniciar minimizado" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Etapa 3" msgid "Step 4" msgstr "Etapa 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Etapa 5" @@ -34597,7 +34606,7 @@ msgstr "Não funcionou. Tente novamente ou cancele." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Essa cor não parece válida. Tente usar hexadecimal, rgb(), hsl() ou um nome de cor CSS." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Parece que este não é um URL válido." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "As tags de nome de usuário nesta instância já estão definidas. Elas não podem mais ser alteradas." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "O código de verificação é inválido ou expirou." @@ -35495,6 +35504,10 @@ msgstr "Esta instância já usa nomes de usuário para fazer login. Isso não po 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Esta instância não usa e-mail, então não pode receber denúncias por este formulário. Denuncie conteúdo pelo app ou entre em contato com os administradores desta instância." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Mapeie imagens HDR para o intervalo padrão, reduzindo o pico de brilho." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Muitos códigos enviados. Aguarde {duration} e tente novamente." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Depurar usuário" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "ID do usuário (opcional)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Configurações de usuário" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Tag do usuário (opcional)" @@ -38626,8 +38639,10 @@ msgstr "Volume do usuário" msgid "Username" msgstr "Nome de usuário" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Nome de usuário (opcional)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Você deve concordar com os termos de serviço para criar uma conta" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Você precisa verificar seu e-mail antes de enviar uma denúncia." diff --git a/fluxer_app/src/features/i18n/locales/ro/messages.po b/fluxer_app/src/features/i18n/locales/ro/messages.po index 7fece637f..9c7b5fe0a 100644 --- a/fluxer_app/src/features/i18n/locales/ro/messages.po +++ b/fluxer_app/src/features/i18n/locales/ro/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# canal urmărește} other {# canale urmăresc}} ac msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# comunitate găsită} few {# comunități găsite} other {# de comunități găsite}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# comunitate este temporar indisponibilă din cauza unei defecțiuni a condensatorului de flux.} few {# comunități sunt temporar indisponibile din cauza unei defecțiuni a condensatorului de flux.} other {# de comunități sunt temporar indisponibile din cauza unei defecțiuni a condensatorului de flux.}}" @@ -5615,7 +5615,7 @@ msgstr "Plecat acum" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Înapoi" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Alege modelul premium" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Alege din nou motivul" @@ -8804,7 +8804,7 @@ msgstr "Codul din aplicația {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Cod retrimis" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Pictogramă comunitate" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "ID comunitate" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "ID-ul comunității este obligatoriu." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Confirmă parola" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Confirmă declarația pentru a trimite raportul." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Temporizator cu numărătoare inversă" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Țara de reședință" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Adresă de e-mail" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Adresa de e-mail este obligatorie." @@ -14086,6 +14086,10 @@ msgstr "E-mail modificat" msgid "Email delivery" msgstr "Livrare e-mail" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Raportarea prin e-mail nu este disponibilă aici" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Introdu un cod în formatul ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Introdu un URL sau un cod de șablon {theOtherPlatform} valid." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Introdu o adresă de e-mail validă." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Introdu un link de mesaj valid." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Introdu codul de {digitCount} cifre din aplicația de autentificare." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Introdu codul înainte de a continua." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Introdu adresa ta de e-mail și îți vom trimite un link pentru a-ți reseta parola." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Introdu numele legal complet pentru a trimite raportul." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Expiră:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Explică problema" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Explică problema pentru a trimite raportul." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Nu s-a putut elimina adresa URL personalizată. Încearcă din nou." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Nu s-a putut retrimite codul. Încearcă din nou." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Nu s-a putut reseta starea premium." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Nu s-a putut trimite codul. Încearcă din nou." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Nu s-a putut trimite mesajul. Ține apăsat pentru opțiuni." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Trimiterea raportului a eșuat. Încearcă din nou." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Finlandeză" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Nume și prenume" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Gamă dinamică completă" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Nume legal complet (opțional pentru rapoartele despre abuz sexual asupra copiilor)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Înapoi" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Întoarce-te și introdu o adresă de e-mail validă." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "M-am răzgândit" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Confirm cu bună-credință că informațiile și afirmațiile din acest raport sunt exacte și complete." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Dacă cineva ți-a spus să lipești ceva aici, este o înșelătorie care îi poate da acces la contul tău {productName}." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Dacă crezi că este ilegal, menționează ce lege și de ce." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Includează codurile mele de rezervă pentru autentificare în doi pași în PDF și în imprimare" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Include ID-ul comunității." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Fundalul invitației" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Cod de invitație (opțional)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "link mesaj" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Link mesaj" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Nou" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Nou" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Lipește răspunsul JSON aici" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Lipește linkul mesajului." @@ -26972,12 +26976,12 @@ msgstr "Pronume: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Protejează-ți contul Visionary activând autentificarea în doi pași. Mulțumim pentru susținerea {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Introdu cel puțin un ID de utilizator sau un tag de utilizator." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Introdu un ID de utilizator sau un nume de utilizator pentru persoana pe care o raportezi." @@ -28552,12 +28556,12 @@ msgstr "Raportează un mesaj" msgid "Report a user profile" msgstr "Raportează un profil de utilizator" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Detalii raport" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Raportează conținut ilegal" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Tip raport" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Tagul utilizatorului raportat (opțional)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Numele de utilizator al utilizatorului raportat (opțional)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Redistribuiri: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Selectează ce vrei să raportezi." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Selectează-ți țara de reședință." @@ -30736,7 +30745,7 @@ msgstr "Buton de trimitere" msgid "Send code" msgstr "Trimite codul" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Trimite raport DSA" @@ -31294,7 +31303,7 @@ msgstr "Partajează tema" msgid "Share voice activity with all friends?" msgstr "Partajezi activitatea vocală cu toți prietenii?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Spune-ne ce trebuie să știe echipa noastră pentru a evalua situația." @@ -33176,7 +33185,7 @@ msgstr "Pornește minimizat" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Pasul 3" msgid "Step 4" msgstr "Pasul 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Pasul 5" @@ -34597,7 +34606,7 @@ msgstr "Nu a funcționat. Încearcă din nou sau anulează." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Nu pare o culoare validă. Încearcă hex, rgb(), hsl() sau un nume de culoare CSS." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Nu pare un URL valid." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Etichetele de nume de utilizator de pe această instanță sunt deja setate. Nu se mai pot modifica." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Codul de verificare este incorect sau a expirat." @@ -35495,6 +35504,10 @@ msgstr "Instanța aceasta folosește deja nume de utilizator pentru autentificar 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Această instanță nu folosește e-mail, deci nu poate primi raportări prin acest formular. Raportează conținutul din aplicație sau contactează administratorii acestei instanțe." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Mapează imaginile HDR la un interval standard, reducând luminozitatea maximă." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Au fost trimise prea multe coduri. Așteaptă {duration} și încearcă din nou." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Depanare utilizator" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "ID utilizator (opțional)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Setări utilizator" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Tag utilizator (opțional)" @@ -38626,8 +38639,10 @@ msgstr "Volum utilizator" msgid "Username" msgstr "Nume de utilizator" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Nume de utilizator (opțional)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Trebuie să accepți termenii și condițiile pentru a crea un cont" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Trebuie să-ți verifici adresa de e-mail înainte de a trimite un raport." diff --git a/fluxer_app/src/features/i18n/locales/ru/messages.po b/fluxer_app/src/features/i18n/locales/ru/messages.po index a8da3feae..27967dd8f 100644 --- a/fluxer_app/src/features/i18n/locales/ru/messages.po +++ b/fluxer_app/src/features/i18n/locales/ru/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# канал подписан} few {# канала msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {Найдено # сообщество} few {Найдено # сообщества} many {Найдено # сообществ} other {Найдено # сообщества}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# сообщество временно недоступно из-за неисправности потокового накопителя.} few {# сообщества временно недоступны из-за неисправности потокового накопителя.} many {# сообществ временно недоступны из-за неисправности потокового накопителя.} other {# сообществ временно недоступны из-за неисправности потокового накопителя.}}" @@ -5615,7 +5615,7 @@ msgstr "Сейчас нет на месте" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Назад" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Выберите премиум-модель" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Выберите причину заново" @@ -8804,7 +8804,7 @@ msgstr "Код из приложения {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Код отправлен повторно" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Значок сообщества" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "ID сообщества" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Требуется ID сообщества." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Подтвердите пароль" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Подтвердите заявление, чтобы отправить жалобу." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Таймер обратного отсчёта" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Страна проживания" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Эл. почта" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Требуется адрес электронной почты." @@ -14086,6 +14086,10 @@ msgstr "Эл. почта изменена" msgid "Email delivery" msgstr "Доставка электронной почты" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Жалобы по электронной почте здесь недоступны" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Введите код в формате ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Введите допустимый URL-адрес или код шаблона {theOtherPlatform}." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Введите действительный адрес электронной почты." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Введите действительную ссылку на сообщение." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Введите {digitCount}-значный код из приложения-аутентификатора." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Введите код, чтобы продолжить." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Введите адрес электронной почты, и мы отправим вам ссылку для сброса пароля." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Введите полное юридическое имя, чтобы отправить жалобу." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Истекает:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Опишите проблему" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Опишите проблему, чтобы отправить жалобу." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Не удалось удалить пользовательский URL. Повторите попытку." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Не удалось отправить код повторно. Повторите попытку." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Не удалось сбросить премиум-статус." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Не удалось отправить код. Повторите попытку." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Не удалось отправить сообщение. Нажмите и удерживайте, чтобы увидеть опции." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Не удалось отправить жалобу. Повторите попытку." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Финский" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Имя и фамилия" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Полный динамический диапазон" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Полное имя по документам (необязательно для жалоб на сексуальное насилие над детьми)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Назад" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Вернитесь и введите действительный адрес электронной почты." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Я передумал(а)" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Настоящим добросовестно подтверждаю, что сведения и утверждения в этом уведомлении точны и полны." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Если кто-то попросил вас что-то сюда вставить, это мошенничество, и так злоумышленник может получить доступ к вашему аккаунту {productName}." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Если вы считаете, что это незаконно, укажите, какой закон и почему." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Включить мои резервные коды двухфакторной аутентификации в PDF и распечатку" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Укажите ID сообщества." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Фон приглашения" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Код приглашения (необязательно)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "ссылка на сообщение" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Ссылка на сообщение" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Новое" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Новое" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Вставьте сюда JSON-ответ" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Вставьте ссылку на сообщение." @@ -26972,12 +26976,12 @@ msgstr "Местоимения: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Защитите свой аккаунт Visionary, включив двухфакторную аутентификацию. Спасибо за поддержку {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Укажите хотя бы ID пользователя или тег пользователя." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Укажите ID пользователя или имя пользователя, на которого вы жалуетесь." @@ -28552,12 +28556,12 @@ msgstr "Пожаловаться на сообщение" msgid "Report a user profile" msgstr "Пожаловаться на профиль пользователя" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Детали жалобы" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Пожаловаться на незаконный контент" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Тип жалобы" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Тег пользователя, на которого жалуетесь (необязательно)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Имя пользователя, на которого жалуетесь (необязательно)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Репосты: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Выберите, на что хотите пожаловаться." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Выберите страну проживания." @@ -30736,7 +30745,7 @@ msgstr "Кнопка отправки" msgid "Send code" msgstr "Отправить код" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Отправить жалобу по DSA" @@ -31294,7 +31303,7 @@ msgstr "Поделиться темой" msgid "Share voice activity with all friends?" msgstr "Делиться голосовой активностью со всеми друзьями?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Расскажите, что нашей команде нужно знать для оценки." @@ -33176,7 +33185,7 @@ msgstr "Начинать свернутым" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Шаг 3" msgid "Step 4" msgstr "Шаг 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Шаг 5" @@ -34597,7 +34606,7 @@ msgstr "Не получилось. Повторите попытку или от msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Это не похоже на действительный цвет. Попробуйте шестнадцатеричный код, rgb(), hsl() или название цвета CSS." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Похоже, это недействительная ссылка." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Теги имен пользователей в этом экземпляре уже настроены. Их больше нельзя изменить." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Неверный код подтверждения или срок его действия истёк." @@ -35495,6 +35504,10 @@ msgstr "Этот экземпляр уже использует имена по msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "В этом экземпляре демонстрация экрана ограничена качеством 720p при 30 FPS." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Этот экземпляр не использует электронную почту, поэтому не может принимать жалобы через эту форму. Пожалуйтесь на контент в приложении или свяжитесь с администраторами этого экземпляра." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Тональная компрессия HDR-изображений до стандартного диапазона, уменьшающая пиковую яркость." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Отправлено слишком много кодов. Подождите {duration} и повторите попытку." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Отладка пользователя" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "ID пользователя (необязательно)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Настройки пользователя" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Тег пользователя (необязательно)" @@ -38626,8 +38639,10 @@ msgstr "Громкость пользователя" msgid "Username" msgstr "Имя пользователя" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Имя пользователя (необязательно)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Чтобы создать аккаунт, вы должны согласиться с условиями использования" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Чтобы отправить жалобу, подтвердите адрес электронной почты." diff --git a/fluxer_app/src/features/i18n/locales/sv-SE/messages.po b/fluxer_app/src/features/i18n/locales/sv-SE/messages.po index 3ba3e6f99..e17f9642f 100644 --- a/fluxer_app/src/features/i18n/locales/sv-SE/messages.po +++ b/fluxer_app/src/features/i18n/locales/sv-SE/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# kanal följer} other {# kanaler följer}} den hä msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# community hittades} other {# communities hittades}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# community är tillfälligt otillgänglig på grund av ett fel i flödeskondensatorn.} other {# communities är tillfälligt otillgängliga på grund av ett fel i flödeskondensatorn.}}" @@ -5615,7 +5615,7 @@ msgstr "Borta just nu" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Tillbaka" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Välj premiummodell" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Välj anledning igen" @@ -8804,7 +8804,7 @@ msgstr "Kod från appen {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Kod skickad igen" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Communityikon" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "Community-ID" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Community-ID krävs." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Bekräfta lösenord" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Bekräfta försäkran för att skicka anmälan." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Nedräkningstimer" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Bosättningsland" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "E-postadress" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "E-postadress krävs." @@ -14086,6 +14086,10 @@ msgstr "E-postadress ändrad" msgid "Email delivery" msgstr "E-postleverans" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Anmälningar via e-post är inte tillgängliga här" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Retur" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Ange en kod i formatet ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Ange en giltig malladress eller kod för {theOtherPlatform}." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Ange en giltig e-postadress." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Ange en giltig meddelandelänk." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Ange den {digitCount}-siffriga koden från din autentiseringsapp." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Ange koden innan du fortsätter." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Ange din e-postadress så skickar vi en länk för att återställa ditt lösenord." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Ange ditt fullständiga juridiska namn för att skicka anmälan." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Upphör:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Förklara problemet" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Förklara problemet för att skicka anmälan." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Kunde inte ta bort den anpassade URL:en. Försök igen." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Det gick inte att skicka koden igen. Försök igen." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Kunde inte återställa premiumstatus." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Det gick inte att skicka koden. Försök igen." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Kunde inte skicka meddelande. Håll ned för alternativ." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Kunde inte skicka anmälan. Försök igen." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Finska" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "För- och efternamn" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Fullt dynamiskt omfång" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Fullständigt juridiskt namn (valfritt för anmälningar om sexuella övergrepp mot barn)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Gå tillbaka" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Gå tillbaka och ange en giltig e-postadress." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Jag ångrade mig" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Jag försäkrar i god tro att uppgifterna och påståendena i denna anmälan är korrekta och fullständiga." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Om någon ber dig att klistra in något här är det en bluff som kan ge dem tillgång till ditt {productName}-konto." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Om du anser att det är olagligt, ange vilken lag och varför." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Inkludera mina tvåfaktorsbackupkoder i PDF-filen och utskriften" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Ange community-ID:t." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Inbjudningsbakgrund" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Inbjudningskod (valfritt)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "meddelandelänk" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Länk till meddelande" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Nytt" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Ny" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Klistra in JSON-svaret här" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Klistra in meddelandelänken." @@ -26972,12 +26976,12 @@ msgstr "Pronomen: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Skydda ditt Visionary-konto genom att aktivera tvåfaktorsautentisering. Tack för att du stöder {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Ange minst ett användar-ID eller en användartagg." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Ange antingen ett användar-ID eller ett användarnamn för personen du anmäler." @@ -28552,12 +28556,12 @@ msgstr "Anmäl ett meddelande" msgid "Report a user profile" msgstr "Anmäl en användarprofil" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Information om anmälan" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Anmäl olagligt innehåll" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Typ av anmälan" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Användartagg för anmäld person (valfritt)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Användarnamn för anmäld person (valfritt)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Återpubliceringar: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Välj vad du vill anmäla." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Välj ditt bosättningsland." @@ -30736,7 +30745,7 @@ msgstr "Skicka-knapp" msgid "Send code" msgstr "Skicka kod" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Skicka DSA-anmälan" @@ -31294,7 +31303,7 @@ msgstr "Dela tema" msgid "Share voice activity with all friends?" msgstr "Dela röstaktivitet med alla vänner?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Berätta vad vårt team behöver för att bedöma detta." @@ -33176,7 +33185,7 @@ msgstr "Starta minimerad" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Steg 3" msgid "Step 4" msgstr "Steg 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Steg 5" @@ -34597,7 +34606,7 @@ msgstr "Det fungerade inte. Försök igen eller avbryt." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Det där ser inte ut som en giltig färg. Prova hex, rgb(), hsl() eller ett CSS-färgnamn." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Det där ser inte ut som en giltig URL." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Användarnamnetiketter på den här instansen är redan inställda. De kan inte ändras längre." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Verifieringskoden är ogiltig eller har gått ut." @@ -35495,6 +35504,10 @@ msgstr "Den här instansen använder redan användarnamn för inloggning. Det g 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Den här instansen använder inte e-post och kan därför inte ta emot anmälningar via det här formuläret. Anmäl innehåll inifrån appen eller kontakta administratörerna för den här instansen." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Tonmappa HDR-bilder till standardomfång, vilket minskar den högsta ljusstyrkan." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "För många koder har skickats. Vänta {duration} och försök igen." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Användarfelsökning" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "Användar-ID (valfritt)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Användarinställningar" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Användartagg (valfritt)" @@ -38626,8 +38639,10 @@ msgstr "Användarvolym" msgid "Username" msgstr "Användarnamn" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Användarnamn (valfritt)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Du måste godkänna användarvillkoren för att skapa ett konto" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Du måste verifiera din e-postadress innan du kan skicka en anmälan." diff --git a/fluxer_app/src/features/i18n/locales/th/messages.po b/fluxer_app/src/features/i18n/locales/th/messages.po index 6c1ca717c..226b34dc0 100644 --- a/fluxer_app/src/features/i18n/locales/th/messages.po +++ b/fluxer_app/src/features/i18n/locales/th/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# ช่องทางติดตาม} other {# msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {พบ # คอมมูนิตี้} other {พบ # คอมมูนิตี้}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# คอมมูนิตี้ไม่พร้อมใช้งานชั่วคราว เนื่องจากเครื่องฟลักซ์คาปาซิเตอร์ทำงานผิดปกติ} other {# คอมมูนิตี้ไม่พร้อมใช้งานชั่วคราว เนื่องจากเครื่องฟลักซ์คาปาซิเตอร์ทำงานผิดปกติ}}" @@ -5615,7 +5615,7 @@ msgstr "ไม่อยู่ตอนนี้" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "ย้อนกลับ" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "เลือกโมเดลพรีเมียม" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "เลือกเหตุผลอีกครั้ง" @@ -8804,7 +8804,7 @@ msgstr "รหัสจากแอป {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "ส่งรหัสอีกครั้งแล้ว" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "ไอคอนคอมมูนิตี้" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "ID คอมมูนิตี้" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "ต้องระบุ ID คอมมูนิตี้" @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "ยืนยันรหัสผ่าน" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "ยืนยันคำรับรองเพื่อส่งรายงาน" @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "ตัวจับเวลาถอยหลัง" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "ประเทศที่พำนัก" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "ที่อยู่อีเมล" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "ต้องระบุที่อยู่อีเมล" @@ -14086,6 +14086,10 @@ msgstr "เปลี่ยนอีเมลแล้ว" msgid "Email delivery" msgstr "การส่งอีเมล" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "ไม่สามารถรายงานทางอีเมลได้ที่นี่" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "ป้อนรหัสในรูปแบบ ABCD-1234" @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "ป้อน URL หรือรหัสเทมเพลต {theOtherPlatform} ที่ถูกต้อง" #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "ป้อนที่อยู่อีเมลที่ถูกต้อง" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "ป้อนลิงก์ข้อความที่ถูกต้อง" @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "ป้อนรหัส {digitCount} หลักจากแอปยืนยันตัวตนของคุณ" #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "ป้อนรหัสก่อนดำเนินการต่อ" @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "ป้อนอีเมลของคุณ แล้วเราจะส่งลิงก์สำหรับรีเซ็ตรหัสผ่านให้" #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "กรุณากรอกชื่อจริงตามกฎหมายของคุณเพื่อส่งรายงาน" @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "หมดอายุ:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "อธิบายปัญหา" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "อธิบายปัญหาเพื่อส่งรายงาน" @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "ลบ URL ที่กำหนดเองไม่สำเร็จ ลองอีกครั้ง" #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "ส่งรหัสอีกครั้งไม่สำเร็จ ลองอีกครั้ง" @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "รีเซ็ตสถานะพรีเมียมไม่สำเร็จ" #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "ส่งรหัสไม่สำเร็จ ลองอีกครั้ง" @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "ส่งข้อความไม่สำเร็จ แตะค้างไว้เพื่อดูตัวเลือก" #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "ส่งรายงานไม่สำเร็จ ลองอีกครั้ง" @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "ฟินแลนด์" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "ชื่อ-นามสกุล" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "ช่วงไดนามิกเต็มรูปแบบ" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "ชื่อ-นามสกุลจริง (ไม่บังคับสำหรับรายงานการล่วงละเมิดทางเพศเด็ก)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "ย้อนกลับ" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "กลับไปป้อนอีเมลที่ถูกต้อง" @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "เปลี่ยนใจแล้ว" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "ข้าพเจ้ายืนยันโดยสุจริตว่าข้อมูลและข้อกล่าวหาในรายงานนี้ถูกต้องและครบถ้วน" @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "หากมีใครบอกให้คุณวางอะไรลงในช่องนี้ แสดงว่าเป็นกลโกงที่อาจทำให้พวกเขาสามารถเข้าถึงบัญชี {productName} ของคุณได้" #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "หากคุณเชื่อว่าผิดกฎหมาย โปรดระบุว่ากฎหมายใดและเพราะเหตุใด" @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "รวมรหัสสำรองการยืนยันสองขั้นตอนของฉันไว้ในไฟล์ PDF และเอกสารที่พิมพ์" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "ระบุ ID คอมมูนิตี้" @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "ภาพพื้นหลังคำเชิญ" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "รหัสเชิญ (ไม่บังคับ)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "ลิงก์ข้อความ" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "ลิงก์ข้อความ" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "ใหม่" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "ใหม่" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "วางการตอบกลับ JSON ที่นี่" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "วางลิงก์ข้อความ" @@ -26972,12 +26976,12 @@ msgstr "สรรพนาม: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "ปกป้องบัญชี Visionary ของคุณด้วยการเปิดใช้งานการยืนยันตัวตนแบบสองชั้น ขอบคุณที่สนับสนุน {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "ระบุ ID ผู้ใช้ หรือแท็กผู้ใช้อย่างน้อยหนึ่งอย่าง" #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "ระบุ ID ผู้ใช้ หรือชื่อผู้ใช้ของบุคคลที่คุณต้องการรายงาน" @@ -28552,12 +28556,12 @@ msgstr "รายงานข้อความ" msgid "Report a user profile" msgstr "รายงานโปรไฟล์ผู้ใช้" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "รายละเอียดการรายงาน" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "รายงานเนื้อหาผิดกฎหมาย" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "ประเภทการรายงาน" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "แท็กผู้ใช้ที่ถูกรายงาน (ไม่บังคับ)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "ชื่อผู้ใช้ของผู้ที่ถูกรายงาน (ไม่บังคับ)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "รีโพสต์: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "เลือกสิ่งที่คุณต้องการรายงาน" #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "เลือกประเทศที่คุณอาศัยอยู่" @@ -30736,7 +30745,7 @@ msgstr "ปุ่มส่งข้อความ" msgid "Send code" msgstr "ส่งรหัส" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "ส่งรายงาน DSA" @@ -31294,7 +31303,7 @@ msgstr "แชร์ธีม" msgid "Share voice activity with all friends?" msgstr "แชร์กิจกรรมเสียงกับเพื่อนทั้งหมดหรือไม่" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "แชร์ข้อมูลที่ทีมของเราต้องใช้ในการประเมิน" @@ -33176,7 +33185,7 @@ msgstr "เริ่มแบบย่อ" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "ขั้นตอนที่ 3" msgid "Step 4" msgstr "ขั้นตอนที่ 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "ขั้นตอนที่ 5" @@ -34597,7 +34606,7 @@ msgstr "ไม่สำเร็จ ลองอีกครั้ง หรื msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "ดูเหมือนจะไม่ใช่สีที่ถูกต้อง ลองใช้โค้ดสีแบบ hex, rgb(), hsl() หรือชื่อสีของ CSS" -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "ดูเหมือนจะไม่ใช่ URL ที่ถูกต้อง" @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "แท็กชื่อผู้ใช้ในอินสแตนซ์นี้ถูกตั้งค่าไว้แล้ว จะไม่สามารถเปลี่ยนแปลงได้อีก" #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "รหัสยืนยันไม่ถูกต้องหรือหมดอายุแล้ว" @@ -35495,6 +35504,10 @@ msgstr "อินสแตนซ์นี้ใช้ชื่อผู้ใช msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "ปัจจุบันอินสแตนซ์นี้อนุญาตให้แชร์หน้าจอได้สูงสุด 720p ที่ 30 FPS" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "อินสแตนซ์นี้ไม่ได้ใช้อีเมล จึงรับรายงานผ่านแบบฟอร์มนี้ไม่ได้ โปรดรายงานเนื้อหาจากภายในแอป หรือติดต่อผู้ดูแลระบบของอินสแตนซ์นี้" + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "ปรับโทนภาพ HDR เป็นช่วงมาตรฐาน ลดความสว่างสูงสุด" #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "ส่งรหัสหลายครั้งเกินไป รอ {duration} แล้วลองอีกครั้ง" @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "แก้ไขข้อบกพร่องของผู้ใช้" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "ID ผู้ใช้ (ไม่บังคับ)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "การตั้งค่าผู้ใช้" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "แท็กผู้ใช้ (ไม่บังคับ)" @@ -38626,8 +38639,10 @@ msgstr "ระดับเสียงของผู้ใช้" msgid "Username" msgstr "ชื่อผู้ใช้" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "ชื่อผู้ใช้ (ไม่บังคับ)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "คุณต้องยอมรับข้อกำหนดในการให้บริการเพื่อสร้างบัญชี" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "คุณต้องยืนยันอีเมลก่อนส่งรายงาน" diff --git a/fluxer_app/src/features/i18n/locales/tr/messages.po b/fluxer_app/src/features/i18n/locales/tr/messages.po index 63f4b3637..3e3ea67d0 100644 --- a/fluxer_app/src/features/i18n/locales/tr/messages.po +++ b/fluxer_app/src/features/i18n/locales/tr/messages.po @@ -1093,7 +1093,7 @@ msgstr "Bu kanalı {count, plural, one {# kanal} other {# kanal}} takip ediyor. msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# topluluk bulundu} other {# topluluk bulundu}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# topluluk, flux kapasitörü arızası nedeniyle geçici olarak kullanılamıyor.} other {# topluluk, flux kapasitörü arızası nedeniyle geçici olarak kullanılamıyor.}}" @@ -5615,7 +5615,7 @@ msgstr "Şu an uzakta" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Geri" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Premium modeli seçin" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Nedeni tekrar seçin" @@ -8804,7 +8804,7 @@ msgstr "{productName} uygulamasından gelen kod" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Kod yeniden gönderildi" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Topluluk simgesi" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "Topluluk kimliği" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Topluluk kimliği gerekli." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Parolayı onayla" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Raporu göndermek için beyanı onaylayın." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Geri sayım sayacı" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "İkamet edilen ülke" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "E-posta adresi" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "E-posta adresi gerekli." @@ -14086,6 +14086,10 @@ msgstr "E-posta değiştirildi" msgid "Email delivery" msgstr "E-posta gönderimi" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "E-posta ile bildirim burada kullanılamıyor" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Kodu ABCD-1234 biçiminde girin." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Geçerli bir {theOtherPlatform} şablon URL'si veya kodu girin." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Geçerli bir e-posta adresi girin." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Geçerli bir mesaj bağlantısı girin." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Kimlik doğrulayıcı uygulamanızdaki {digitCount} haneli kodu girin." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Devam etmeden önce kodu girin." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "E-posta adresinizi girin, parolanızı sıfırlamanız için size bir bağlantı göndereceğiz." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Raporu göndermek için tam yasal adınızı girin." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Sona eriyor:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Sorunu açıklayın" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Raporu göndermek için sorunu açıklayın." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Özel URL kaldırılamadı. Tekrar deneyin." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Kod yeniden gönderilemedi. Tekrar deneyin." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Premium durumu sıfırlanamadı." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Kod gönderilemedi. Tekrar deneyin." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Mesaj gönderilemedi. Seçenekler için basılı tutun." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Rapor gönderilemedi. Tekrar deneyin." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Fince" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Ad ve soyad" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Tam dinamik aralık" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Tam yasal ad (çocuk cinsel istismarı raporları için isteğe bağlı)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Geri dön" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Geri dönün ve geçerli bir e-posta adresi girin." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Fikrimi değiştirdim" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Bu raporda yer alan bilgilerin ve iddiaların doğru ve eksiksiz olduğunu iyi niyetle onaylıyorum." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Eğer birisi size buraya bir şey yapıştırmanızı söylerse, bu sizin {productName} hesabınıza erişimlerini sağlayabilecek bir dolandırıcılık girişimidir." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Yasa dışı olduğunu düşünüyorsanız hangi yasaya aykırı olduğunu ve nedenini belirtin." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "İki faktörlü yedek kodlarımı PDF ve çıktıda dahil et" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Topluluk kimliğini girin." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Davet arka planı" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Davet kodu (isteğe bağlı)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "mesaj bağlantısı" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Mesaj bağlantısı" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Yeni" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Yeni" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "JSON yanıtını buraya yapıştırın" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Mesaj bağlantısını yapıştırın." @@ -26972,12 +26976,12 @@ msgstr "Zamirler: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "İki faktörlü kimlik doğrulamayı etkinleştirerek Visionary hesabınızı koruyun. {productName} uygulamasını desteklediğiniz için teşekkürler!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "En az bir kullanıcı kimliği veya kullanıcı etiketi girin." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Bildirdiğiniz kişinin kullanıcı kimliğini veya kullanıcı adını girin." @@ -28552,12 +28556,12 @@ msgstr "Bir mesajı bildir" msgid "Report a user profile" msgstr "Bir kullanıcı profilini bildir" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Rapor ayrıntıları" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Yasa dışı içeriği bildir" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Rapor türü" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Bildirilen kullanıcının etiketi (isteğe bağlı)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Bildirilen kullanıcının kullanıcı adı (isteğe bağlı)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Yeniden paylaşımlar: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Neyi bildirmek istediğinizi seçin." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "İkamet ettiğiniz ülkeyi seçin." @@ -30736,7 +30745,7 @@ msgstr "Gönder düğmesi" msgid "Send code" msgstr "Kod gönder" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "DSA raporu gönder" @@ -31294,7 +31303,7 @@ msgstr "Temayı paylaş" msgid "Share voice activity with all friends?" msgstr "Ses etkinliğiniz tüm arkadaşlarınızla paylaşılsın mı?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Ekibimizin bunu değerlendirmesi için gerekenleri paylaşın." @@ -33176,7 +33185,7 @@ 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:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "3. Adım" msgid "Step 4" msgstr "4. Adım" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "5. Adım" @@ -34597,7 +34606,7 @@ msgstr "İşlem başarısız oldu. Tekrar deneyin veya iptal edin." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Geçerli bir renk gibi görünmüyor. Hex, rgb(), hsl() veya bir CSS renk adı deneyin." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Geçerli bir URL gibi görünmüyor." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Bu kurulumdaki kullanıcı adı etiketleri zaten ayarlanmış. Artık değiştirilemezler." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Doğrulama kodu geçersiz veya süresi dolmuş." @@ -35495,6 +35504,10 @@ msgstr "Bu kurulumda oturum açmak için zaten kullanıcı adları kullanılıyo 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Bu kurulum e-posta kullanmıyor, bu yüzden bu form üzerinden bildirim alamaz. İçeriği uygulama içinden bildirin veya bu kurulumun yöneticileriyle iletişime geçin." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "HDR görüntüleri standart aralığa ton eşleyerek en yüksek parlaklığı azaltın." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Çok fazla kod gönderildi. {duration} bekleyip tekrar deneyin." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Kullanıcı hata ayıklaması" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "Kullanıcı kimliği (isteğe bağlı)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Kullanıcı ayarları" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Kullanıcı etiketi (isteğe bağlı)" @@ -38626,8 +38639,10 @@ msgstr "Kullanıcı sesi" msgid "Username" msgstr "Kullanıcı adı" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Kullanıcı adı (isteğe bağlı)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Hesap oluşturmak için hizmet şartlarını kabul etmelisiniz" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Rapor göndermeden önce e-postanızı doğrulamanız gerekir." diff --git a/fluxer_app/src/features/i18n/locales/uk/messages.po b/fluxer_app/src/features/i18n/locales/uk/messages.po index 106c6b2d7..5af576561 100644 --- a/fluxer_app/src/features/i18n/locales/uk/messages.po +++ b/fluxer_app/src/features/i18n/locales/uk/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# канал підписаний} few {# кана msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {Знайдено # спільноту} few {Знайдено # спільноти} many {Знайдено # спільнот} other {Знайдено # спільноти}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# спільнота тимчасово недоступна через несправність потокового конденсатора.} few {# спільноти тимчасово недоступні через несправність потокового конденсатора.} many {# спільнот тимчасово недоступні через несправність потокового конденсатора.} other {# спільнот тимчасово недоступні через несправність потокового конденсатора.}}" @@ -5615,7 +5615,7 @@ msgstr "Зараз відсутній(-я)" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Назад" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Виберіть преміум-модель" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Вибрати причину знову" @@ -8804,7 +8804,7 @@ msgstr "Код із програми {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Код надіслано повторно" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Іконка спільноти" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "Ідентифікатор спільноти" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Потрібен ідентифікатор спільноти." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Підтвердьте пароль" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Підтвердьте заяву, щоб надіслати скаргу." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Таймер зворотного відліку" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Країна проживання" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Електронна адреса" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Потрібна електронна адреса." @@ -14086,6 +14086,10 @@ msgstr "Електронну пошту змінено" msgid "Email delivery" msgstr "Доставка електронної пошти" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Скарги електронною поштою тут недоступні" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Введіть код у форматі ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Введіть дійсну URL-адресу або код шаблону {theOtherPlatform}." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Введіть дійсну адресу електронної пошти." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Введіть дійсне посилання на повідомлення." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Введіть {digitCount}-значний код із застосунку автентифікації." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Введіть код, перш ніж продовжити." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Введіть свою електронну адресу, і ми надішлемо вам посилання для скидання пароля." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Введіть повне ім'я за документами, щоб надіслати скаргу." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Закінчується:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Поясніть проблему" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Поясніть проблему, щоб надіслати скаргу." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Не вдалося видалити персоналізовану URL-адресу. Спробуйте ще раз." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Не вдалося повторно надіслати код. Спробуйте ще раз." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Не вдалося скинути преміум-статус." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Не вдалося надіслати код. Спробуйте ще раз." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Не вдалося надіслати повідомлення. Натисніть і утримуйте, щоб переглянути опції." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Не вдалося надіслати скаргу. Спробуйте ще раз." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Фінська" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Ім'я та прізвище" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Повний динамічний діапазон" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Повне ім'я за документами (необов'язково для скарг на сексуальне насильство над дітьми)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Назад" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Поверніться та введіть дійсну електронну адресу." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Я передумав(-ла)" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "Я добросовісно підтверджую, що відомості та твердження, наведені в цій скарзі, є точними та повними." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Якщо хтось попросив вас вставити щось сюди, це шахрайство, яке може надати їм доступ до вашого облікового запису {productName}." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Якщо ви вважаєте, що це незаконно, вкажіть, який закон порушено і чому." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Додати мої резервні коди двофакторної автентифікації до PDF та роздруківки" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Вкажіть ідентифікатор спільноти." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Фон запрошення" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Код запрошення (необов'язково)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "посилання на повідомлення" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Посилання на повідомлення" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Нове" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Нове" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Вставте сюди відповідь JSON" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Вставте посилання на повідомлення." @@ -26972,12 +26976,12 @@ msgstr "Займенники: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Захистіть свій обліковий запис Visionary, увімкнувши двофакторну автентифікацію. Дякуємо за підтримку {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Вкажіть принаймні ID користувача або тег користувача." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Введіть ID користувача або ім'я користувача особи, на яку ви скаржитеся." @@ -28552,12 +28556,12 @@ msgstr "Поскаржитися на повідомлення" msgid "Report a user profile" msgstr "Поскаржитися на профіль користувача" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Деталі скарги" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Скарга на незаконний вміст" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Тип скарги" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Тег користувача, на якого надіслано скаргу (необов'язково)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Ім'я користувача, на якого надсилаєте скаргу (необов'язково)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Репости: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Виберіть, на що ви хочете поскаржитися." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Виберіть країну проживання." @@ -30736,7 +30745,7 @@ msgstr "Кнопка надсилання" msgid "Send code" msgstr "Надіслати код" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Надіслати скаргу за DSA" @@ -31294,7 +31303,7 @@ msgstr "Поділитися темою" msgid "Share voice activity with all friends?" msgstr "Ділитися голосовою активністю з усіма друзями?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Поділіться тим, що потрібно нашій команді для оцінки." @@ -33176,7 +33185,7 @@ msgstr "Розпочати згорнутим" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Крок 3" msgid "Step 4" msgstr "Крок 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Крок 5" @@ -34597,7 +34606,7 @@ msgstr "Не вдалося. Спробуйте ще раз або скасуй msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Це не схоже на дійсний колір. Спробуйте шістнадцятковий код, rgb(), hsl() або назву кольору CSS." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Це не схоже на дійсну URL-адресу." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Теги імен користувачів у цьому екземплярі вже налаштовані. Їх більше не можна змінити." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Код підтвердження недійсний або прострочений." @@ -35495,6 +35504,10 @@ msgstr "Цей екземпляр вже використовує імена к msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "Цей екземпляр наразі дозволяє демонстрацію екрана до 720p із частотою 30 FPS." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Цей екземпляр не використовує електронну пошту, тому не може приймати скарги через цю форму. Поскаржтеся на вміст у застосунку або зверніться до адміністраторів цього екземпляра." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Перетворювати HDR-зображення у стандартний діапазон, зменшуючи пікову яскравість." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Надіслано забагато кодів. Зачекайте {duration} і спробуйте ще раз." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Налагодження користувача" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "ID користувача (необов'язково)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Налаштування користувача" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Тег користувача (необов'язково)" @@ -38626,8 +38639,10 @@ msgstr "Гучність користувача" msgid "Username" msgstr "Ім'я користувача" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Ім'я користувача (необов'язково)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Ви повинні погодитися з умовами використання, щоб створити обліковий запис" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Щоб надіслати скаргу, потрібно підтвердити свою електронну пошту." diff --git a/fluxer_app/src/features/i18n/locales/vi/messages.po b/fluxer_app/src/features/i18n/locales/vi/messages.po index 2de519d15..cc7564863 100644 --- a/fluxer_app/src/features/i18n/locales/vi/messages.po +++ b/fluxer_app/src/features/i18n/locales/vi/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# kênh khác đang theo dõi} other {# kênh khác msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# cộng đồng được tìm thấy} other {# cộng đồng được tìm thấy}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# cộng đồng hiện không khả dụng do lỗi bộ biến đổi dòng chảy.} other {# cộng đồng hiện không khả dụng do lỗi bộ biến đổi dòng chảy.}}" @@ -5615,7 +5615,7 @@ msgstr "Đang vắng mặt" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "Quay lại" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "Chọn mô hình cao cấp" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "Chọn lại lý do" @@ -8804,7 +8804,7 @@ msgstr "Mã từ ứng dụng {productName}" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "Đã gửi lại mã" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "Biểu tượng cộng đồng" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "ID cộng đồng" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "Cần có ID cộng đồng." @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "Xác nhận mật khẩu" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "Xác nhận tuyên bố để gửi báo cáo." @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "Đồng hồ đếm ngược" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "Quốc gia cư trú" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "Địa chỉ email" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "Cần có địa chỉ email." @@ -14086,6 +14086,10 @@ msgstr "Đã đổi email" msgid "Email delivery" msgstr "Gửi email" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "Không thể báo cáo qua email tại đây" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "Nhập mã theo định dạng ABCD-1234." @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "Nhập URL mẫu hoặc mã mẫu hợp lệ của {theOtherPlatform}." #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "Nhập địa chỉ email hợp lệ." #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "Nhập liên kết tin nhắn hợp lệ." @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "Nhập mã gồm {digitCount} chữ số từ ứng dụng xác thực của bạn." #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "Nhập mã trước khi tiếp tục." @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "Nhập địa chỉ email của bạn và chúng tôi sẽ gửi cho bạn một liên kết để đặt lại mật khẩu." #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "Nhập tên đầy đủ theo pháp luật của bạn để gửi báo cáo." @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "Hết hạn:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "Giải thích vấn đề" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "Giải thích vấn đề để gửi báo cáo." @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "Không thể xóa URL tùy chỉnh. Vui lòng thử lại." #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "Không gửi lại được mã. Vui lòng thử lại." @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "Không thể đặt lại trạng thái premium." #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "Không gửi được mã. Vui lòng thử lại." @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "Gửi tin nhắn không thành công. Nhấn giữ để xem tùy chọn." #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "Không gửi được báo cáo. Vui lòng thử lại." @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "Tiếng Phần Lan" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "Họ và tên" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "Dải tương phản động đầy đủ" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "Họ và tên đầy đủ theo giấy tờ pháp lý (tùy chọn đối với báo cáo xâm hại tình dục trẻ em)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "Quay lại" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "Quay lại và nhập một email hợp lệ." @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "Tôi đã đổi ý" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." 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 đủ." @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "Nếu ai đó yêu cầu bạn dán thứ gì đó vào đây, thì đó là một trò lừa đảo có thể giúp họ chiếm quyền kiểm soát tài khoản {productName} của bạn." #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "Nếu bạn tin rằng điều đó là bất hợp pháp, hãy cho biết luật nào và tại sao." @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "Bao gồm mã dự phòng hai yếu tố của tôi trong tệp PDF và bản in" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "Nhập ID cộng đồng." @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "Ảnh nền lời mời" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "Mã mời (không bắt buộc)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "liên kết tin nhắn" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "Liên kết tin nhắn" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "Mới" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "Mới" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "Dán phản hồi JSON vào đây" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "Dán liên kết tin nhắn." @@ -26972,12 +26976,12 @@ msgstr "Đại từ: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "Bảo vệ tài khoản Visionary của bạn bằng cách bật xác thực hai yếu tố. Cảm ơn bạn đã ủng hộ {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "Cung cấp ít nhất một ID người dùng hoặc thẻ người dùng." #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "Cung cấp ID người dùng hoặc tên người dùng của người bạn muốn báo cáo." @@ -28552,12 +28556,12 @@ msgstr "Báo cáo tin nhắn" msgid "Report a user profile" msgstr "Báo cáo hồ sơ người dùng" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "Chi tiết báo cáo" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "Báo cáo nội dung bất hợp pháp" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "Loại báo cáo" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "Thẻ người dùng bị báo cáo (tùy chọn)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "Tên người dùng bị báo cáo (tùy chọn)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "Lượt đăng lại: <0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "Chọn nội dung bạn muốn báo cáo." #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "Chọn quốc gia bạn đang sinh sống." @@ -30736,7 +30745,7 @@ msgstr "Nút gửi" msgid "Send code" msgstr "Gửi mã" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "Gửi báo cáo DSA" @@ -31294,7 +31303,7 @@ msgstr "Chia sẻ chủ đề" msgid "Share voice activity with all friends?" msgstr "Chia sẻ hoạt động trò chuyện thoại với tất cả bạn bè?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "Chia sẻ những gì đội ngũ của chúng tôi cần để đánh giá vấn đề này." @@ -33176,7 +33185,7 @@ 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:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "Bước 3" msgid "Step 4" msgstr "Bước 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "Bước 5" @@ -34597,7 +34606,7 @@ msgstr "Không thành công. Hãy thử lại hoặc hủy." msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "Màu này không hợp lệ. Hãy thử dùng mã hex, rgb(), hsl() hoặc tên màu CSS." -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "Đây không phải là một URL hợp lệ." @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "Các thẻ tên người dùng trên máy chủ này đã được đặt. Chúng không thể thay đổi nữa." #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "Mã xác minh không hợp lệ hoặc đã hết hạn." @@ -35495,6 +35504,10 @@ msgstr "Máy chủ này đã sử dụng tên người dùng để đăng nhập 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." +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "Máy chủ này không sử dụng email nên không thể nhận báo cáo qua biểu mẫu này. Hãy báo cáo nội dung từ bên trong ứng dụng hoặc liên hệ quản trị viên của máy chủ này." + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "Ánh xạ tông màu ảnh HDR về dải tiêu chuẩn, giảm độ sáng tối đa." #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "Đã gửi quá nhiều mã. Vui lòng đợi {duration} rồi thử lại." @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "Gỡ lỗi người dùng" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "ID người dùng (tùy chọn)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "Cài đặt người dùng" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "Thẻ người dùng (tùy chọn)" @@ -38626,8 +38639,10 @@ msgstr "Âm lượng người dùng" msgid "Username" msgstr "Tên người dùng" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "Tên người dùng (tùy chọn)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "Bạn phải đồng ý với các điều khoản dịch vụ để tạo tài khoản" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "Bạn phải xác minh email trước khi gửi báo cáo." 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 b2ce86cfe..a6cb64678 100644 --- a/fluxer_app/src/features/i18n/locales/zh-CN/messages.po +++ b/fluxer_app/src/features/i18n/locales/zh-CN/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# 个频道关注此频道} other {# 个频道关 msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, other {# 个社区}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, other {# 个社区因时空穿梭器故障暂时不可用。}}" @@ -5615,7 +5615,7 @@ msgstr "当前离开" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "返回" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "选择会员模式" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "请重新选择原因" @@ -8804,7 +8804,7 @@ msgstr "来自 {productName} 应用的代码" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "验证码已重新发送" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "社区图标" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "社区 ID" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "需要填写社区 ID。" @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "确认密码" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "确认声明以发送举报。" @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "倒计时" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "居住国家/地区" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "邮箱地址" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "需要填写邮箱地址。" @@ -14086,6 +14086,10 @@ msgstr "邮箱已更改" msgid "Email delivery" msgstr "邮件发送" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "此处无法通过邮件举报" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "回车" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "输入格式为 ABCD-1234 的代码。" @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "请输入有效的 {theOtherPlatform} 模板网址或代码。" #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "请输入有效的电子邮件地址。" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "请输入有效的消息链接。" @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "输入身份验证器应用中的 {digitCount} 位验证码。" #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "请输入验证码以继续。" @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "输入你的邮箱,我们会给你发送重置密码的链接。" #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "请输入您的法定全名以发送举报。" @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "过期时间:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "说明问题" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "说明问题以发送举报。" @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "移除自定义邀请链接失败。请重试。" #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "重新发送验证码失败。请重试。" @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "重置会员状态失败。" #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "发送验证码失败。请重试。" @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "消息发送失败。长按可查看选项。" #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "发送举报失败。请重试。" @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "芬兰语" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "名字和姓氏" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "完整动态范围" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "法定全名(举报儿童性虐待内容时可不填)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "返回" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "请返回并输入有效的邮箱地址。" @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "我改变主意了" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "我谨本着善意确认,本通知中的信息和指控均准确、完整。" @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "如果有人让你在这里粘贴内容,那是一个骗局,他们可能会因此获取你的 {productName} 账号。" #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "如果你认为这属于违法内容,请说明涉及哪条法律以及原因。" @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "在 PDF 和打印件中包含我的两步验证备份代码" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "请填写社区 ID。" @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "邀请背景" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "邀请码(可选)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "消息链接" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "消息链接" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "新消息" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "新" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "在此粘贴 JSON 响应" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "请粘贴消息链接。" @@ -26972,12 +26976,12 @@ msgstr "代词: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "启用双重认证来保护你的 Visionary 账号。感谢你支持 {productName}!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "请至少提供一个用户 ID 或用户标签。" #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "请提供被举报用户的 ID 或用户名。" @@ -28552,12 +28556,12 @@ msgstr "举报消息" msgid "Report a user profile" msgstr "举报用户资料" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "举报详情" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "举报违法内容" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "举报类型" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "被举报用户标签(可选)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "被举报用户的用户名(选填)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "转发:<0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "选择要举报的内容。" #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "选择你居住的国家/地区。" @@ -30736,7 +30745,7 @@ msgstr "发送按钮" msgid "Send code" msgstr "发送验证码" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "发送 DSA 举报" @@ -31294,7 +31303,7 @@ msgstr "分享主题" msgid "Share voice activity with all friends?" msgstr "与所有好友分享语音活动?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "请提供我们团队评估此事所需的信息。" @@ -33176,7 +33185,7 @@ msgstr "最小化启动" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "第 3 步" msgid "Step 4" msgstr "第 4 步" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "第 5 步" @@ -34597,7 +34606,7 @@ msgstr "无法完成。请重试或取消。" msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "这看起来不是有效的颜色。请尝试使用十六进制、rgb()、hsl() 或 CSS 颜色名称。" -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "网址格式不正确。" @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "此实例上的用户名标签已设置。它们无法再更改。" #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "验证码无效或已过期。" @@ -35495,6 +35504,10 @@ msgstr "此实例已使用用户名登录。此设置无法再更改。" msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "此实例目前支持最高 720p、30 FPS 的屏幕共享。" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "此实例不使用电子邮件,因此无法通过此表单接收举报。请在应用内举报内容,或联系此实例的管理员。" + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "将 HDR 图像色调映射到标准范围,降低峰值亮度。" #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "发送的验证码过多。请等待 {duration} 后重试。" @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "用户调试" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "用户 ID(可选)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "用户设置" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "用户标签(可选)" @@ -38626,8 +38639,10 @@ msgstr "用户音量" msgid "Username" msgstr "用户名" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "用户名(可选)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "你必须同意服务条款才能创建账号" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "发送举报前,请先验证你的邮箱。" diff --git a/fluxer_app/src/features/i18n/locales/zh-TW/messages.po b/fluxer_app/src/features/i18n/locales/zh-TW/messages.po index 08c9fa524..f19bfa098 100644 --- a/fluxer_app/src/features/i18n/locales/zh-TW/messages.po +++ b/fluxer_app/src/features/i18n/locales/zh-TW/messages.po @@ -1093,7 +1093,7 @@ msgstr "{count, plural, one {# 個頻道正在追蹤} other {# 個頻道正在 msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {找到 # 個社群} other {找到 # 個社群}}" -#: src/features/app/components/layout/GuildsLayout.tsx:1952 +#: src/features/app/components/layout/GuildsLayout.tsx:1953 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# 個社群} other {# 個社群}}因時空電容器故障,暫時無法使用。" @@ -5615,7 +5615,7 @@ msgstr "目前離開中" #: 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 +#: src/features/moderation/components/report/ReportStepDetails.tsx:393 #: src/features/premium/components/plutonium_page/PlutoniumPageMessages.ts:269 msgid "Back" msgstr "返回" @@ -8069,7 +8069,7 @@ msgid "Choose the premium model" msgstr "選擇進階方案模式" #. Button on the details step of the DSA report form, shown when the server no longer accepts the chosen reason. Reloads the questions and returns to the reason step. -#: src/features/moderation/components/report/ReportStepDetails.tsx:80 +#: src/features/moderation/components/report/ReportStepDetails.tsx:95 msgid "Choose the reason again" msgstr "再選一次原因" @@ -8804,7 +8804,7 @@ msgstr "來自 {productName} 應用程式的驗證碼" #. Short label in the authentication claim account modal. Keep the tone plain and specific. #. Success toast on the verification step of the DSA report flow after resending the email verification code. #: src/features/auth/components/modals/ClaimAccountModal.tsx:41 -#: src/features/moderation/components/pages/ReportPage.tsx:83 +#: src/features/moderation/components/pages/ReportPage.tsx:85 msgid "Code resent" msgstr "已重新傳送驗證碼" @@ -9095,11 +9095,11 @@ msgid "Community icon" msgstr "社群圖示" #. Field label on the details step of the DSA report form (community report). The reported community's snowflake ID. -#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +#: src/features/moderation/components/report/ReportStepDetails.tsx:57 msgid "Community ID" msgstr "社群 ID" -#: src/features/moderation/components/report/ReportStepDetails.tsx:283 +#: src/features/moderation/components/report/ReportStepDetails.tsx:302 msgid "Community ID is required." msgstr "必須填寫社群 ID。" @@ -9451,7 +9451,7 @@ msgid "Confirm password" msgstr "確認密碼" #. Inline validation error on the details step of the DSA report flow when the good-faith statement checkbox is not ticked. -#: src/features/moderation/components/pages/ReportPage.tsx:128 +#: src/features/moderation/components/pages/ReportPage.tsx:130 msgid "Confirm the statement to send the report." msgstr "請確認聲明以送出檢舉。" @@ -10903,7 +10903,7 @@ msgid "Countdown timer" msgstr "倒數計時器" #. Field label on the details step of the DSA report form. The country where the reporter resides, used for the legal declaration. -#: src/features/moderation/components/report/ReportStepDetails.tsx:70 +#: src/features/moderation/components/report/ReportStepDetails.tsx:85 msgid "Country of residence" msgstr "居住國家/地區" @@ -14070,7 +14070,7 @@ msgid "Email address" msgstr "電子郵件地址" #. Inline validation error on the email step of the DSA report flow when the email field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:75 +#: src/features/moderation/components/pages/ReportPage.tsx:77 msgid "Email address required." msgstr "必須填寫電子郵件地址。" @@ -14086,6 +14086,10 @@ msgstr "電子郵件已變更" msgid "Email delivery" msgstr "電子郵件遞送" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:11 +msgid "Email reports aren't available here" +msgstr "此處無法透過電子郵件檢舉" + #. Developer control label for the email-verification banner. #: src/features/devtools/components/NagbarControls.ts:37 msgid "Email verification nagbar" @@ -14667,7 +14671,7 @@ msgid "Enter" msgstr "Enter" #. Inline validation error on the verification step of the DSA report flow when the code does not match the expected 4-letter-dash-4-digit format. "ABCD-1234" is a literal example pattern. -#: src/features/moderation/components/pages/ReportPage.tsx:104 +#: src/features/moderation/components/pages/ReportPage.tsx:106 msgid "Enter a code in the format ABCD-1234." msgstr "請輸入 ABCD-1234 格式的代碼。" @@ -14712,12 +14716,12 @@ msgid "Enter a valid {theOtherPlatform} template URL or code." msgstr "請輸入有效的 {theOtherPlatform} 範本網址或代碼。" #. Inline validation error on the email step of the DSA report flow when the email is malformed. -#: src/features/moderation/components/pages/ReportPage.tsx:79 +#: src/features/moderation/components/pages/ReportPage.tsx:81 msgid "Enter a valid email address." msgstr "請輸入有效的電子郵件地址。" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is not a valid URL. -#: src/features/moderation/components/pages/ReportPage.tsx:148 +#: src/features/moderation/components/pages/ReportPage.tsx:150 msgid "Enter a valid message link." msgstr "請輸入有效的訊息連結。" @@ -14791,7 +14795,7 @@ msgid "Enter the {digitCount}-digit code from your authenticator app." msgstr "請輸入驗證器應用程式中的 {digitCount} 位數驗證碼。" #. Inline validation error on the verification step of the DSA report flow when the code field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:100 +#: src/features/moderation/components/pages/ReportPage.tsx:102 msgid "Enter the code before continuing." msgstr "請先輸入驗證碼再繼續。" @@ -14868,7 +14872,7 @@ msgid "Enter your email address and we'll send you a link to reset your password msgstr "請輸入您的電子郵件地址,我們會傳送密碼重設連結給您。" #. Inline validation error on the Full legal name field of the DSA report form, shown when the server requires the name for the chosen reason. The name is required for every reason except child sexual abuse. -#: src/features/moderation/components/pages/ReportPage.tsx:133 +#: src/features/moderation/components/pages/ReportPage.tsx:135 msgid "Enter your full legal name to send the report." msgstr "請輸入您的法定全名以送出檢舉。" @@ -15268,12 +15272,12 @@ msgid "Expires:" msgstr "到期時間:" #. Field label on the details step of the DSA report form. Required free text where the reporter explains what is wrong with the reported content. -#: src/features/moderation/components/report/ReportStepDetails.tsx:52 +#: src/features/moderation/components/report/ReportStepDetails.tsx:67 msgid "Explain the problem" msgstr "說明問題" #. Inline validation error on the details step of the DSA report flow when the Explain the problem field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:123 +#: src/features/moderation/components/pages/ReportPage.tsx:125 msgid "Explain the problem to send the report." msgstr "請說明問題以送出檢舉。" @@ -15589,7 +15593,7 @@ msgid "Failed to remove vanity URL. Try again." msgstr "無法移除自訂網址。請再試一次。" #. Error toast when the resend-code request fails on the verification step of the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:91 +#: src/features/moderation/components/pages/ReportPage.tsx:93 msgid "Failed to resend code. Try again." msgstr "無法重新傳送驗證碼。請再試一次。" @@ -15599,7 +15603,7 @@ msgid "Failed to reset premium state." msgstr "無法重設付費狀態。" #. Error shown when the initial email verification code send fails on the DSA report flow. -#: src/features/moderation/components/pages/ReportPage.tsx:87 +#: src/features/moderation/components/pages/ReportPage.tsx:89 msgid "Failed to send code. Try again." msgstr "傳送驗證碼失敗。請再試一次。" @@ -15614,7 +15618,7 @@ msgid "Failed to send message. Hold for options." msgstr "訊息傳送失敗。長按可顯示選項。" #. Generic error shown on the DSA report submission page when the report could not be sent. -#: src/features/moderation/components/pages/ReportPage.tsx:71 +#: src/features/moderation/components/pages/ReportPage.tsx:73 msgid "Failed to send report. Try again." msgstr "無法傳送檢舉。請再試一次。" @@ -16027,7 +16031,7 @@ msgid "Finnish" msgstr "芬蘭語" #. Placeholder in the Full legal name input on the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:66 +#: src/features/moderation/components/report/ReportStepDetails.tsx:81 msgid "First and last name" msgstr "姓名" @@ -16690,7 +16694,7 @@ msgid "Full dynamic range" msgstr "全動態範圍" #. Field label on the details step of the DSA report form. Legal name of the reporter for the formal declaration. The law lets people who report child sexual abuse material leave it empty. Keep the tone neutral. -#: src/features/moderation/components/report/ReportStepDetails.tsx:61 +#: src/features/moderation/components/report/ReportStepDetails.tsx:76 msgid "Full legal name (optional for child sexual abuse reports)" msgstr "法定全名(檢舉兒童性虐待時可選填)" @@ -17231,7 +17235,7 @@ msgid "Go back" msgstr "返回" #. Inline error on the verification step of the DSA report flow when the stored email is missing or malformed and the user must return to the email step. -#: src/features/moderation/components/pages/ReportPage.tsx:109 +#: src/features/moderation/components/pages/ReportPage.tsx:111 msgid "Go back and enter a valid email." msgstr "返回並輸入有效的電子郵件。" @@ -18213,7 +18217,7 @@ msgid "I changed my mind" msgstr "我改變心意了" #. Required checkbox on the details step of the DSA report form. A formal statement the law asks every reporter to make. Keep the tone formal. -#: src/features/moderation/components/report/ReportStepDetails.tsx:75 +#: src/features/moderation/components/report/ReportStepDetails.tsx:90 msgid "I confirm in good faith that the information and allegations in this notice are accurate and complete." msgstr "我本於善意確認,本通知中的資訊與指控均正確且完整。" @@ -18299,7 +18303,7 @@ msgid "If someone told you to paste something here, it is a scam that can hand t msgstr "如果有人要求您將某些內容貼到這裡,那就是詐騙,可能會讓對方取得您的 {productName} 帳號。" #. Helper text under the Explain the problem field on the details step of the DSA report form. -#: src/features/moderation/components/report/ReportStepDetails.tsx:57 +#: src/features/moderation/components/report/ReportStepDetails.tsx:72 msgid "If you believe it is illegal, say which law and why." msgstr "如果您認為這是違法內容,請說明涉及哪一項法律及原因。" @@ -18712,7 +18716,7 @@ msgid "Include my two-factor backup codes in the PDF and printout" msgstr "在 PDF 和列印文件中包含我的雙重驗證備份代碼" #. Inline validation error on the details step of the DSA report flow (community report) when the community ID field is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:158 +#: src/features/moderation/components/pages/ReportPage.tsx:160 msgid "Include the community ID." msgstr "請提供社群 ID。" @@ -19152,7 +19156,7 @@ msgid "Invite background" msgstr "邀請背景" #. Field label on the details step of the DSA report form (community report). Optional invite code to the reported community. -#: src/features/moderation/components/report/ReportStepDetails.tsx:47 +#: src/features/moderation/components/report/ReportStepDetails.tsx:62 msgid "Invite code (optional)" msgstr "邀請碼(非必填)" @@ -21825,7 +21829,7 @@ msgid "message link" msgstr "訊息連結" #. Field label on the details step of the DSA report form (message report). The reporter pastes a direct link to the offending message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:22 +#: src/features/moderation/components/report/ReportStepDetails.tsx:27 msgid "Message link" msgstr "訊息連結" @@ -23120,7 +23124,7 @@ msgid "New" msgstr "新訊息" #. Small badge on a new or recently added app navigation item. -#: src/features/app/components/layout/GuildsLayout.tsx:134 +#: src/features/app/components/layout/GuildsLayout.tsx:135 msgctxt "navigation-badge" msgid "New" msgstr "新" @@ -25654,7 +25658,7 @@ msgid "Paste the JSON response here" msgstr "在此貼上 JSON 回應" #. Inline validation error on the details step of the DSA report flow (message report) when the message link is empty. -#: src/features/moderation/components/pages/ReportPage.tsx:143 +#: src/features/moderation/components/pages/ReportPage.tsx:145 msgid "Paste the message link." msgstr "請貼上訊息連結。" @@ -26972,12 +26976,12 @@ msgstr "代名詞: " msgid "Protect your Visionary account by enabling two-factor authentication. Thanks for supporting {productName}!" msgstr "啟用雙重驗證,保護您的 Visionary 帳號。感謝您對 {productName} 的支持!" -#: src/features/moderation/components/report/ReportStepDetails.tsx:261 +#: src/features/moderation/components/report/ReportStepDetails.tsx:280 msgid "Provide at least a user ID or a user tag." msgstr "請至少提供使用者 ID 或使用者標籤。" #. Inline validation error on the details step of the DSA report flow (user report) when both user ID and username fields are empty. -#: src/features/moderation/components/pages/ReportPage.tsx:153 +#: src/features/moderation/components/pages/ReportPage.tsx:155 msgid "Provide either a user ID or a username for the person you are reporting." msgstr "請提供您要檢舉對象的使用者 ID 或使用者名稱。" @@ -28552,12 +28556,12 @@ msgstr "檢舉訊息" msgid "Report a user profile" msgstr "檢舉使用者個人檔案" -#: src/features/moderation/components/report/ReportStepDetails.tsx:151 +#: src/features/moderation/components/report/ReportStepDetails.tsx:168 msgid "Report details" msgstr "檢舉詳情" #. Document/page title for the public DSA illegal-content report page. Sensitive/legal flow; keep tone plain and factual. -#: src/features/moderation/components/pages/ReportPage.tsx:66 +#: src/features/moderation/components/pages/ReportPage.tsx:68 #: src/features/moderation/components/report/ReportStepSelection.tsx:33 msgid "Report illegal content" msgstr "檢舉違法內容" @@ -28589,10 +28593,15 @@ msgid "Report type" msgstr "檢舉類型" #. Field label on the details step of the DSA report form (message report). Optional FluxerTag of the user who sent the message. -#: src/features/moderation/components/report/ReportStepDetails.tsx:27 +#: src/features/moderation/components/report/ReportStepDetails.tsx:32 msgid "Reported user tag (optional)" msgstr "被檢舉使用者的標籤(選填)" +#. Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message. +#: src/features/moderation/components/report/ReportStepDetails.tsx:42 +msgid "Reported user's username (optional)" +msgstr "被檢舉使用者的使用者名稱(選填)" + #: src/features/channel/components/embeds/channel_embed/BlueskyEmbed.tsx:45 msgid "Reposts: <0>{countLabel}" msgstr "轉發:<0>{countLabel}" @@ -30582,7 +30591,7 @@ msgid "Select what you want to report." msgstr "請選擇您要檢舉的項目。" #. Inline validation error on the details step of the DSA report flow when the country dropdown has no selection. -#: src/features/moderation/components/pages/ReportPage.tsx:138 +#: src/features/moderation/components/pages/ReportPage.tsx:140 msgid "Select your country of residence." msgstr "請選擇您的居住國家/地區。" @@ -30736,7 +30745,7 @@ msgstr "傳送按鈕" msgid "Send code" msgstr "傳送驗證碼" -#: src/features/moderation/components/report/ReportStepDetails.tsx:364 +#: src/features/moderation/components/report/ReportStepDetails.tsx:383 msgid "Send DSA report" msgstr "送出 DSA 檢舉" @@ -31294,7 +31303,7 @@ msgstr "分享主題" msgid "Share voice activity with all friends?" msgstr "與所有好友分享語音活動嗎?" -#: src/features/moderation/components/report/ReportStepDetails.tsx:154 +#: src/features/moderation/components/report/ReportStepDetails.tsx:171 msgid "Share what our team needs to assess this." msgstr "提供我們的團隊評估此事所需的資訊。" @@ -33176,7 +33185,7 @@ msgstr "最小化啟動" #. Button on the browser page after cancelling that goes back to choosing an account. #: src/features/auth/flow/HandoffApprovalFlow.tsx:341 -#: src/features/moderation/components/report/ReportStepDetails.tsx:389 +#: src/features/moderation/components/report/ReportStepDetails.tsx:408 #: src/features/moderation/components/report/ReportStepEmail.tsx:113 #: src/features/moderation/components/report/ReportStepReason.tsx:149 #: src/features/moderation/components/report/ReportStepReason.tsx:219 @@ -33318,7 +33327,7 @@ msgstr "步驟 3" msgid "Step 4" msgstr "步驟 4" -#: src/features/moderation/components/report/ReportStepDetails.tsx:148 +#: src/features/moderation/components/report/ReportStepDetails.tsx:165 msgid "Step 5" msgstr "步驟 5" @@ -34597,7 +34606,7 @@ msgstr "操作未成功。請再試一次或取消。" msgid "That doesn't look like a valid color. Try hex, rgb(), hsl(), or a CSS color name." msgstr "這看起來不是有效的顏色。請試試看十六進位、rgb()、hsl() 或 CSS 顏色名稱。" -#: src/features/moderation/components/report/ReportStepDetails.tsx:217 +#: src/features/moderation/components/report/ReportStepDetails.tsx:234 msgid "That doesn't look like a valid URL." msgstr "這看起來不是有效的網址。" @@ -34918,7 +34927,7 @@ msgid "The username tags on this instance are already set. They can no longer ch msgstr "此伺服器的使用者名稱標籤已設定完成,無法再變更。" #. Inline error on the verification step of the DSA report flow when the entered code is rejected. -#: src/features/moderation/components/pages/ReportPage.tsx:114 +#: src/features/moderation/components/pages/ReportPage.tsx:116 msgid "The verification code is invalid or expired." msgstr "驗證碼無效或已過期。" @@ -35495,6 +35504,10 @@ msgstr "此伺服器已改為使用使用者名稱登入,且無法再變更。 msgid "This instance currently allows screen sharing up to 720p at 30 FPS." msgstr "此實例目前支援最高 720p、30 FPS 的螢幕分享。" +#: src/features/moderation/components/report/ReportStepUnavailable.tsx:13 +msgid "This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, or contact the administrators of this instance." +msgstr "此實例未使用電子郵件,因此無法透過此表單接收檢舉。請在應用程式內檢舉內容,或聯絡此實例的管理員。" + #. Setup wizard body prompting the operator to register the first account. #: src/features/app/components/setup/SetupWizardSteps.tsx:50 msgid "This instance has no accounts yet. The first account you create automatically becomes the administrator." @@ -36338,7 +36351,7 @@ msgid "Tone-map HDR images to standard range, reducing peak brightness." msgstr "將 HDR 影像色調對應至標準範圍,降低峰值亮度。" #. Inline error on the email or code step of the DSA report flow when the verification code send was rate limited. {duration} is a localized duration such as "45 seconds" or "12 minutes". -#: src/features/moderation/components/pages/ReportPage.tsx:95 +#: src/features/moderation/components/pages/ReportPage.tsx:97 msgid "Too many codes sent. Wait {duration} and try again." msgstr "傳送的驗證碼過多。請等待 {duration} 後再試一次。" @@ -38546,7 +38559,7 @@ msgid "User debug" msgstr "使用者偵錯" #. Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional. -#: src/features/moderation/components/report/ReportStepDetails.tsx:32 +#: src/features/moderation/components/report/ReportStepDetails.tsx:37 msgid "User ID (optional)" msgstr "使用者 ID(選填)" @@ -38606,7 +38619,7 @@ msgid "User settings" msgstr "使用者設定" #. Field label on the details step of the DSA report form (user report). Optional FluxerTag of the reported user. -#: src/features/moderation/components/report/ReportStepDetails.tsx:37 +#: src/features/moderation/components/report/ReportStepDetails.tsx:52 msgid "User tag (optional)" msgstr "使用者標籤(選填)" @@ -38626,8 +38639,10 @@ msgstr "使用者音量" msgid "Username" msgstr "使用者名稱" +#. Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user. #. Short label in the authentication auth register form core. Keep the tone plain and specific. #: src/features/auth/flow/AuthRegisterFormCore.tsx:58 +#: src/features/moderation/components/report/ReportStepDetails.tsx:47 msgid "Username (optional)" msgstr "使用者名稱(選填)" @@ -41106,7 +41121,7 @@ msgid "You must agree to the terms of service to create an account" msgstr "您必須同意服務條款才能建立帳號" #. Inline error on the details step of the DSA report flow when the user has not completed email verification. -#: src/features/moderation/components/pages/ReportPage.tsx:118 +#: src/features/moderation/components/pages/ReportPage.tsx:120 msgid "You must verify your email before sending a report." msgstr "您必須先驗證電子郵件,才能傳送檢舉。" diff --git a/fluxer_app/src/features/member/commands/GuildMemberCommands.ts b/fluxer_app/src/features/member/commands/GuildMemberCommands.ts index 951ccf73c..60504c158 100644 --- a/fluxer_app/src/features/member/commands/GuildMemberCommands.ts +++ b/fluxer_app/src/features/member/commands/GuildMemberCommands.ts @@ -105,9 +105,9 @@ export async function updateProfile(guildId: string, params: GuildProfilePatch): } } -export async function kick(guildId: string, userId: string): Promise { +export async function kick(guildId: string, userId: string, reason?: string): Promise { try { - await http.delete(Endpoints.GUILD_MEMBER(guildId, userId)); + await http.delete(Endpoints.GUILD_MEMBER(guildId, userId), {reason}); logger.debug(`Kicked member ${userId} from guild ${guildId}`); } catch (error) { logger.error(`Failed to kick member ${userId} from guild ${guildId}:`, error); diff --git a/fluxer_app/src/features/messaging/utils/MessageGroupingUtils.ts b/fluxer_app/src/features/messaging/utils/MessageGroupingUtils.ts index 9ede157b7..3593a4125 100644 --- a/fluxer_app/src/features/messaging/utils/MessageGroupingUtils.ts +++ b/fluxer_app/src/features/messaging/utils/MessageGroupingUtils.ts @@ -101,7 +101,7 @@ export function getCollapsedGroupType( message: Message, treatSpam: boolean, ): ChannelStreamType | null { - if (message.blocked) { + if (message.blocked && message.isUserMessage()) { return ChannelStreamType.MESSAGE_GROUP_BLOCKED; } if ( diff --git a/fluxer_app/src/features/moderation/components/pages/ReportPage.tsx b/fluxer_app/src/features/moderation/components/pages/ReportPage.tsx index 12b6b22bb..65f620a1d 100644 --- a/fluxer_app/src/features/moderation/components/pages/ReportPage.tsx +++ b/fluxer_app/src/features/moderation/components/pages/ReportPage.tsx @@ -2,6 +2,7 @@ import Accessibility from '@app/features/accessibility/state/Accessibility'; import {Endpoints} from '@app/features/app/constants/Endpoints'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {getLocaleDirection} from '@app/features/i18n/utils/LocaleDirection'; import {resolveRetryAfterMs} from '@app/features/messaging/utils/RetryAfterUtils'; import {showModerationErrorModal} from '@app/features/moderation/components/alerts/ModerationErrorModalUtils'; @@ -21,6 +22,7 @@ import {ReportStepDetails} from '@app/features/moderation/components/report/Repo import {ReportStepEmail} from '@app/features/moderation/components/report/ReportStepEmail'; import {ReportStepReason} from '@app/features/moderation/components/report/ReportStepReason'; import {ReportStepSelection} from '@app/features/moderation/components/report/ReportStepSelection'; +import {ReportStepUnavailable} from '@app/features/moderation/components/report/ReportStepUnavailable'; import { formatCooldownDuration, ReportStepVerification, @@ -747,6 +749,15 @@ export const ReportPage = observer(() => { )}
); + if (RuntimeConfig.usesUsernameSignIn) { + return ( +
+
+ +
+
+ ); + } return (
{breadcrumbShell} diff --git a/fluxer_app/src/features/moderation/components/report/ReportStepDetails.tsx b/fluxer_app/src/features/moderation/components/report/ReportStepDetails.tsx index c4200fd96..26f08af03 100644 --- a/fluxer_app/src/features/moderation/components/report/ReportStepDetails.tsx +++ b/fluxer_app/src/features/moderation/components/report/ReportStepDetails.tsx @@ -1,7 +1,12 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import Accessibility from '@app/features/accessibility/state/Accessibility'; -import {EXAMPLE_INVITE_CODE, EXAMPLE_REPORT_USER_TAG} from '@app/features/app/config/I18nDisplayConstants'; +import { + EXAMPLE_INVITE_CODE, + EXAMPLE_REPORT_USER_TAG, + EXAMPLE_REPORT_USERNAME, +} from '@app/features/app/config/I18nDisplayConstants'; +import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {getLocaleDirection} from '@app/features/i18n/utils/LocaleDirection'; import styles from '@app/features/moderation/components/pages/ReportPage.module.css'; import type {FormValues, ReportField, ReportType} from '@app/features/moderation/components/report/ReportTypes'; @@ -34,6 +39,16 @@ const USER_ID_OPTIONAL_DESCRIPTOR = msg({ comment: 'Field label on the details step of the DSA report form (user report). Optional Fluxer user snowflake ID. "ID" is conventional.', }); +const REPORTED_USERNAME_OPTIONAL_DESCRIPTOR = msg({ + message: "Reported user's username (optional)", + comment: + 'Field label on the details step of the DSA report form (message report) on an instance without user tags. Optional username of the user who sent the message.', +}); +const USERNAME_OPTIONAL_DESCRIPTOR = msg({ + message: 'Username (optional)', + comment: + 'Field label on the details step of the DSA report form (user report) on an instance without user tags. Optional username of the reported user.', +}); const USER_TAG_OPTIONAL_DESCRIPTOR = msg({ message: 'User tag (optional)', comment: @@ -131,6 +146,8 @@ export const ReportStepDetails: React.FC = ({ guildTargetOk, }) => { const {i18n} = useLingui(); + const usernameOnly = RuntimeConfig.usesUniqueUsernames; + const userTagPlaceholder = usernameOnly ? EXAMPLE_REPORT_USERNAME : EXAMPLE_REPORT_USER_TAG; const hasFieldErrors = Object.values(fieldErrors).some((value) => Boolean(value)); const showGeneralError = Boolean(errorMessage && (answersRejected || !hasFieldErrors)); const errorBoxRef = useRef(null); @@ -221,12 +238,14 @@ export const ReportStepDetails: React.FC = ({ data-flx="moderation.report.report-step-details.input.field-change.url" /> onFieldChange('messageUserTag', e.target.value)} - placeholder={EXAMPLE_REPORT_USER_TAG} + placeholder={userTagPlaceholder} autoComplete="off" error={fieldErrors.messageUserTag} data-flx="moderation.report.report-step-details.input.field-change.text" @@ -247,12 +266,12 @@ export const ReportStepDetails: React.FC = ({ data-flx="moderation.report.report-step-details.input.field-change.text--2" /> onFieldChange('userTag', e.target.value)} - placeholder={EXAMPLE_REPORT_USER_TAG} + placeholder={userTagPlaceholder} autoComplete="off" error={fieldErrors.userTag} footer={ diff --git a/fluxer_app/src/features/moderation/components/report/ReportStepUnavailable.tsx b/fluxer_app/src/features/moderation/components/report/ReportStepUnavailable.tsx new file mode 100644 index 000000000..03894fffe --- /dev/null +++ b/fluxer_app/src/features/moderation/components/report/ReportStepUnavailable.tsx @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {StatusSlate} from '@app/features/app/components/dialogs/shared/StatusSlate'; +import {Trans} from '@lingui/react/macro'; +import {EnvelopeSimpleIcon} from '@phosphor-icons/react'; +import type React from 'react'; + +export const ReportStepUnavailable: React.FC = () => ( + Email reports aren't available here} + description={ + + This instance doesn't use email, so it can't take reports through this form. Report content from inside the app, + or contact the administrators of this instance. + + } + data-flx="moderation.report.report-step-unavailable.status-slate" + /> +); diff --git a/fluxer_app/src/features/permissions/system/commands/MacPermissionsModalCommands.tsx b/fluxer_app/src/features/permissions/system/commands/MacPermissionsModalCommands.tsx index c1adaad21..8654dacde 100644 --- a/fluxer_app/src/features/permissions/system/commands/MacPermissionsModalCommands.tsx +++ b/fluxer_app/src/features/permissions/system/commands/MacPermissionsModalCommands.tsx @@ -4,12 +4,27 @@ import { type MediaPermissionBlockedKind, MediaPermissionBlockedModal, } from '@app/features/permissions/system/components/MediaPermissionBlockedModal'; +import type * as MacPermissionsModalModule from '@app/features/permissions/system/components/modals/MacPermissionsModal'; import type {MacPermissionKind} from '@app/features/permissions/system/state/MacPermissions'; +import {Logger} from '@app/features/platform/utils/AppLogger'; import {modal, push, pushWithKey} from '@app/features/ui/commands/ModalCommands'; import {getNativePlatformSync, isDesktop} from '@app/features/ui/utils/NativeUtils'; +const logger = new Logger('MacPermissionsModalCommands'); + +function loadMacPermissionsModal(): Promise { + return import('@app/features/permissions/system/components/modals/MacPermissionsModal'); +} + +export function preloadMacPermissionsModal(): void { + if (!isDesktop() || getNativePlatformSync() !== 'macos') return; + void loadMacPermissionsModal().catch((error) => { + logger.debug('Failed to preload the macOS permissions modal', error); + }); +} + export function openMacPermissionsModal(focus: MacPermissionKind): void { - void import('@app/features/permissions/system/components/modals/MacPermissionsModal').then( + void loadMacPermissionsModal().then( ({MAC_PERMISSIONS_MODAL_KEY, MacPermissionsModal}) => { pushWithKey( modal(() => ( @@ -21,6 +36,9 @@ export function openMacPermissionsModal(focus: MacPermissionKind): void { MAC_PERMISSIONS_MODAL_KEY, ); }, + (error) => { + logger.warn('Failed to load the macOS permissions modal', error); + }, ); } diff --git a/fluxer_docs/src/content/docs/admin-api/guilds.mdx b/fluxer_docs/src/content/docs/admin-api/guilds.mdx index 68defdeeb..2690383ed 100644 --- a/fluxer_docs/src/content/docs/admin-api/guilds.mdx +++ b/fluxer_docs/src/content/docs/admin-api/guilds.mdx @@ -161,8 +161,6 @@ The guild state [Update guild](#update-guild) reads back after applying the requ | member_count | integer | The recorded member count | | nsfw_level | integer | The [NSFW level](/http-api/guilds/#nsfw-levels) | -The response schema also declares `nsfw`, `content_warning_level`, and `content_warning_text`, which this object never has. Read them back with [Get guild](#get-guild) instead. - ## Admin guild expression object A custom emoji or a sticker of a guild, with a resolvable media URL. The listings return the same shape. diff --git a/fluxer_docs/src/content/docs/http-api/authentication.mdx b/fluxer_docs/src/content/docs/http-api/authentication.mdx index 266adadf0..de19c3388 100644 --- a/fluxer_docs/src/content/docs/http-api/authentication.mdx +++ b/fluxer_docs/src/content/docs/http-api/authentication.mdx @@ -609,8 +609,6 @@ There is no retry key. A repeated request with the same values creates a second | 500 | [error response](/http-api/#error-response) | Unexpected internal failure occurs | | 503 | [error response](/http-api/#error-response) | The instance is at its in-flight request ceiling | -The response schema also declares the [MFA challenge response](#mfa-challenge-response), which registration never returns, because a new account has no second factor. - ### Side effects The operation applies the instance's registration, email-domain, breached-password, and regional policies before creating the account. It records the accepted terms and privacy policy, authorises the registering client IP address, and sends an email verification message when the instance sends email. An instance that sends no email marks the address verified at creation instead. @@ -1208,8 +1206,6 @@ Fluxer checks the replacement password against the same breached-password corpus | 500 | [error response](/http-api/#error-response) | Unexpected internal failure occurs | | 503 | [error response](/http-api/#error-response) | The instance is at its in-flight request ceiling | -The response schema also declares the [MFA challenge response](#mfa-challenge-response), which this operation never returns, because the reversion clears every second factor. - ### Side effects The previous email address becomes verified and the replacement password becomes the account password. All other sessions, second factors and authorised IP addresses are removed. Only the requesting IP address remains authorised. diff --git a/fluxer_docs/src/content/docs/http-api/messages.mdx b/fluxer_docs/src/content/docs/http-api/messages.mdx index aa2853d63..79f36ecee 100644 --- a/fluxer_docs/src/content/docs/http-api/messages.mdx +++ b/fluxer_docs/src/content/docs/http-api/messages.mdx @@ -518,8 +518,6 @@ Only an embed the unfurler builds from a link has a provider. A rich embed input | name | string | Provider name | | url? | string | Provider URL | -The response schema also declares `icon_url` and `proxy_icon_url`, which a provider never has. - ## Allowed mentions object An allowed mentions object selects which mentions written in the message text become active mentions, meaning the ones that notify a user or role. diff --git a/fluxer_docs/src/content/docs/http-api/reports.mdx b/fluxer_docs/src/content/docs/http-api/reports.mdx index c5032826f..a4a09b58e 100644 --- a/fluxer_docs/src/content/docs/http-api/reports.mdx +++ b/fluxer_docs/src/content/docs/http-api/reports.mdx @@ -833,7 +833,7 @@ A notice whose walk resolves to the `child_safety` [category](#report-categories | Field | Type | Description | | --- | --- | --- | | message_link1 | string | The link to the reported message (1-2048 characters) | -| reported_user_tag?2 | string | The message author's tag in `username#1234` form (3-37 characters) | +| reported_user_tag?2 | string | The message author's tag in `username#1234` form, or the bare username on an instance without user tags (1-37 characters) | 1 Parsed as an absolute URL whose path is `/channels/<guild_id>/<channel_id>/<message_id>`, with `@me` in place of the guild ID for a direct message or group DM. Fluxer ignores the origin @@ -846,7 +846,7 @@ The link must name a message that exists, in the channel it names, and in the gu | Field | Type | Description | | --- | --- | --- | | user_id?1 | snowflake | The ID of the reported user | -| user_tag?1 | string | The reported user's tag in `username#1234` form (3-37 characters) | +| user_tag?1 | string | The reported user's tag in `username#1234` form, or the bare username on an instance without user tags (1-37 characters) | 1 Supply at least one of the two. A body that supplies neither returns 400 `INVALID_FORM_BODY`, and an ID or tag that resolves to no account returns 404 `UNKNOWN_USER` diff --git a/fluxer_docs/src/content/docs/http-api/users/data-harvest.mdx b/fluxer_docs/src/content/docs/http-api/users/data-harvest.mdx index afea278fb..2aabf918c 100644 --- a/fluxer_docs/src/content/docs/http-api/users/data-harvest.mdx +++ b/fluxer_docs/src/content/docs/http-api/users/data-harvest.mdx @@ -334,9 +334,7 @@ A missing, malformed, forged, or expired token and a token for another harvest a | Field | Type | Description | | --- | --- | --- | -| token1 | string | Signed download token issued with the download URL | - -1 Required, although the request schema does not declare it. A request without it returns 404 +| token | string | Signed download token issued with the download URL (1-2,048 characters) | ### Request headers diff --git a/fluxer_unfurl/src/embed_normalizer.rs b/fluxer_unfurl/src/embed_normalizer.rs index 83c9ffbd7..19f76607d 100644 --- a/fluxer_unfurl/src/embed_normalizer.rs +++ b/fluxer_unfurl/src/embed_normalizer.rs @@ -73,14 +73,10 @@ fn normalize_author( } fn normalize_provider(mut provider: EmbedProvider) -> Option { - let name = truncate( - provider.name.as_deref().unwrap_or_default(), - PROVIDER_NAME_MAX, - ); - if name.is_empty() { + provider.name = truncate(&provider.name, PROVIDER_NAME_MAX); + if provider.name.is_empty() { return None; } - provider.name = Some(name); Some(provider) } @@ -167,17 +163,6 @@ mod tests { assert!(result[0].footer.is_none()); } - #[test] - fn provider_without_name_is_removed() { - let mut e = MessageEmbed::new("rich"); - e.provider = Some(EmbedProvider { - name: None, - url: Some("https://example.com".to_owned()), - }); - let result = normalize_embeds(vec![e], &test_proxy()); - assert!(result[0].provider.is_none()); - } - #[test] fn fields_limited_to_max() { let mut e = MessageEmbed::new("rich"); @@ -216,7 +201,7 @@ mod tests { fn provider_with_empty_name_string_is_removed() { let mut e = MessageEmbed::new("rich"); e.provider = Some(EmbedProvider { - name: Some("".to_owned()), + name: String::new(), url: Some("https://example.com".to_owned()), }); let result = normalize_embeds(vec![e], &test_proxy()); @@ -228,12 +213,12 @@ mod tests { let mut e = MessageEmbed::new("rich"); let long = "X".repeat(500); e.provider = Some(EmbedProvider { - name: Some(long), + name: long, url: None, }); let result = normalize_embeds(vec![e], &test_proxy()); let p = result[0].provider.as_ref().unwrap(); - assert!(p.name.as_ref().unwrap().chars().count() <= PROVIDER_NAME_MAX); + assert!(p.name.chars().count() <= PROVIDER_NAME_MAX); } #[test] diff --git a/fluxer_unfurl/src/resolvers/default_resolver.rs b/fluxer_unfurl/src/resolvers/default_resolver.rs index 32ada6f74..11e5ce960 100644 --- a/fluxer_unfurl/src/resolvers/default_resolver.rs +++ b/fluxer_unfurl/src/resolvers/default_resolver.rs @@ -359,7 +359,7 @@ fn set_author_and_provider( } if let Some(name) = site_name { embed.provider = Some(EmbedProvider { - name: Some(text_limits::truncate(name, text_limits::PROVIDER_NAME_MAX)), + name: text_limits::truncate(name, text_limits::PROVIDER_NAME_MAX), url: Some(provider_url.to_owned()), }); } diff --git a/fluxer_unfurl/src/resolvers/klipy.rs b/fluxer_unfurl/src/resolvers/klipy.rs index 50f2fe1a9..2e4d1a5cc 100644 --- a/fluxer_unfurl/src/resolvers/klipy.rs +++ b/fluxer_unfurl/src/resolvers/klipy.rs @@ -66,7 +66,7 @@ impl Resolver for KlipyResolver { let mut embed = MessageEmbed::new("gifv"); embed.url = Some(ctx.original_url.to_string()); embed.provider = Some(EmbedProvider { - name: Some("KLIPY".to_owned()), + name: "KLIPY".to_owned(), url: Some("https://klipy.com".to_owned()), }); if let Some(ref thumbnail) = formats.thumbnail { diff --git a/fluxer_unfurl/src/resolvers/tenor.rs b/fluxer_unfurl/src/resolvers/tenor.rs index 0eff0452c..4af81b271 100644 --- a/fluxer_unfurl/src/resolvers/tenor.rs +++ b/fluxer_unfurl/src/resolvers/tenor.rs @@ -103,7 +103,7 @@ fn tenor_embed( let mut embed = MessageEmbed::new("gifv"); embed.url = Some(source_url.to_string()); embed.provider = Some(EmbedProvider { - name: Some("Tenor".to_owned()), + name: "Tenor".to_owned(), url: Some("https://tenor.com".to_owned()), }); embed.thumbnail = thumbnail; @@ -396,7 +396,7 @@ mod tests { embed .provider .as_ref() - .and_then(|provider| provider.name.as_deref()), + .map(|provider| provider.name.as_str()), Some("Tenor") ); } diff --git a/fluxer_unfurl/src/resolvers/youtube.rs b/fluxer_unfurl/src/resolvers/youtube.rs index 495a1068c..dce2cc7ff 100644 --- a/fluxer_unfurl/src/resolvers/youtube.rs +++ b/fluxer_unfurl/src/resolvers/youtube.rs @@ -132,7 +132,7 @@ impl Resolver for YouTubeResolver { } embed.provider = Some(EmbedProvider { - name: Some("YouTube".to_owned()), + name: "YouTube".to_owned(), url: Some("https://www.youtube.com".to_owned()), }); diff --git a/fluxer_unfurl/src/types.rs b/fluxer_unfurl/src/types.rs index b54ad6274..f59d3e941 100644 --- a/fluxer_unfurl/src/types.rs +++ b/fluxer_unfurl/src/types.rs @@ -129,8 +129,7 @@ pub struct EmbedAuthor { #[derive(Debug, Clone, Serialize, Deserialize)] pub struct EmbedProvider { - #[serde(skip_serializing_if = "Option::is_none")] - pub name: Option, + pub name: String, #[serde(skip_serializing_if = "Option::is_none")] pub url: Option, } @@ -217,4 +216,16 @@ mod tests { UnfurlRequest::Invalidate { .. } => panic!("expected unfurl request"), } } + + #[test] + fn provider_always_serializes_its_name() { + let provider = EmbedProvider { + name: "Tenor".to_owned(), + url: None, + }; + assert_eq!( + serde_json::to_value(&provider).unwrap(), + serde_json::json!({"name": "Tenor"}) + ); + } } diff --git a/packages/errors/src/i18n/ErrorI18n.ts b/packages/errors/src/i18n/ErrorI18n.ts index 9906e9891..7783162c6 100644 --- a/packages/errors/src/i18n/ErrorI18n.ts +++ b/packages/errors/src/i18n/ErrorI18n.ts @@ -4,6 +4,7 @@ import {ErrorCodeToI18nKey} from '@fluxer/errors/src/i18n/ErrorCodeMappings'; import {ERROR_I18N_LOCALE_MESSAGES} from '@fluxer/errors/src/i18n/ErrorI18nLocales'; import {ERROR_I18N_MESSAGES, type ErrorI18nCatalog, type ErrorI18nKey} from '@fluxer/errors/src/i18n/ErrorI18nMessages'; import {identityLocale} from '@fluxer/i18n/src/normalization/IdentityLocale'; +import {compileMessage} from '@fluxer/i18n/src/runtime/CompileMessage'; import {createStaticI18n} from '@fluxer/i18n/src/runtime/CreateStaticI18n'; import type {I18nResult} from '@fluxer/i18n/src/runtime/I18nTypes'; import type { @@ -34,7 +35,7 @@ const errorI18n = createStaticI18n validateMessageTemplateVariables(template, variables), }, (template, variables, mf) => { - return String(mf.compile(template)(variables)); + return String(compileMessage(mf, template)(variables)); }, ); diff --git a/packages/i18n/src/runtime/CompileMessage.ts b/packages/i18n/src/runtime/CompileMessage.ts new file mode 100644 index 000000000..a0ab2501b --- /dev/null +++ b/packages/i18n/src/runtime/CompileMessage.ts @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import type MessageFormat from '@messageformat/core'; + +type CompiledMessage = (variables: Record) => unknown; + +const compiledMessagesByFormat = new WeakMap>(); + +export function compileMessage(messageFormat: MessageFormat, template: string): CompiledMessage { + let compiledMessages = compiledMessagesByFormat.get(messageFormat); + if (!compiledMessages) { + compiledMessages = new Map(); + compiledMessagesByFormat.set(messageFormat, compiledMessages); + } + let compiledMessage = compiledMessages.get(template); + if (!compiledMessage) { + compiledMessage = messageFormat.compile(template); + compiledMessages.set(template, compiledMessage); + } + return compiledMessage; +} diff --git a/packages/i18n/src/runtime/MessageCatalogTypes.ts b/packages/i18n/src/runtime/MessageCatalogTypes.ts index 87d02902f..880e5afae 100644 --- a/packages/i18n/src/runtime/MessageCatalogTypes.ts +++ b/packages/i18n/src/runtime/MessageCatalogTypes.ts @@ -103,12 +103,23 @@ function collectMessageTemplateVariables(tokens: ReadonlyArray, variables } } -export function extractMessageTemplateVariables(template: string): Set { +const templateVariablesByTemplate = new Map>(); + +function getMessageTemplateVariables(template: string): ReadonlySet { + const cachedVariables = templateVariablesByTemplate.get(template); + if (cachedVariables) { + return cachedVariables; + } const variables = new Set(); collectMessageTemplateVariables(parse(template), variables); + templateVariablesByTemplate.set(template, variables); return variables; } +export function extractMessageTemplateVariables(template: string): Set { + return new Set(getMessageTemplateVariables(template)); +} + function collectMessageTemplatePlaceholders(tokens: ReadonlyArray, placeholders: Set): void { for (const token of tokens) { switch (token.type) { @@ -161,9 +172,9 @@ export function validateMessageTemplateVariables( template: string, variables: Record | undefined, ): string | null { - let requiredVariables: Set; + let requiredVariables: ReadonlySet; try { - requiredVariables = extractMessageTemplateVariables(template); + requiredVariables = getMessageTemplateVariables(template); } catch (error) { const message = error instanceof Error ? error.message : 'Unknown parser error'; return `Invalid i18n message template: ${message}`; diff --git a/packages/i18n/src/runtime/tests/CompileMessage.test.ts b/packages/i18n/src/runtime/tests/CompileMessage.test.ts new file mode 100644 index 000000000..b6e0a178a --- /dev/null +++ b/packages/i18n/src/runtime/tests/CompileMessage.test.ts @@ -0,0 +1,117 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {compileMessage} from '@fluxer/i18n/src/runtime/CompileMessage'; +import {createStaticI18n} from '@fluxer/i18n/src/runtime/CreateStaticI18n'; +import type {I18nResult} from '@fluxer/i18n/src/runtime/I18nTypes'; +import { + extractMessageTemplateVariables, + validateMessageTemplateVariables, +} from '@fluxer/i18n/src/runtime/MessageCatalogTypes'; +import MessageFormat from '@messageformat/core'; +import {parse} from '@messageformat/parser'; +import {afterEach, describe, expect, it, vi} from 'vitest'; + +vi.mock('@messageformat/parser', async (importOriginal) => { + const actual = await importOriginal(); + return {...actual, parse: vi.fn(actual.parse)}; +}); + +const FILES_TEMPLATE = '{count, plural, one {# file one} other {# files other}}'; + +type TestKey = 'files' | 'greeting'; + +function unwrap(result: I18nResult): string { + if (!result.ok) { + throw new Error(result.error.message); + } + return result.value; +} + +function createTestI18n() { + return createStaticI18n>( + { + defaultLocale: 'en-US', + defaultMessages: {files: FILES_TEMPLATE, greeting: 'Hello {name}'}, + localeMessages: {fr: {files: FILES_TEMPLATE}}, + validateVariables: (_key, template, variables) => validateMessageTemplateVariables(template, variables), + }, + (template, variables, mf) => String(compileMessage(mf, template)(variables)), + ); +} + +describe('compileMessage', () => { + afterEach(() => { + vi.restoreAllMocks(); + }); + it('compiles a template once and reuses it across renders', () => { + const messageFormat = new MessageFormat('en-US'); + const compileSpy = vi.spyOn(messageFormat, 'compile'); + const first = compileMessage(messageFormat, 'Hello {name}'); + const second = compileMessage(messageFormat, 'Hello {name}'); + expect(second).toBe(first); + expect(first({name: 'Taylor'})).toBe('Hello Taylor'); + expect(second({name: 'Jordan'})).toBe('Hello Jordan'); + expect(compileSpy).toHaveBeenCalledTimes(1); + compileMessage(messageFormat, 'Bye {name}'); + expect(compileSpy).toHaveBeenCalledTimes(2); + }); + it('keeps compiled templates separate per locale so plural rules stay correct', () => { + const english = new MessageFormat('en-US'); + const french = new MessageFormat('fr'); + const englishFiles = compileMessage(english, FILES_TEMPLATE); + const frenchFiles = compileMessage(french, FILES_TEMPLATE); + expect(frenchFiles).not.toBe(englishFiles); + expect(englishFiles({count: 0})).toBe('0 files other'); + expect(frenchFiles({count: 0})).toBe('0 file one'); + expect(compileMessage(english, FILES_TEMPLATE)({count: 1})).toBe('1 file one'); + expect(compileMessage(french, FILES_TEMPLATE)({count: 2})).toBe('2 files other'); + }); + it('returns the raw value for a lone argument', () => { + expect(compileMessage(new MessageFormat('en-US'), '{count}')({count: 3})).toBe(3); + }); + it('compiles once per locale when rendering through createStaticI18n', () => { + const compileSpy = vi.spyOn(MessageFormat.prototype, 'compile'); + const i18n = createTestI18n(); + expect(unwrap(i18n.getTemplate('files', 'en-US', {count: 0}))).toBe('0 files other'); + expect(unwrap(i18n.getTemplate('files', 'en-US', {count: 1}))).toBe('1 file one'); + expect(unwrap(i18n.getTemplate('files', 'fr', {count: 0}))).toBe('0 file one'); + expect(unwrap(i18n.getTemplate('files', 'fr', {count: 2}))).toBe('2 files other'); + expect(unwrap(i18n.getTemplate('greeting', 'en-US', {name: 'Taylor'}))).toBe('Hello Taylor'); + expect(unwrap(i18n.getTemplate('greeting', 'en-US', {name: 'Jordan'}))).toBe('Hello Jordan'); + expect(compileSpy).toHaveBeenCalledTimes(3); + i18n.reset(); + expect(unwrap(i18n.getTemplate('files', 'en-US', {count: 3}))).toBe('3 files other'); + expect(compileSpy).toHaveBeenCalledTimes(4); + }); +}); + +describe('message template variables', () => { + it('parses a template once across validations', () => { + const template = 'Hello {cachedName}, you have {cachedCount, plural, one {# invite} other {# invites}}'; + const parseMock = vi.mocked(parse); + parseMock.mockClear(); + expect(validateMessageTemplateVariables(template, {cachedName: 'Taylor', cachedCount: 1})).toBeNull(); + expect(validateMessageTemplateVariables(template, {cachedName: 'Jordan', cachedCount: 2})).toBeNull(); + expect(validateMessageTemplateVariables(template, {cachedCount: 2})).toBe( + 'Missing required i18n variable: cachedName', + ); + expect([...extractMessageTemplateVariables(template)].sort()).toEqual(['cachedCount', 'cachedName']); + expect(parseMock).toHaveBeenCalledTimes(1); + }); + it('hands out copies so callers cannot change the cached set', () => { + const template = 'Welcome {copiedName}'; + const variables = extractMessageTemplateVariables(template); + variables.add('injected'); + variables.delete('copiedName'); + expect([...extractMessageTemplateVariables(template)]).toEqual(['copiedName']); + expect(validateMessageTemplateVariables(template, {copiedName: 'Taylor'})).toBeNull(); + expect(validateMessageTemplateVariables(template, {})).toBe('Missing required i18n variable: copiedName'); + }); + it('does not cache templates that fail to parse', () => { + const parseMock = vi.mocked(parse); + parseMock.mockClear(); + expect(validateMessageTemplateVariables('Broken {unclosed', {})).toMatch(/^Invalid i18n message template: /); + expect(validateMessageTemplateVariables('Broken {unclosed', {})).toMatch(/^Invalid i18n message template: /); + expect(parseMock).toHaveBeenCalledTimes(2); + }); +}); diff --git a/packages/openapi/src/__tests__/OpenAPIGenerator.test.ts b/packages/openapi/src/__tests__/OpenAPIGenerator.test.ts index 01800c229..648bc9724 100644 --- a/packages/openapi/src/__tests__/OpenAPIGenerator.test.ts +++ b/packages/openapi/src/__tests__/OpenAPIGenerator.test.ts @@ -297,6 +297,72 @@ describe('published public and admin documents', () => { expect(status).toEqual({type: 'string', description: 'Current status of the report (pending, resolved)'}); }); + it('declares the token query parameter of the harvest archive download', () => { + const operation = documentFor('public').paths['/harvest-downloads/{harvestId}'].get; + expect(operation.parameters?.map(({name, in: location, required}) => ({name, in: location, required}))).toEqual([ + {name: 'harvestId', in: 'path', required: true}, + {name: 'token', in: 'query', required: true}, + ]); + expect(operation.parameters?.[1].schema).toMatchObject({type: 'string'}); + }); + + it('leaves the MFA challenge out of responses that never return one', () => { + const document = documentFor('public'); + const responseSchema = (path: string) => + document.paths[path].post.responses['200'].content?.['application/json']?.schema; + expect(document.components.schemas.AuthRegisterResponse).toEqual({ + anyOf: [ + {$ref: '#/components/schemas/AuthTokenWithUserIdResponse'}, + {$ref: '#/components/schemas/AuthRegistrationPendingApprovalResponse'}, + ], + }); + expect(responseSchema('/auth/register')).toEqual({$ref: '#/components/schemas/AuthRegisterResponse'}); + expect(responseSchema('/auth/email-revert')).toEqual({$ref: '#/components/schemas/AuthTokenWithUserIdResponse'}); + for (const path of ['/auth/login', '/auth/reset']) { + expect(responseSchema(path)).toEqual({$ref: '#/components/schemas/AuthLoginResponse'}); + } + const login = document.components.schemas.AuthLoginResponse.anyOf ?? []; + expect(login).toHaveLength(2); + expect(login[0]).toEqual({$ref: '#/components/schemas/AuthTokenWithUserIdResponse'}); + expect(login[1]).toHaveProperty('properties.mfa'); + }); + + it('describes an embed provider with a name and a link only', () => { + const document = documentFor('public'); + expect(Object.keys(document.components.schemas.EmbedProviderResponse.properties ?? {})).toEqual(['name', 'url']); + for (const name of ['MessageEmbedResponse', 'MessageEmbedChildResponse']) { + const properties = document.components.schemas[name].properties; + expect(properties?.provider).toMatchObject({ + anyOf: [{$ref: '#/components/schemas/EmbedProviderResponse'}, {type: 'null'}], + }); + expect(properties?.author).toMatchObject({ + anyOf: [{$ref: '#/components/schemas/EmbedAuthorResponse'}, {type: 'null'}], + }); + } + expect(Object.keys(document.components.schemas.EmbedAuthorResponse.properties ?? {})).toEqual([ + 'name', + 'url', + 'icon_url', + 'proxy_icon_url', + ]); + }); + + it('lists only the fields the admin guild update returns', () => { + const document = documentFor('admin'); + const guild = document.components.schemas.GuildUpdateResponse.properties?.guild; + assert(typeof guild === 'object', 'the guild member of GuildUpdateResponse must be an object schema'); + expect(Object.keys(guild.properties ?? {})).toEqual([ + 'id', + 'name', + 'features', + 'owner_id', + 'icon', + 'banner', + 'member_count', + 'nsfw_level', + ]); + }); + it('keeps the report status and type enums in the admin document', () => { const {schemas} = documentFor('admin').components; expect(schemas.ReportStatus).toMatchObject({type: 'integer', format: 'int32', enum: [0, 1]}); diff --git a/packages/schema/src/domains/admin/AdminSchemas.ts b/packages/schema/src/domains/admin/AdminSchemas.ts index de67b8874..7bc98d49b 100644 --- a/packages/schema/src/domains/admin/AdminSchemas.ts +++ b/packages/schema/src/domains/admin/AdminSchemas.ts @@ -1269,9 +1269,6 @@ const AdminGuildResponseSchema = z.object({ banner: createStringType(1, 256).nullable(), member_count: Int32Type, nsfw_level: NSFWLevelSchema.optional(), - nsfw: z.boolean().optional(), - content_warning_level: ContentWarningLevelSchema.optional(), - content_warning_text: createStringType(0, CONTENT_WARNING_TEXT_MAX_LENGTH).nullable().optional(), }); const AdminGuildChannelSummarySchema = z.object({ id: SnowflakeStringType, diff --git a/packages/schema/src/domains/auth/AuthSchemas.ts b/packages/schema/src/domains/auth/AuthSchemas.ts index 11462a8c7..1854b874a 100644 --- a/packages/schema/src/domains/auth/AuthSchemas.ts +++ b/packages/schema/src/domains/auth/AuthSchemas.ts @@ -232,11 +232,7 @@ export const RecoverAccountResponse = z.union([ export type RecoverAccountResponse = z.infer; -export const AuthRegisterResponse = z.union([ - AuthTokenWithUserIdResponse, - AuthMfaRequiredResponse, - AuthRegistrationPendingApprovalResponse, -]); +export const AuthRegisterResponse = z.union([AuthTokenWithUserIdResponse, AuthRegistrationPendingApprovalResponse]); export type AuthRegisterResponse = z.infer; diff --git a/packages/schema/src/domains/message/EmbedSchemas.ts b/packages/schema/src/domains/message/EmbedSchemas.ts index cc1b3e2d0..00cfe1b0f 100644 --- a/packages/schema/src/domains/message/EmbedSchemas.ts +++ b/packages/schema/src/domains/message/EmbedSchemas.ts @@ -13,6 +13,11 @@ export const EmbedAuthorResponse = z.object({ export type EmbedAuthorResponse = z.infer; +export const EmbedProviderResponse = z.object({ + name: z.string().describe('The name of the provider'), + url: z.url().nullish().describe('The URL of the provider'), +}); + export const EmbedFooterResponse = z.object({ text: z.string().describe('The footer text'), icon_url: z.url().nullish().describe('The URL of the footer icon'), @@ -61,7 +66,7 @@ export const MessageEmbedChildResponse = z.object({ thumbnail: EmbedMediaResponse.nullish().describe('The thumbnail of the embed'), footer: EmbedFooterResponse.nullish().describe('The footer of the embed'), fields: z.array(EmbedFieldResponse).nullish().describe('The fields of the embed'), - provider: EmbedAuthorResponse.nullish().describe('The provider of the embed (e.g., YouTube, Twitter)'), + provider: EmbedProviderResponse.nullish().describe('The provider of the embed (e.g., YouTube, Twitter)'), video: EmbedMediaResponse.nullish().describe('The video of the embed'), audio: EmbedMediaResponse.nullish().describe('The audio of the embed'), html: z.string().nullish().describe('Sanitized oEmbed HTML for trusted specialized embed renderers'), @@ -89,6 +94,11 @@ export interface EmbedAuthor { readonly proxy_icon_url?: string; } +export interface EmbedProvider { + readonly name: string; + readonly url?: string; +} + export interface EmbedFooter { readonly text: string; readonly icon_url?: string; @@ -128,7 +138,7 @@ export interface MessageEmbedChild { readonly thumbnail?: EmbedMedia; readonly footer?: EmbedFooter; readonly fields?: ReadonlyArray; - readonly provider?: EmbedAuthor; + readonly provider?: EmbedProvider; readonly video?: EmbedMedia; readonly audio?: EmbedMedia; readonly html?: string; diff --git a/packages/schema/src/domains/report/ReportSchemas.ts b/packages/schema/src/domains/report/ReportSchemas.ts index 30af0f339..0a8cc6a8f 100644 --- a/packages/schema/src/domains/report/ReportSchemas.ts +++ b/packages/schema/src/domains/report/ReportSchemas.ts @@ -84,13 +84,13 @@ export const TicketResponse = z.object({ export type TicketResponse = z.infer; -const FLUXER_TAG_REGEX = /^([^#]{1,32})#([0-9]{4})$/; +const FLUXER_TAG_REGEX = /^([^#]{1,32})(#[0-9]{4})?$/; const FLUXER_TAG_TYPE = z .string() - .min(3) + .min(1) .max(37) - .refine((value) => FLUXER_TAG_REGEX.test(value), 'Fluxer tag must be in the format username#1234') - .describe('A Fluxer username tag in the format username#1234'); + .refine((value) => FLUXER_TAG_REGEX.test(value), 'Fluxer tag must be in the format username#1234 or username') + .describe('A Fluxer username tag in the format username#1234, or a bare username on an instance without user tags'); const EuCountryCodeEnum = withOpenApiType( createNamedStringLiteralUnion( [ diff --git a/packages/schema/src/domains/user/UserHarvestSchemas.ts b/packages/schema/src/domains/user/UserHarvestSchemas.ts index bd00e125d..74d43bbae 100644 --- a/packages/schema/src/domains/user/UserHarvestSchemas.ts +++ b/packages/schema/src/domains/user/UserHarvestSchemas.ts @@ -59,4 +59,8 @@ export const HarvestDownloadUrlResponse = z.object({ export type HarvestDownloadUrlResponse = z.infer; +export const HarvestDownloadQuery = z.object({ + token: createStringType(1, 2048).describe('The signed download token from the harvest download URL'), +}); + export const HarvestArchiveResponse = z.file().describe('The ZIP archive containing the requested user data');