diff --git a/app/build.gradle b/app/build.gradle index db7606cbcd..8c7a2a00d0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId 'com.discord' minSdkVersion 21 targetSdkVersion 30 - versionCode 115104 - versionName "115.4 - Beta" + versionCode 116105 + versionName "116.5 - Beta" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 10f12e095f..d8ccaa75ad 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ - + diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackFeedItemSeenBatch.java b/app/src/main/java/com/discord/analytics/generated/events/TrackFeedItemSeenBatch.java new file mode 100644 index 0000000000..6c188caa8d --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackFeedItemSeenBatch.java @@ -0,0 +1,54 @@ +package com.discord.analytics.generated.events; + +import b.d.b.a.a; +import com.discord.analytics.generated.traits.TrackBase; +import com.discord.analytics.generated.traits.TrackBaseReceiver; +import com.discord.api.science.AnalyticsSchema; +import d0.z.d.m; +import java.util.List; +/* compiled from: TrackFeedItemSeenBatch.kt */ +public final class TrackFeedItemSeenBatch implements AnalyticsSchema, TrackBaseReceiver { + private final List additionalSeenTimeMillis = null; + private final transient String analyticsSchemaTypeName = "feed_item_seen_batch"; + private final List feedItemIds = null; + private final CharSequence loadId = null; + private TrackBase trackBase; + + @Override // com.discord.api.science.AnalyticsSchema + public String b() { + return this.analyticsSchemaTypeName; + } + + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof TrackFeedItemSeenBatch)) { + return false; + } + TrackFeedItemSeenBatch trackFeedItemSeenBatch = (TrackFeedItemSeenBatch) obj; + return m.areEqual(this.loadId, trackFeedItemSeenBatch.loadId) && m.areEqual(this.feedItemIds, trackFeedItemSeenBatch.feedItemIds) && m.areEqual(this.additionalSeenTimeMillis, trackFeedItemSeenBatch.additionalSeenTimeMillis); + } + + public int hashCode() { + CharSequence charSequence = this.loadId; + int i = 0; + int hashCode = (charSequence != null ? charSequence.hashCode() : 0) * 31; + List list = this.feedItemIds; + int hashCode2 = (hashCode + (list != null ? list.hashCode() : 0)) * 31; + List list2 = this.additionalSeenTimeMillis; + if (list2 != null) { + i = list2.hashCode(); + } + return hashCode2 + i; + } + + public String toString() { + StringBuilder R = a.R("TrackFeedItemSeenBatch(loadId="); + R.append(this.loadId); + R.append(", feedItemIds="); + R.append(this.feedItemIds); + R.append(", additionalSeenTimeMillis="); + return a.K(R, this.additionalSeenTimeMillis, ")"); + } +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackFeedItemSeenBatchReceiver.java b/app/src/main/java/com/discord/analytics/generated/events/TrackFeedItemSeenBatchReceiver.java new file mode 100644 index 0000000000..211c45c1c4 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackFeedItemSeenBatchReceiver.java @@ -0,0 +1,6 @@ +package com.discord.analytics.generated.events; + +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackFeedItemSeenBatch.kt */ +public interface TrackFeedItemSeenBatchReceiver extends AnalyticsSchema { +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackGuildFeedChannelRemoved.java b/app/src/main/java/com/discord/analytics/generated/events/TrackGuildFeedChannelRemoved.java new file mode 100644 index 0000000000..d23ffd25a8 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackGuildFeedChannelRemoved.java @@ -0,0 +1,21 @@ +package com.discord.analytics.generated.events; + +import com.discord.analytics.generated.traits.TrackBase; +import com.discord.analytics.generated.traits.TrackBaseReceiver; +import com.discord.analytics.generated.traits.TrackChannel; +import com.discord.analytics.generated.traits.TrackChannelReceiver; +import com.discord.analytics.generated.traits.TrackGuild; +import com.discord.analytics.generated.traits.TrackGuildReceiver; +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackGuildFeedChannelRemoved.kt */ +public final class TrackGuildFeedChannelRemoved implements AnalyticsSchema, TrackBaseReceiver, TrackChannelReceiver, TrackGuildReceiver { + private final transient String analyticsSchemaTypeName = "guild_feed_channel_removed"; + private TrackBase trackBase; + private TrackChannel trackChannel; + private TrackGuild trackGuild; + + @Override // com.discord.api.science.AnalyticsSchema + public String b() { + return this.analyticsSchemaTypeName; + } +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackGuildFeedChannelRemovedReceiver.java b/app/src/main/java/com/discord/analytics/generated/events/TrackGuildFeedChannelRemovedReceiver.java new file mode 100644 index 0000000000..a5d7b501fc --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackGuildFeedChannelRemovedReceiver.java @@ -0,0 +1,6 @@ +package com.discord.analytics.generated.events; + +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackGuildFeedChannelRemoved.kt */ +public interface TrackGuildFeedChannelRemovedReceiver extends AnalyticsSchema { +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackGuildFeedChannelUnremoved.java b/app/src/main/java/com/discord/analytics/generated/events/TrackGuildFeedChannelUnremoved.java new file mode 100644 index 0000000000..3e8ffa6273 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackGuildFeedChannelUnremoved.java @@ -0,0 +1,21 @@ +package com.discord.analytics.generated.events; + +import com.discord.analytics.generated.traits.TrackBase; +import com.discord.analytics.generated.traits.TrackBaseReceiver; +import com.discord.analytics.generated.traits.TrackChannel; +import com.discord.analytics.generated.traits.TrackChannelReceiver; +import com.discord.analytics.generated.traits.TrackGuild; +import com.discord.analytics.generated.traits.TrackGuildReceiver; +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackGuildFeedChannelUnremoved.kt */ +public final class TrackGuildFeedChannelUnremoved implements AnalyticsSchema, TrackBaseReceiver, TrackChannelReceiver, TrackGuildReceiver { + private final transient String analyticsSchemaTypeName = "guild_feed_channel_unremoved"; + private TrackBase trackBase; + private TrackChannel trackChannel; + private TrackGuild trackGuild; + + @Override // com.discord.api.science.AnalyticsSchema + public String b() { + return this.analyticsSchemaTypeName; + } +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackGuildFeedChannelUnremovedReceiver.java b/app/src/main/java/com/discord/analytics/generated/events/TrackGuildFeedChannelUnremovedReceiver.java new file mode 100644 index 0000000000..b2893672b3 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackGuildFeedChannelUnremovedReceiver.java @@ -0,0 +1,6 @@ +package com.discord.analytics.generated.events; + +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackGuildFeedChannelUnremoved.kt */ +public interface TrackGuildFeedChannelUnremovedReceiver extends AnalyticsSchema { +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackPaymentFlowFailed.java b/app/src/main/java/com/discord/analytics/generated/events/TrackPaymentFlowFailed.java index 0d241cf0de..105bb139c3 100644 --- a/app/src/main/java/com/discord/analytics/generated/events/TrackPaymentFlowFailed.java +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackPaymentFlowFailed.java @@ -7,6 +7,8 @@ import com.discord.analytics.generated.traits.TrackLocationMetadata; import com.discord.analytics.generated.traits.TrackLocationMetadataReceiver; import com.discord.analytics.generated.traits.TrackPaymentMetadata; import com.discord.analytics.generated.traits.TrackPaymentMetadataReceiver; +import com.discord.analytics.generated.traits.TrackSourceMetadata; +import com.discord.analytics.generated.traits.TrackSourceMetadataReceiver; import com.discord.analytics.generated.traits.TrackStoreSkuMetadata; import com.discord.analytics.generated.traits.TrackStoreSkuMetadataReceiver; import com.discord.analytics.generated.traits.TrackSubscriptionMetadata; @@ -14,7 +16,7 @@ import com.discord.analytics.generated.traits.TrackSubscriptionMetadataReceiver; import com.discord.api.science.AnalyticsSchema; import d0.z.d.m; /* compiled from: TrackPaymentFlowFailed.kt */ -public final class TrackPaymentFlowFailed implements AnalyticsSchema, TrackBaseReceiver, TrackLocationMetadataReceiver, TrackStoreSkuMetadataReceiver, TrackSubscriptionMetadataReceiver, TrackPaymentMetadataReceiver { +public final class TrackPaymentFlowFailed implements AnalyticsSchema, TrackBaseReceiver, TrackLocationMetadataReceiver, TrackStoreSkuMetadataReceiver, TrackSubscriptionMetadataReceiver, TrackPaymentMetadataReceiver, TrackSourceMetadataReceiver { private final transient String analyticsSchemaTypeName = "payment_flow_failed"; private final Long durationMs = null; private final Boolean eligibleForTrial = null; @@ -25,6 +27,7 @@ public final class TrackPaymentFlowFailed implements AnalyticsSchema, TrackBaseR private TrackBase trackBase; private TrackLocationMetadata trackLocationMetadata; private TrackPaymentMetadata trackPaymentMetadata; + private TrackSourceMetadata trackSourceMetadata; private TrackStoreSkuMetadata trackStoreSkuMetadata; private TrackSubscriptionMetadata trackSubscriptionMetadata; diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackPaymentFlowOpened.java b/app/src/main/java/com/discord/analytics/generated/events/TrackPaymentFlowOpened.java index f2413caeee..cd9f0ea15f 100644 --- a/app/src/main/java/com/discord/analytics/generated/events/TrackPaymentFlowOpened.java +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackPaymentFlowOpened.java @@ -6,15 +6,18 @@ import com.discord.analytics.generated.traits.TrackLocationMetadata; import com.discord.analytics.generated.traits.TrackLocationMetadataReceiver; import com.discord.analytics.generated.traits.TrackPaymentMetadata; import com.discord.analytics.generated.traits.TrackPaymentMetadataReceiver; +import com.discord.analytics.generated.traits.TrackSourceMetadata; +import com.discord.analytics.generated.traits.TrackSourceMetadataReceiver; import com.discord.analytics.generated.traits.TrackSubscriptionMetadata; import com.discord.analytics.generated.traits.TrackSubscriptionMetadataReceiver; import com.discord.api.science.AnalyticsSchema; /* compiled from: TrackPaymentFlowOpened.kt */ -public final class TrackPaymentFlowOpened implements AnalyticsSchema, TrackBaseReceiver, TrackLocationMetadataReceiver, TrackSubscriptionMetadataReceiver, TrackPaymentMetadataReceiver { +public final class TrackPaymentFlowOpened implements AnalyticsSchema, TrackBaseReceiver, TrackLocationMetadataReceiver, TrackSubscriptionMetadataReceiver, TrackPaymentMetadataReceiver, TrackSourceMetadataReceiver { private final transient String analyticsSchemaTypeName = "payment_flow_opened"; private TrackBase trackBase; private TrackLocationMetadata trackLocationMetadata; private TrackPaymentMetadata trackPaymentMetadata; + private TrackSourceMetadata trackSourceMetadata; private TrackSubscriptionMetadata trackSubscriptionMetadata; @Override // com.discord.api.science.AnalyticsSchema diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackPaymentFlowStep.java b/app/src/main/java/com/discord/analytics/generated/events/TrackPaymentFlowStep.java index 232674aa35..246e32ced8 100644 --- a/app/src/main/java/com/discord/analytics/generated/events/TrackPaymentFlowStep.java +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackPaymentFlowStep.java @@ -7,6 +7,8 @@ import com.discord.analytics.generated.traits.TrackLocationMetadata; import com.discord.analytics.generated.traits.TrackLocationMetadataReceiver; import com.discord.analytics.generated.traits.TrackPaymentMetadata; import com.discord.analytics.generated.traits.TrackPaymentMetadataReceiver; +import com.discord.analytics.generated.traits.TrackSourceMetadata; +import com.discord.analytics.generated.traits.TrackSourceMetadataReceiver; import com.discord.analytics.generated.traits.TrackStoreSkuMetadata; import com.discord.analytics.generated.traits.TrackStoreSkuMetadataReceiver; import com.discord.analytics.generated.traits.TrackSubscriptionMetadata; @@ -14,7 +16,7 @@ import com.discord.analytics.generated.traits.TrackSubscriptionMetadataReceiver; import com.discord.api.science.AnalyticsSchema; import d0.z.d.m; /* compiled from: TrackPaymentFlowStep.kt */ -public final class TrackPaymentFlowStep implements AnalyticsSchema, TrackBaseReceiver, TrackLocationMetadataReceiver, TrackStoreSkuMetadataReceiver, TrackSubscriptionMetadataReceiver, TrackPaymentMetadataReceiver { +public final class TrackPaymentFlowStep implements AnalyticsSchema, TrackBaseReceiver, TrackLocationMetadataReceiver, TrackStoreSkuMetadataReceiver, TrackSubscriptionMetadataReceiver, TrackPaymentMetadataReceiver, TrackSourceMetadataReceiver { private final transient String analyticsSchemaTypeName = "payment_flow_step"; private final Boolean eligibleForTrial = null; private final Long flowDurationMs = null; @@ -26,6 +28,7 @@ public final class TrackPaymentFlowStep implements AnalyticsSchema, TrackBaseRec private TrackBase trackBase; private TrackLocationMetadata trackLocationMetadata; private TrackPaymentMetadata trackPaymentMetadata; + private TrackSourceMetadata trackSourceMetadata; private TrackStoreSkuMetadata trackStoreSkuMetadata; private TrackSubscriptionMetadata trackSubscriptionMetadata; diff --git a/app/src/main/java/com/discord/analytics/generated/events/activity_internal/TrackActivityInternalClientStatus.java b/app/src/main/java/com/discord/analytics/generated/events/activity_internal/TrackActivityInternalClientStatus.java index 975e26b10c..c464a6d342 100644 --- a/app/src/main/java/com/discord/analytics/generated/events/activity_internal/TrackActivityInternalClientStatus.java +++ b/app/src/main/java/com/discord/analytics/generated/events/activity_internal/TrackActivityInternalClientStatus.java @@ -12,6 +12,7 @@ public final class TrackActivityInternalClientStatus implements AnalyticsSchema, private final Long activityHeight = null; private final Long activityWidth = null; private final transient String analyticsSchemaTypeName = "activity_internal_client_status"; + private final Float fpsAvg = null; private final Long intervalRateMs = null; private final Long networkAttempts = null; private final Long networkLatencyMs = null; @@ -31,7 +32,7 @@ public final class TrackActivityInternalClientStatus implements AnalyticsSchema, return false; } TrackActivityInternalClientStatus trackActivityInternalClientStatus = (TrackActivityInternalClientStatus) obj; - return m.areEqual(this.activityWidth, trackActivityInternalClientStatus.activityWidth) && m.areEqual(this.activityHeight, trackActivityInternalClientStatus.activityHeight) && m.areEqual(this.networkLatencyMs, trackActivityInternalClientStatus.networkLatencyMs) && m.areEqual(this.networkAttempts, trackActivityInternalClientStatus.networkAttempts) && m.areEqual(this.intervalRateMs, trackActivityInternalClientStatus.intervalRateMs); + return m.areEqual(this.activityWidth, trackActivityInternalClientStatus.activityWidth) && m.areEqual(this.activityHeight, trackActivityInternalClientStatus.activityHeight) && m.areEqual(this.networkLatencyMs, trackActivityInternalClientStatus.networkLatencyMs) && m.areEqual(this.networkAttempts, trackActivityInternalClientStatus.networkAttempts) && m.areEqual(this.intervalRateMs, trackActivityInternalClientStatus.intervalRateMs) && m.areEqual(this.fpsAvg, trackActivityInternalClientStatus.fpsAvg); } public int hashCode() { @@ -45,10 +46,12 @@ public final class TrackActivityInternalClientStatus implements AnalyticsSchema, Long l4 = this.networkAttempts; int hashCode4 = (hashCode3 + (l4 != null ? l4.hashCode() : 0)) * 31; Long l5 = this.intervalRateMs; - if (l5 != null) { - i = l5.hashCode(); + int hashCode5 = (hashCode4 + (l5 != null ? l5.hashCode() : 0)) * 31; + Float f = this.fpsAvg; + if (f != null) { + i = f.hashCode(); } - return hashCode4 + i; + return hashCode5 + i; } public String toString() { @@ -61,6 +64,10 @@ public final class TrackActivityInternalClientStatus implements AnalyticsSchema, R.append(", networkAttempts="); R.append(this.networkAttempts); R.append(", intervalRateMs="); - return a.F(R, this.intervalRateMs, ")"); + R.append(this.intervalRateMs); + R.append(", fpsAvg="); + R.append(this.fpsAvg); + R.append(")"); + return R.toString(); } } diff --git a/app/src/main/java/com/discord/analytics/generated/events/network_action/TrackNetworkActionAuthorizePayment.java b/app/src/main/java/com/discord/analytics/generated/events/network_action/TrackNetworkActionAuthorizePayment.java new file mode 100644 index 0000000000..366eb07b91 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/network_action/TrackNetworkActionAuthorizePayment.java @@ -0,0 +1,26 @@ +package com.discord.analytics.generated.events.network_action; + +import com.discord.analytics.generated.traits.TrackBase; +import com.discord.analytics.generated.traits.TrackBaseReceiver; +import com.discord.analytics.generated.traits.TrackLocationMetadata; +import com.discord.analytics.generated.traits.TrackLocationMetadataReceiver; +import com.discord.analytics.generated.traits.TrackNetworkMetadata; +import com.discord.analytics.generated.traits.TrackNetworkMetadataReceiver; +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackNetworkActionAuthorizePayment.kt */ +public final class TrackNetworkActionAuthorizePayment implements AnalyticsSchema, TrackBaseReceiver, TrackLocationMetadataReceiver, TrackNetworkMetadataReceiver { + private final transient String analyticsSchemaTypeName = "network_action_authorize_payment"; + private TrackBase trackBase; + private TrackLocationMetadata trackLocationMetadata; + private TrackNetworkMetadata trackNetworkMetadata; + + @Override // com.discord.analytics.generated.traits.TrackNetworkMetadataReceiver + public void a(TrackNetworkMetadata trackNetworkMetadata) { + this.trackNetworkMetadata = trackNetworkMetadata; + } + + @Override // com.discord.api.science.AnalyticsSchema + public String b() { + return this.analyticsSchemaTypeName; + } +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/network_action/TrackNetworkActionAuthorizePaymentReceiver.java b/app/src/main/java/com/discord/analytics/generated/events/network_action/TrackNetworkActionAuthorizePaymentReceiver.java new file mode 100644 index 0000000000..c8a45b8d07 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/network_action/TrackNetworkActionAuthorizePaymentReceiver.java @@ -0,0 +1,6 @@ +package com.discord.analytics.generated.events.network_action; + +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackNetworkActionAuthorizePayment.kt */ +public interface TrackNetworkActionAuthorizePaymentReceiver extends AnalyticsSchema { +} diff --git a/app/src/main/java/com/discord/api/guild/GuildFeature.java b/app/src/main/java/com/discord/api/guild/GuildFeature.java index a71c608f5e..83ae2a6447 100644 --- a/app/src/main/java/com/discord/api/guild/GuildFeature.java +++ b/app/src/main/java/com/discord/api/guild/GuildFeature.java @@ -28,5 +28,6 @@ public enum GuildFeature { ROLE_ICONS, ANIMATED_BANNER, TEXT_IN_VOICE_ENABLED, - HAS_DIRECTORY_ENTRY + HAS_DIRECTORY_ENTRY, + EXPOSED_TO_BOOSTING_TIERS_EXPERIMENT } diff --git a/app/src/main/java/com/discord/models/message/Message.java b/app/src/main/java/com/discord/models/message/Message.java index bf968f9043..769e740b9a 100644 --- a/app/src/main/java/com/discord/models/message/Message.java +++ b/app/src/main/java/com/discord/models/message/Message.java @@ -20,6 +20,7 @@ import com.discord.api.sticker.Sticker; import com.discord.api.sticker.StickerPartial; import com.discord.api.user.User; import com.discord.api.utcdatetime.UtcDateTime; +import com.discord.utilities.captcha.CaptchaHelper; import d0.g0.w; import d0.t.h0; import d0.z.d.m; @@ -39,7 +40,7 @@ public final class Message { private final User author; private Map cachedReactionsMap; private final MessageCall call; - private final String captchaKey; + private final CaptchaHelper.CaptchaPayload captchaPayload; private final long channelId; private final List components; private final String content; @@ -85,7 +86,7 @@ public final class Message { /* JADX DEBUG: Multi-variable search result rejected for r34v0, resolved type: java.util.List */ /* JADX WARN: Multi-variable type inference failed */ - public Message(long j, long j2, Long l, User user, String str, UtcDateTime utcDateTime, UtcDateTime utcDateTime2, Boolean bool, Boolean bool2, List list, List list2, List list3, List list4, List list5, String str2, Boolean bool3, Long l2, Integer num, MessageActivity messageActivity, Application application, Long l3, MessageReference messageReference, Long l4, List list6, List list7, com.discord.api.message.Message message, Interaction interaction, Channel channel, List list8, MessageCall messageCall, Boolean bool4, boolean z2, MessageAllowedMentions messageAllowedMentions, Integer num2, Long l5, Long l6, List list9, String str3) { + public Message(long j, long j2, Long l, User user, String str, UtcDateTime utcDateTime, UtcDateTime utcDateTime2, Boolean bool, Boolean bool2, List list, List list2, List list3, List list4, List list5, String str2, Boolean bool3, Long l2, Integer num, MessageActivity messageActivity, Application application, Long l3, MessageReference messageReference, Long l4, List list6, List list7, com.discord.api.message.Message message, Interaction interaction, Channel channel, List list8, MessageCall messageCall, Boolean bool4, boolean z2, MessageAllowedMentions messageAllowedMentions, Integer num2, Long l5, Long l6, List list9, CaptchaHelper.CaptchaPayload captchaPayload) { this.f2721id = j; this.channelId = j2; this.guildId = l; @@ -123,12 +124,12 @@ public final class Message { this.lastManualAttemptTimestamp = l5; this.initialAttemptTimestamp = l6; this.localAttachments = list9; - this.captchaKey = str3; + this.captchaPayload = captchaPayload; } /* JADX INFO: this call moved to the top of the method (can break code semantics) */ - public /* synthetic */ Message(long j, long j2, Long l, User user, String str, UtcDateTime utcDateTime, UtcDateTime utcDateTime2, Boolean bool, Boolean bool2, List list, List list2, List list3, List list4, List list5, String str2, Boolean bool3, Long l2, Integer num, MessageActivity messageActivity, Application application, Long l3, MessageReference messageReference, Long l4, List list6, List list7, com.discord.api.message.Message message, Interaction interaction, Channel channel, List list8, MessageCall messageCall, Boolean bool4, boolean z2, MessageAllowedMentions messageAllowedMentions, Integer num2, Long l5, Long l6, List list9, String str3, int i, int i2, DefaultConstructorMarker defaultConstructorMarker) { - this(j, j2, (i & 4) != 0 ? null : l, (i & 8) != 0 ? null : user, (i & 16) != 0 ? null : str, (i & 32) != 0 ? null : utcDateTime, (i & 64) != 0 ? null : utcDateTime2, (i & 128) != 0 ? null : bool, (i & 256) != 0 ? null : bool2, (i & 512) != 0 ? null : list, (i & 1024) != 0 ? null : list2, (i & 2048) != 0 ? null : list3, (i & 4096) != 0 ? null : list4, (i & 8192) != 0 ? null : list5, (i & 16384) != 0 ? null : str2, (32768 & i) != 0 ? null : bool3, (65536 & i) != 0 ? null : l2, (131072 & i) != 0 ? null : num, (262144 & i) != 0 ? null : messageActivity, (524288 & i) != 0 ? null : application, (1048576 & i) != 0 ? null : l3, (2097152 & i) != 0 ? null : messageReference, (4194304 & i) != 0 ? null : l4, (8388608 & i) != 0 ? null : list6, (16777216 & i) != 0 ? null : list7, (33554432 & i) != 0 ? null : message, (67108864 & i) != 0 ? null : interaction, (134217728 & i) != 0 ? null : channel, (268435456 & i) != 0 ? null : list8, (536870912 & i) != 0 ? null : messageCall, (1073741824 & i) != 0 ? null : bool4, (i & Integer.MIN_VALUE) != 0 ? false : z2, (i2 & 1) != 0 ? null : messageAllowedMentions, (i2 & 2) != 0 ? null : num2, (i2 & 4) != 0 ? null : l5, (i2 & 8) != 0 ? null : l6, (i2 & 16) != 0 ? null : list9, (i2 & 32) != 0 ? null : str3); + public /* synthetic */ Message(long j, long j2, Long l, User user, String str, UtcDateTime utcDateTime, UtcDateTime utcDateTime2, Boolean bool, Boolean bool2, List list, List list2, List list3, List list4, List list5, String str2, Boolean bool3, Long l2, Integer num, MessageActivity messageActivity, Application application, Long l3, MessageReference messageReference, Long l4, List list6, List list7, com.discord.api.message.Message message, Interaction interaction, Channel channel, List list8, MessageCall messageCall, Boolean bool4, boolean z2, MessageAllowedMentions messageAllowedMentions, Integer num2, Long l5, Long l6, List list9, CaptchaHelper.CaptchaPayload captchaPayload, int i, int i2, DefaultConstructorMarker defaultConstructorMarker) { + this(j, j2, (i & 4) != 0 ? null : l, (i & 8) != 0 ? null : user, (i & 16) != 0 ? null : str, (i & 32) != 0 ? null : utcDateTime, (i & 64) != 0 ? null : utcDateTime2, (i & 128) != 0 ? null : bool, (i & 256) != 0 ? null : bool2, (i & 512) != 0 ? null : list, (i & 1024) != 0 ? null : list2, (i & 2048) != 0 ? null : list3, (i & 4096) != 0 ? null : list4, (i & 8192) != 0 ? null : list5, (i & 16384) != 0 ? null : str2, (32768 & i) != 0 ? null : bool3, (65536 & i) != 0 ? null : l2, (131072 & i) != 0 ? null : num, (262144 & i) != 0 ? null : messageActivity, (524288 & i) != 0 ? null : application, (1048576 & i) != 0 ? null : l3, (2097152 & i) != 0 ? null : messageReference, (4194304 & i) != 0 ? null : l4, (8388608 & i) != 0 ? null : list6, (16777216 & i) != 0 ? null : list7, (33554432 & i) != 0 ? null : message, (67108864 & i) != 0 ? null : interaction, (134217728 & i) != 0 ? null : channel, (268435456 & i) != 0 ? null : list8, (536870912 & i) != 0 ? null : messageCall, (1073741824 & i) != 0 ? null : bool4, (i & Integer.MIN_VALUE) != 0 ? false : z2, (i2 & 1) != 0 ? null : messageAllowedMentions, (i2 & 2) != 0 ? null : num2, (i2 & 4) != 0 ? null : l5, (i2 & 8) != 0 ? null : l6, (i2 & 16) != 0 ? null : list9, (i2 & 32) != 0 ? null : captchaPayload); } /* JADX INFO: this call moved to the top of the method (can break code semantics) */ @@ -137,8 +138,8 @@ public final class Message { m.checkNotNullParameter(message, "message"); } - public static /* synthetic */ Message copy$default(Message message, long j, long j2, Long l, User user, String str, UtcDateTime utcDateTime, UtcDateTime utcDateTime2, Boolean bool, Boolean bool2, List list, List list2, List list3, List list4, List list5, String str2, Boolean bool3, Long l2, Integer num, MessageActivity messageActivity, Application application, Long l3, MessageReference messageReference, Long l4, List list6, List list7, com.discord.api.message.Message message2, Interaction interaction, Channel channel, List list8, MessageCall messageCall, Boolean bool4, boolean z2, MessageAllowedMentions messageAllowedMentions, Integer num2, Long l5, Long l6, List list9, String str3, int i, int i2, Object obj) { - return message.copy((i & 1) != 0 ? message.f2721id : j, (i & 2) != 0 ? message.channelId : j2, (i & 4) != 0 ? message.guildId : l, (i & 8) != 0 ? message.author : user, (i & 16) != 0 ? message.content : str, (i & 32) != 0 ? message.timestamp : utcDateTime, (i & 64) != 0 ? message.editedTimestamp : utcDateTime2, (i & 128) != 0 ? message.tts : bool, (i & 256) != 0 ? message.mentionEveryone : bool2, (i & 512) != 0 ? message.mentions : list, (i & 1024) != 0 ? message.mentionRoles : list2, (i & 2048) != 0 ? message.attachments : list3, (i & 4096) != 0 ? message.embeds : list4, (i & 8192) != 0 ? message.reactions : list5, (i & 16384) != 0 ? message.nonce : str2, (i & 32768) != 0 ? message.pinned : bool3, (i & 65536) != 0 ? message.webhookId : l2, (i & 131072) != 0 ? message.type : num, (i & 262144) != 0 ? message.activity : messageActivity, (i & 524288) != 0 ? message.application : application, (i & 1048576) != 0 ? message.applicationId : l3, (i & 2097152) != 0 ? message.messageReference : messageReference, (i & 4194304) != 0 ? message.flags : l4, (i & 8388608) != 0 ? message.stickers : list6, (i & 16777216) != 0 ? message.stickerItems : list7, (i & 33554432) != 0 ? message.referencedMessage : message2, (i & 67108864) != 0 ? message.interaction : interaction, (i & 134217728) != 0 ? message.thread : channel, (i & 268435456) != 0 ? message.components : list8, (i & 536870912) != 0 ? message.call : messageCall, (i & BasicMeasure.EXACTLY) != 0 ? message.hit : bool4, (i & Integer.MIN_VALUE) != 0 ? message.hasLocalUploads : z2, (i2 & 1) != 0 ? message.allowedMentions : messageAllowedMentions, (i2 & 2) != 0 ? message.numRetries : num2, (i2 & 4) != 0 ? message.lastManualAttemptTimestamp : l5, (i2 & 8) != 0 ? message.initialAttemptTimestamp : l6, (i2 & 16) != 0 ? message.localAttachments : list9, (i2 & 32) != 0 ? message.captchaKey : str3); + public static /* synthetic */ Message copy$default(Message message, long j, long j2, Long l, User user, String str, UtcDateTime utcDateTime, UtcDateTime utcDateTime2, Boolean bool, Boolean bool2, List list, List list2, List list3, List list4, List list5, String str2, Boolean bool3, Long l2, Integer num, MessageActivity messageActivity, Application application, Long l3, MessageReference messageReference, Long l4, List list6, List list7, com.discord.api.message.Message message2, Interaction interaction, Channel channel, List list8, MessageCall messageCall, Boolean bool4, boolean z2, MessageAllowedMentions messageAllowedMentions, Integer num2, Long l5, Long l6, List list9, CaptchaHelper.CaptchaPayload captchaPayload, int i, int i2, Object obj) { + return message.copy((i & 1) != 0 ? message.f2721id : j, (i & 2) != 0 ? message.channelId : j2, (i & 4) != 0 ? message.guildId : l, (i & 8) != 0 ? message.author : user, (i & 16) != 0 ? message.content : str, (i & 32) != 0 ? message.timestamp : utcDateTime, (i & 64) != 0 ? message.editedTimestamp : utcDateTime2, (i & 128) != 0 ? message.tts : bool, (i & 256) != 0 ? message.mentionEveryone : bool2, (i & 512) != 0 ? message.mentions : list, (i & 1024) != 0 ? message.mentionRoles : list2, (i & 2048) != 0 ? message.attachments : list3, (i & 4096) != 0 ? message.embeds : list4, (i & 8192) != 0 ? message.reactions : list5, (i & 16384) != 0 ? message.nonce : str2, (i & 32768) != 0 ? message.pinned : bool3, (i & 65536) != 0 ? message.webhookId : l2, (i & 131072) != 0 ? message.type : num, (i & 262144) != 0 ? message.activity : messageActivity, (i & 524288) != 0 ? message.application : application, (i & 1048576) != 0 ? message.applicationId : l3, (i & 2097152) != 0 ? message.messageReference : messageReference, (i & 4194304) != 0 ? message.flags : l4, (i & 8388608) != 0 ? message.stickers : list6, (i & 16777216) != 0 ? message.stickerItems : list7, (i & 33554432) != 0 ? message.referencedMessage : message2, (i & 67108864) != 0 ? message.interaction : interaction, (i & 134217728) != 0 ? message.thread : channel, (i & 268435456) != 0 ? message.components : list8, (i & 536870912) != 0 ? message.call : messageCall, (i & BasicMeasure.EXACTLY) != 0 ? message.hit : bool4, (i & Integer.MIN_VALUE) != 0 ? message.hasLocalUploads : z2, (i2 & 1) != 0 ? message.allowedMentions : messageAllowedMentions, (i2 & 2) != 0 ? message.numRetries : num2, (i2 & 4) != 0 ? message.lastManualAttemptTimestamp : l5, (i2 & 8) != 0 ? message.initialAttemptTimestamp : l6, (i2 & 16) != 0 ? message.localAttachments : list9, (i2 & 32) != 0 ? message.captchaPayload : captchaPayload); } public final boolean canResend() { @@ -270,8 +271,8 @@ public final class Message { return this.localAttachments; } - public final String component38() { - return this.captchaKey; + public final CaptchaHelper.CaptchaPayload component38() { + return this.captchaPayload; } public final User component4() { @@ -298,8 +299,8 @@ public final class Message { return this.mentionEveryone; } - public final Message copy(long j, long j2, Long l, User user, String str, UtcDateTime utcDateTime, UtcDateTime utcDateTime2, Boolean bool, Boolean bool2, List list, List list2, List list3, List list4, List list5, String str2, Boolean bool3, Long l2, Integer num, MessageActivity messageActivity, Application application, Long l3, MessageReference messageReference, Long l4, List list6, List list7, com.discord.api.message.Message message, Interaction interaction, Channel channel, List list8, MessageCall messageCall, Boolean bool4, boolean z2, MessageAllowedMentions messageAllowedMentions, Integer num2, Long l5, Long l6, List list9, String str3) { - return new Message(j, j2, l, user, str, utcDateTime, utcDateTime2, bool, bool2, list, list2, list3, list4, list5, str2, bool3, l2, num, messageActivity, application, l3, messageReference, l4, list6, list7, message, interaction, channel, list8, messageCall, bool4, z2, messageAllowedMentions, num2, l5, l6, list9, str3); + public final Message copy(long j, long j2, Long l, User user, String str, UtcDateTime utcDateTime, UtcDateTime utcDateTime2, Boolean bool, Boolean bool2, List list, List list2, List list3, List list4, List list5, String str2, Boolean bool3, Long l2, Integer num, MessageActivity messageActivity, Application application, Long l3, MessageReference messageReference, Long l4, List list6, List list7, com.discord.api.message.Message message, Interaction interaction, Channel channel, List list8, MessageCall messageCall, Boolean bool4, boolean z2, MessageAllowedMentions messageAllowedMentions, Integer num2, Long l5, Long l6, List list9, CaptchaHelper.CaptchaPayload captchaPayload) { + return new Message(j, j2, l, user, str, utcDateTime, utcDateTime2, bool, bool2, list, list2, list3, list4, list5, str2, bool3, l2, num, messageActivity, application, l3, messageReference, l4, list6, list7, message, interaction, channel, list8, messageCall, bool4, z2, messageAllowedMentions, num2, l5, l6, list9, captchaPayload); } public boolean equals(Object obj) { @@ -310,7 +311,7 @@ public final class Message { return false; } Message message = (Message) obj; - return this.f2721id == message.f2721id && this.channelId == message.channelId && m.areEqual(this.guildId, message.guildId) && m.areEqual(this.author, message.author) && m.areEqual(this.content, message.content) && m.areEqual(this.timestamp, message.timestamp) && m.areEqual(this.editedTimestamp, message.editedTimestamp) && m.areEqual(this.tts, message.tts) && m.areEqual(this.mentionEveryone, message.mentionEveryone) && m.areEqual(this.mentions, message.mentions) && m.areEqual(this.mentionRoles, message.mentionRoles) && m.areEqual(this.attachments, message.attachments) && m.areEqual(this.embeds, message.embeds) && m.areEqual(this.reactions, message.reactions) && m.areEqual(this.nonce, message.nonce) && m.areEqual(this.pinned, message.pinned) && m.areEqual(this.webhookId, message.webhookId) && m.areEqual(this.type, message.type) && m.areEqual(this.activity, message.activity) && m.areEqual(this.application, message.application) && m.areEqual(this.applicationId, message.applicationId) && m.areEqual(this.messageReference, message.messageReference) && m.areEqual(this.flags, message.flags) && m.areEqual(this.stickers, message.stickers) && m.areEqual(this.stickerItems, message.stickerItems) && m.areEqual(this.referencedMessage, message.referencedMessage) && m.areEqual(this.interaction, message.interaction) && m.areEqual(this.thread, message.thread) && m.areEqual(this.components, message.components) && m.areEqual(this.call, message.call) && m.areEqual(this.hit, message.hit) && this.hasLocalUploads == message.hasLocalUploads && m.areEqual(this.allowedMentions, message.allowedMentions) && m.areEqual(this.numRetries, message.numRetries) && m.areEqual(this.lastManualAttemptTimestamp, message.lastManualAttemptTimestamp) && m.areEqual(this.initialAttemptTimestamp, message.initialAttemptTimestamp) && m.areEqual(this.localAttachments, message.localAttachments) && m.areEqual(this.captchaKey, message.captchaKey); + return this.f2721id == message.f2721id && this.channelId == message.channelId && m.areEqual(this.guildId, message.guildId) && m.areEqual(this.author, message.author) && m.areEqual(this.content, message.content) && m.areEqual(this.timestamp, message.timestamp) && m.areEqual(this.editedTimestamp, message.editedTimestamp) && m.areEqual(this.tts, message.tts) && m.areEqual(this.mentionEveryone, message.mentionEveryone) && m.areEqual(this.mentions, message.mentions) && m.areEqual(this.mentionRoles, message.mentionRoles) && m.areEqual(this.attachments, message.attachments) && m.areEqual(this.embeds, message.embeds) && m.areEqual(this.reactions, message.reactions) && m.areEqual(this.nonce, message.nonce) && m.areEqual(this.pinned, message.pinned) && m.areEqual(this.webhookId, message.webhookId) && m.areEqual(this.type, message.type) && m.areEqual(this.activity, message.activity) && m.areEqual(this.application, message.application) && m.areEqual(this.applicationId, message.applicationId) && m.areEqual(this.messageReference, message.messageReference) && m.areEqual(this.flags, message.flags) && m.areEqual(this.stickers, message.stickers) && m.areEqual(this.stickerItems, message.stickerItems) && m.areEqual(this.referencedMessage, message.referencedMessage) && m.areEqual(this.interaction, message.interaction) && m.areEqual(this.thread, message.thread) && m.areEqual(this.components, message.components) && m.areEqual(this.call, message.call) && m.areEqual(this.hit, message.hit) && this.hasLocalUploads == message.hasLocalUploads && m.areEqual(this.allowedMentions, message.allowedMentions) && m.areEqual(this.numRetries, message.numRetries) && m.areEqual(this.lastManualAttemptTimestamp, message.lastManualAttemptTimestamp) && m.areEqual(this.initialAttemptTimestamp, message.initialAttemptTimestamp) && m.areEqual(this.localAttachments, message.localAttachments) && m.areEqual(this.captchaPayload, message.captchaPayload); } public final MessageActivity getActivity() { @@ -351,8 +352,8 @@ public final class Message { return a.g() - utcDateTime.g(); } - public final String getCaptchaKey() { - return this.captchaKey; + public final CaptchaHelper.CaptchaPayload getCaptchaPayload() { + return this.captchaPayload; } public final long getChannelId() { @@ -605,9 +606,9 @@ public final class Message { int hashCode33 = (hashCode32 + (l6 != null ? l6.hashCode() : 0)) * 31; List list9 = this.localAttachments; int hashCode34 = (hashCode33 + (list9 != null ? list9.hashCode() : 0)) * 31; - String str3 = this.captchaKey; - if (str3 != null) { - i = str3.hashCode(); + CaptchaHelper.CaptchaPayload captchaPayload = this.captchaPayload; + if (captchaPayload != null) { + i = captchaPayload.hashCode(); } return hashCode34 + i; } @@ -813,6 +814,10 @@ public final class Message { return copy$default(this, o, g, m, e, i, C, j, D, r, t, s2, d, k, x2, v, w, F, E, a, b2, c, u, l, A, z2, y2, p, B, h, f, null, false, null, null, null, null, null, null, -1073741824, 63, null); } + public final boolean shouldShowReplyPreviewAsAttachment() { + return (this.activity == null || this.application == null) ? false : true; + } + public final com.discord.api.message.Message synthesizeApiMessage() { return new com.discord.api.message.Message(this.f2721id, this.channelId, this.author, this.content, this.timestamp, this.editedTimestamp, this.tts, this.mentionEveryone, this.mentions, this.mentionRoles, this.attachments, this.embeds, this.reactions, this.nonce, this.pinned, this.webhookId, this.type, this.activity, this.application, this.applicationId, this.messageReference, this.flags, this.stickers, this.stickerItems, this.referencedMessage, this.interaction, this.thread, this.components, this.call, this.guildId, null, null, -1073741824); } @@ -892,7 +897,9 @@ public final class Message { R.append(this.initialAttemptTimestamp); R.append(", localAttachments="); R.append(this.localAttachments); - R.append(", captchaKey="); - return a.H(R, this.captchaKey, ")"); + R.append(", captchaPayload="); + R.append(this.captchaPayload); + R.append(")"); + return R.toString(); } } diff --git a/app/src/main/java/com/discord/restapi/RestAPIParams.java b/app/src/main/java/com/discord/restapi/RestAPIParams.java index fbdf5661f3..154e6d9e79 100644 --- a/app/src/main/java/com/discord/restapi/RestAPIParams.java +++ b/app/src/main/java/com/discord/restapi/RestAPIParams.java @@ -273,6 +273,7 @@ public final class RestAPIParams { /* compiled from: RestAPIParams.kt */ public static final class AuthLogin { private final String captchaKey; + private final String captchaRqtoken; private final String login; private final String loginSource; private final String password; @@ -287,18 +288,20 @@ public final class RestAPIParams { } } - public AuthLogin(String str, String str2, String str3, Boolean bool, String str4) { + public AuthLogin(String str, String str2, String str3, String str4, Boolean bool, String str5) { this.login = str; this.password = str2; this.captchaKey = str3; + this.captchaRqtoken = str4; this.undelete = bool; - this.loginSource = str4; + this.loginSource = str5; } } /* compiled from: RestAPIParams.kt */ public static final class AuthRegister { private final String captchaKey; + private final String captchaRqtoken; private final boolean consent; private final String dateOfBirth; private final String email; @@ -309,34 +312,37 @@ public final class RestAPIParams { private final String phoneToken; private final String username; - public AuthRegister(String str, String str2, String str3, String str4, String str5, String str6, String str7, String str8, boolean z2, String str9) { + public AuthRegister(String str, String str2, String str3, String str4, String str5, String str6, String str7, String str8, String str9, boolean z2, String str10) { this.fingerprint = str; this.username = str2; this.email = str3; this.phoneToken = str4; this.password = str5; this.captchaKey = str6; - this.invite = str7; - this.guildTemplateCode = str8; + this.captchaRqtoken = str7; + this.invite = str8; + this.guildTemplateCode = str9; this.consent = z2; - this.dateOfBirth = str9; + this.dateOfBirth = str10; } /* JADX INFO: this call moved to the top of the method (can break code semantics) */ - public /* synthetic */ AuthRegister(String str, String str2, String str3, String str4, String str5, String str6, String str7, String str8, boolean z2, String str9, int i, DefaultConstructorMarker defaultConstructorMarker) { - this(str, str2, str3, str4, str5, str6, str7, str8, z2, (i & 512) != 0 ? null : str9); + public /* synthetic */ AuthRegister(String str, String str2, String str3, String str4, String str5, String str6, String str7, String str8, String str9, boolean z2, String str10, int i, DefaultConstructorMarker defaultConstructorMarker) { + this(str, str2, str3, str4, str5, str6, str7, str8, str9, z2, (i & 1024) != 0 ? null : str10); } } /* compiled from: RestAPIParams.kt */ public static final class AuthRegisterPhone { private final String captchaKey; + private final String captchaRqtoken; private final String phone; - public AuthRegisterPhone(String str, String str2) { + public AuthRegisterPhone(String str, String str2, String str3) { m.checkNotNullParameter(str, "phone"); this.phone = str; this.captchaKey = str2; + this.captchaRqtoken = str3; } } @@ -370,9 +376,11 @@ public final class RestAPIParams { /* compiled from: RestAPIParams.kt */ public static final class CaptchaCode { private final String captchaKey; + private final String captchaRqtoken; - public CaptchaCode(String str) { + public CaptchaCode(String str, String str2) { this.captchaKey = str; + this.captchaRqtoken = str2; } } @@ -1859,11 +1867,13 @@ public final class RestAPIParams { /* compiled from: RestAPIParams.kt */ public static final class ForgotPassword { private final String captchaKey; + private final String captchaRqtoken; private final String login; - public ForgotPassword(String str, String str2) { + public ForgotPassword(String str, String str2, String str3) { this.login = str; this.captchaKey = str2; + this.captchaRqtoken = str3; } } @@ -2143,9 +2153,11 @@ public final class RestAPIParams { /* compiled from: RestAPIParams.kt */ public static final class InviteCode { private final String captchaKey; + private final String captchaRqtoken; - public InviteCode(String str) { + public InviteCode(String str, String str2) { this.captchaKey = str; + this.captchaRqtoken = str2; } } @@ -2337,6 +2349,7 @@ public final class RestAPIParams { private final AllowedMentions allowedMentions; private final Long applicationId; private final String captchaKey; + private final String captchaRqtoken; private final String content; private final MessageReference messageReference; private final String nonce; @@ -2452,7 +2465,7 @@ public final class RestAPIParams { } } - public Message(String str, String str2, Long l, Activity activity, List list, MessageReference messageReference, AllowedMentions allowedMentions, String str3) { + public Message(String str, String str2, Long l, Activity activity, List list, MessageReference messageReference, AllowedMentions allowedMentions, String str3, String str4) { this.content = str; this.nonce = str2; this.applicationId = l; @@ -2461,15 +2474,16 @@ public final class RestAPIParams { this.messageReference = messageReference; this.allowedMentions = allowedMentions; this.captchaKey = str3; + this.captchaRqtoken = str4; } /* JADX INFO: this call moved to the top of the method (can break code semantics) */ - public /* synthetic */ Message(String str, String str2, Long l, Activity activity, List list, MessageReference messageReference, AllowedMentions allowedMentions, String str3, int i, DefaultConstructorMarker defaultConstructorMarker) { - this(str, str2, (i & 4) != 0 ? null : l, (i & 8) != 0 ? null : activity, (i & 16) != 0 ? null : list, (i & 32) != 0 ? null : messageReference, (i & 64) != 0 ? null : allowedMentions, (i & 128) != 0 ? null : str3); + public /* synthetic */ Message(String str, String str2, Long l, Activity activity, List list, MessageReference messageReference, AllowedMentions allowedMentions, String str3, String str4, int i, DefaultConstructorMarker defaultConstructorMarker) { + this(str, str2, (i & 4) != 0 ? null : l, (i & 8) != 0 ? null : activity, (i & 16) != 0 ? null : list, (i & 32) != 0 ? null : messageReference, (i & 64) != 0 ? null : allowedMentions, (i & 128) != 0 ? null : str3, (i & 256) != 0 ? null : str4); } - public static /* synthetic */ Message copy$default(Message message, String str, String str2, Long l, Activity activity, List list, MessageReference messageReference, AllowedMentions allowedMentions, String str3, int i, Object obj) { - return message.copy((i & 1) != 0 ? message.content : str, (i & 2) != 0 ? message.nonce : str2, (i & 4) != 0 ? message.applicationId : l, (i & 8) != 0 ? message.activity : activity, (i & 16) != 0 ? message.stickerIds : list, (i & 32) != 0 ? message.messageReference : messageReference, (i & 64) != 0 ? message.allowedMentions : allowedMentions, (i & 128) != 0 ? message.captchaKey : str3); + public static /* synthetic */ Message copy$default(Message message, String str, String str2, Long l, Activity activity, List list, MessageReference messageReference, AllowedMentions allowedMentions, String str3, String str4, int i, Object obj) { + return message.copy((i & 1) != 0 ? message.content : str, (i & 2) != 0 ? message.nonce : str2, (i & 4) != 0 ? message.applicationId : l, (i & 8) != 0 ? message.activity : activity, (i & 16) != 0 ? message.stickerIds : list, (i & 32) != 0 ? message.messageReference : messageReference, (i & 64) != 0 ? message.allowedMentions : allowedMentions, (i & 128) != 0 ? message.captchaKey : str3, (i & 256) != 0 ? message.captchaRqtoken : str4); } public final String component1() { @@ -2504,8 +2518,12 @@ public final class RestAPIParams { return this.captchaKey; } - public final Message copy(String str, String str2, Long l, Activity activity, List list, MessageReference messageReference, AllowedMentions allowedMentions, String str3) { - return new Message(str, str2, l, activity, list, messageReference, allowedMentions, str3); + public final String component9() { + return this.captchaRqtoken; + } + + public final Message copy(String str, String str2, Long l, Activity activity, List list, MessageReference messageReference, AllowedMentions allowedMentions, String str3, String str4) { + return new Message(str, str2, l, activity, list, messageReference, allowedMentions, str3, str4); } public boolean equals(Object obj) { @@ -2516,7 +2534,7 @@ public final class RestAPIParams { return false; } Message message = (Message) obj; - return m.areEqual(this.content, message.content) && m.areEqual(this.nonce, message.nonce) && m.areEqual(this.applicationId, message.applicationId) && m.areEqual(this.activity, message.activity) && m.areEqual(this.stickerIds, message.stickerIds) && m.areEqual(this.messageReference, message.messageReference) && m.areEqual(this.allowedMentions, message.allowedMentions) && m.areEqual(this.captchaKey, message.captchaKey); + return m.areEqual(this.content, message.content) && m.areEqual(this.nonce, message.nonce) && m.areEqual(this.applicationId, message.applicationId) && m.areEqual(this.activity, message.activity) && m.areEqual(this.stickerIds, message.stickerIds) && m.areEqual(this.messageReference, message.messageReference) && m.areEqual(this.allowedMentions, message.allowedMentions) && m.areEqual(this.captchaKey, message.captchaKey) && m.areEqual(this.captchaRqtoken, message.captchaRqtoken); } public final Activity getActivity() { @@ -2535,6 +2553,10 @@ public final class RestAPIParams { return this.captchaKey; } + public final String getCaptchaRqtoken() { + return this.captchaRqtoken; + } + public final String getContent() { return this.content; } @@ -2568,10 +2590,12 @@ public final class RestAPIParams { AllowedMentions allowedMentions = this.allowedMentions; int hashCode7 = (hashCode6 + (allowedMentions != null ? allowedMentions.hashCode() : 0)) * 31; String str3 = this.captchaKey; - if (str3 != null) { - i = str3.hashCode(); + int hashCode8 = (hashCode7 + (str3 != null ? str3.hashCode() : 0)) * 31; + String str4 = this.captchaRqtoken; + if (str4 != null) { + i = str4.hashCode(); } - return hashCode7 + i; + return hashCode8 + i; } public String toString() { @@ -2590,7 +2614,9 @@ public final class RestAPIParams { R.append(", allowedMentions="); R.append(this.allowedMentions); R.append(", captchaKey="); - return a.H(R, this.captchaKey, ")"); + R.append(this.captchaKey); + R.append(", captchaRqtoken="); + return a.H(R, this.captchaRqtoken, ")"); } } @@ -3027,13 +3053,15 @@ public final class RestAPIParams { /* compiled from: RestAPIParams.kt */ public static final class Phone { private final String captchaKey; + private final String captchaRqtoken; private final String phone; private final String source; - public Phone(String str, String str2, String str3) { + public Phone(String str, String str2, String str3, String str4) { this.phone = str; this.source = str2; this.captchaKey = str3; + this.captchaRqtoken = str4; } } @@ -4794,27 +4822,31 @@ public final class RestAPIParams { /* compiled from: RestAPIParams.kt */ public static final class UserRelationship { private final String captchaKey; + private final String captchaRqtoken; private final String friendToken; private final Integer type; /* compiled from: RestAPIParams.kt */ public static final class Add { private final String captchaKey; + private final String captchaRqtoken; private final int discriminator; private final String username; - public Add(String str, int i, String str2) { + public Add(String str, int i, String str2, String str3) { m.checkNotNullParameter(str, "username"); this.username = str; this.discriminator = i; this.captchaKey = str2; + this.captchaRqtoken = str3; } } - public UserRelationship(Integer num, String str, String str2) { + public UserRelationship(Integer num, String str, String str2, String str3) { this.type = num; this.friendToken = str; this.captchaKey = str2; + this.captchaRqtoken = str3; } } diff --git a/app/src/main/java/com/discord/stores/StoreAuthentication$login$1.java b/app/src/main/java/com/discord/stores/StoreAuthentication$login$1.java index 09d3df3806..e34f8e9483 100644 --- a/app/src/main/java/com/discord/stores/StoreAuthentication$login$1.java +++ b/app/src/main/java/com/discord/stores/StoreAuthentication$login$1.java @@ -6,6 +6,7 @@ import com.discord.models.domain.ModelInvite; import com.discord.models.domain.auth.ModelLoginResult; import com.discord.restapi.RestAPIParams; import com.discord.stores.utilities.RestCallStateKt; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.rest.RestAPI; import com.discord.utilities.rx.ObservableExtensionsKt; import d0.z.d.o; @@ -15,7 +16,7 @@ import kotlin.jvm.functions.Function1; import rx.Observable; /* compiled from: StoreAuthentication.kt */ public final class StoreAuthentication$login$1 implements b> { - public final /* synthetic */ String $captchaKey; + public final /* synthetic */ CaptchaHelper.CaptchaPayload $captchaPayload; public final /* synthetic */ String $login; public final /* synthetic */ String $loginSource; public final /* synthetic */ String $password; @@ -37,15 +38,21 @@ public final class StoreAuthentication$login$1 implements b call(String str) { - return RestCallStateKt.logNetworkAction(ObservableExtensionsKt.restSubscribeOn$default(RestAPI.Companion.getApi().postAuthLogin(new RestAPIParams.AuthLogin(this.$login, this.$password, this.$captchaKey, Boolean.valueOf(this.$undelete), this.$loginSource)), false, 1, null), AnonymousClass1.INSTANCE); + RestAPI api = RestAPI.Companion.getApi(); + String str2 = this.$login; + String str3 = this.$password; + CaptchaHelper.CaptchaPayload captchaPayload = this.$captchaPayload; + String captchaKey = captchaPayload != null ? captchaPayload.getCaptchaKey() : null; + CaptchaHelper.CaptchaPayload captchaPayload2 = this.$captchaPayload; + return RestCallStateKt.logNetworkAction(ObservableExtensionsKt.restSubscribeOn$default(api.postAuthLogin(new RestAPIParams.AuthLogin(str2, str3, captchaKey, captchaPayload2 != null ? captchaPayload2.getCaptchaRqtoken() : null, Boolean.valueOf(this.$undelete), this.$loginSource)), false, 1, null), AnonymousClass1.INSTANCE); } } diff --git a/app/src/main/java/com/discord/stores/StoreAuthentication$register$1.java b/app/src/main/java/com/discord/stores/StoreAuthentication$register$1.java index ea9971f5d5..739d77b3d9 100644 --- a/app/src/main/java/com/discord/stores/StoreAuthentication$register$1.java +++ b/app/src/main/java/com/discord/stores/StoreAuthentication$register$1.java @@ -9,6 +9,7 @@ import com.discord.stores.StoreInviteSettings; import com.discord.stores.StoreStream; import com.discord.stores.utilities.RestCallStateKt; import com.discord.utilities.analytics.AnalyticsTracker; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.rest.RestAPI; import com.discord.utilities.rx.ObservableExtensionsKt; import d0.z.d.k; @@ -22,7 +23,7 @@ import rx.functions.Action1; import rx.functions.Func2; /* compiled from: StoreAuthentication.kt */ public final class StoreAuthentication$register$1 implements b> { - public final /* synthetic */ String $captchaKey; + public final /* synthetic */ CaptchaHelper.CaptchaPayload $captchaPayload; public final /* synthetic */ boolean $consent; public final /* synthetic */ String $dateOfBirth; public final /* synthetic */ String $email; @@ -76,6 +77,7 @@ public final class StoreAuthentication$register$1 implements b call(StoreAuthentication.AuthRequestParams authRequestParams) { StoreInviteSettings.InviteCode inviteCode = authRequestParams.getInviteCode(); + String str = null; String inviteCode2 = inviteCode != null ? inviteCode.getInviteCode() : null; if (inviteCode2 == null || inviteCode2.length() == 0) { StoreStream.Companion.getNux().setPostRegister(true); @@ -83,16 +85,21 @@ public final class StoreAuthentication$register$1 implements b implements b forgotPassword(String str, String str2) { + public final Observable forgotPassword(String str, CaptchaHelper.CaptchaPayload captchaPayload) { m.checkNotNullParameter(str, "login"); - return ObservableExtensionsKt.restSubscribeOn$default(RestCallStateKt.logNetworkAction(RestAPI.Companion.getApi().forgotPassword(new RestAPIParams.ForgotPassword(str, str2)), StoreAuthentication$forgotPassword$1.INSTANCE), false, 1, null); + return ObservableExtensionsKt.restSubscribeOn$default(RestCallStateKt.logNetworkAction(RestAPI.Companion.getApi().forgotPassword(new RestAPIParams.ForgotPassword(str, captchaPayload != null ? captchaPayload.getCaptchaKey() : null, captchaPayload != null ? captchaPayload.getCaptchaRqtoken() : null)), StoreAuthentication$forgotPassword$1.INSTANCE), false, 1, null); } public final Observable getAgeGateError() { @@ -375,11 +376,11 @@ public final class StoreAuthentication extends Store { return bool != null ? bool.booleanValue() : true; } - public final Observable login(String str, String str2, String str3, boolean z2, String str4) { + public final Observable login(String str, String str2, CaptchaHelper.CaptchaPayload captchaPayload, boolean z2, String str3) { m.checkNotNullParameter(str, "login"); m.checkNotNullParameter(str2, "password"); setSavedLogin(str); - Observable t = getFingerprintSnapshotOrGenerate().z(new StoreAuthentication$login$1(str, str2, str3, z2, str4)).t(new StoreAuthentication$login$2(this)); + Observable t = getFingerprintSnapshotOrGenerate().z(new StoreAuthentication$login$1(str, str2, captchaPayload, z2, str3)).t(new StoreAuthentication$login$2(this)); m.checkNotNullExpressionValue(t, "getFingerprintSnapshotOr…lt)\n }\n }"); return t; } @@ -398,11 +399,11 @@ public final class StoreAuthentication extends Store { return F; } - public final Observable register(String str, String str2, String str3, String str4, String str5, boolean z2, String str6) { + public final Observable register(String str, String str2, String str3, String str4, CaptchaHelper.CaptchaPayload captchaPayload, boolean z2, String str5) { m.checkNotNullParameter(str, "username"); m.checkNotNullParameter(str4, "password"); setSavedLogin(str2); - Observable z3 = getFingerprintSnapshotOrGenerate().z(new StoreAuthentication$register$1(this, str, str2, str3, str4, str5, z2, str6)); + Observable z3 = getFingerprintSnapshotOrGenerate().z(new StoreAuthentication$register$1(this, str, str2, str3, str4, captchaPayload, z2, str5)); m.checkNotNullExpressionValue(z3, "getFingerprintSnapshotOr… }\n }"); return z3; } diff --git a/app/src/main/java/com/discord/stores/StoreLurking.java b/app/src/main/java/com/discord/stores/StoreLurking.java index c0a2967a62..61d5a7417e 100644 --- a/app/src/main/java/com/discord/stores/StoreLurking.java +++ b/app/src/main/java/com/discord/stores/StoreLurking.java @@ -284,7 +284,7 @@ public final class StoreLurking { if (guild == null || isLurking$app_productionBetaRelease(guild)) { this.lurkedGuilds.put(Long.valueOf(j), new LurkContext(j, z2)); this.lurkedGuildsSubject.onNext(this.lurkedGuilds); - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui(ObservableExtensionsKt.restSubscribeOn$default(RestAPIInterface.DefaultImpls.joinGuild$default(RestAPI.Companion.getApi(), j, true, this.sessionId, null, new RestAPIParams.InviteCode(null), null, 32, null), false, 1, null)), StoreLurking.class, context, (Function1) null, new StoreLurking$startLurkingInternal$3(this, j), (Function0) null, (Function0) null, new StoreLurking$startLurkingInternal$4(this, j, function3, l), 52, (Object) null); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui(ObservableExtensionsKt.restSubscribeOn$default(RestAPIInterface.DefaultImpls.joinGuild$default(RestAPI.Companion.getApi(), j, true, this.sessionId, null, new RestAPIParams.InviteCode(null, null), null, 32, null), false, 1, null)), StoreLurking.class, context, (Function1) null, new StoreLurking$startLurkingInternal$3(this, j), (Function0) null, (Function0) null, new StoreLurking$startLurkingInternal$4(this, j, function3, l), 52, (Object) null); return; } function3.invoke(guild, l, Boolean.TRUE); diff --git a/app/src/main/java/com/discord/stores/StoreMessageAck$ackGuild$1.java b/app/src/main/java/com/discord/stores/StoreMessageAck$ackGuild$1.java deleted file mode 100644 index c200ef01dd..0000000000 --- a/app/src/main/java/com/discord/stores/StoreMessageAck$ackGuild$1.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.discord.stores; - -import d0.z.d.o; -import kotlin.Unit; -import kotlin.jvm.functions.Function0; -/* compiled from: StoreMessageAck.kt */ -public final class StoreMessageAck$ackGuild$1 extends o implements Function0 { - public static final StoreMessageAck$ackGuild$1 INSTANCE = new StoreMessageAck$ackGuild$1(); - - public StoreMessageAck$ackGuild$1() { - super(0); - } - - @Override // kotlin.jvm.functions.Function0 - /* renamed from: invoke */ - public final void mo1invoke() { - } -} diff --git a/app/src/main/java/com/discord/stores/StoreMessageAck$ackGuild$2.java b/app/src/main/java/com/discord/stores/StoreMessageAck$ackGuild$2.java deleted file mode 100644 index bd8cbdbdfa..0000000000 --- a/app/src/main/java/com/discord/stores/StoreMessageAck$ackGuild$2.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.discord.stores; - -import d0.z.d.o; -import kotlin.Unit; -import kotlin.jvm.functions.Function0; -import kotlin.jvm.functions.Function1; -/* compiled from: StoreMessageAck.kt */ -public final class StoreMessageAck$ackGuild$2 extends o implements Function1 { - public final /* synthetic */ Function0 $onSuccess; - - /* JADX INFO: super call moved to the top of the method (can break code semantics) */ - public StoreMessageAck$ackGuild$2(Function0 function0) { - super(1); - this.$onSuccess = function0; - } - - /* Return type fixed from 'java.lang.Object' to match base method */ - /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ - @Override // kotlin.jvm.functions.Function1 - public /* bridge */ /* synthetic */ Unit invoke(Void r1) { - invoke(r1); - return Unit.a; - } - - public final void invoke(Void r1) { - this.$onSuccess.mo1invoke(); - } -} diff --git a/app/src/main/java/com/discord/stores/StoreMessageAck.java b/app/src/main/java/com/discord/stores/StoreMessageAck.java index 883f0dd758..b5aae14d22 100644 --- a/app/src/main/java/com/discord/stores/StoreMessageAck.java +++ b/app/src/main/java/com/discord/stores/StoreMessageAck.java @@ -38,7 +38,6 @@ import java.util.Set; import java.util.concurrent.TimeUnit; import kotlin.NoWhenBranchMatchedException; import kotlin.Pair; -import kotlin.Unit; import kotlin.jvm.functions.Function0; import kotlin.jvm.functions.Function1; import kotlin.jvm.internal.DefaultConstructorMarker; @@ -374,15 +373,6 @@ public final class StoreMessageAck extends StoreV2 { storeMessageAck.ack(j, z2, z3); } - /* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: com.discord.stores.StoreMessageAck */ - /* JADX WARN: Multi-variable type inference failed */ - public static /* synthetic */ void ackGuild$default(StoreMessageAck storeMessageAck, Context context, long j, Function0 function0, int i, Object obj) { - if ((i & 4) != 0) { - function0 = StoreMessageAck$ackGuild$1.INSTANCE; - } - storeMessageAck.ackGuild(context, j, function0); - } - private final Observable getPendingAck(Observable observable, boolean z2, boolean z3) { Observable Y = observable.Y(new StoreMessageAck$getPendingAck$2(this, z2, new StoreMessageAck$getPendingAck$1(z3))); m.checkNotNullExpressionValue(Y, "switchMap { channelId ->…gAck.EMPTY)\n }\n }"); @@ -489,11 +479,6 @@ public final class StoreMessageAck extends StoreV2 { this.dispatcher.schedule(new StoreMessageAck$ack$1(this, j, z2, z3)); } - public final void ackGuild(Context context, long j, Function0 function0) { - m.checkNotNullParameter(function0, "onSuccess"); - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.restSubscribeOn$default(this.restAPI.ackGuild(j), false, 1, null), context, "REST: ackGuild", (Function1) null, new StoreMessageAck$ackGuild$2(function0), (Function1) null, (Function0) null, (Function0) null, 116, (Object) null); - } - public final Map getAll() { return this.acksSnapshot; } diff --git a/app/src/main/java/com/discord/stores/StoreMessages.java b/app/src/main/java/com/discord/stores/StoreMessages.java index 68625da614..bf8139aa5a 100644 --- a/app/src/main/java/com/discord/stores/StoreMessages.java +++ b/app/src/main/java/com/discord/stores/StoreMessages.java @@ -24,6 +24,7 @@ import com.discord.models.message.Message; import com.discord.models.user.CoreUser; import com.discord.stores.StoreMessagesLoader; import com.discord.utilities.attachments.AttachmentUtilsKt; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.logging.Logger; import com.discord.utilities.message.LocalMessageCreatorsKt; import com.discord.utilities.messagesend.MessageQueue; @@ -289,18 +290,18 @@ public final class StoreMessages extends Store { ObservableExtensionsKt.appSubscribe$default(h02, StoreMessages.class, (Context) null, (Function1) null, (Function1) null, new StoreMessages$resendAllLocalMessages$1(this), (Function0) null, StoreMessages$resendAllLocalMessages$2.INSTANCE, 46, (Object) null); } - public static /* synthetic */ Observable resendMessage$default(StoreMessages storeMessages, Message message, boolean z2, String str, int i, Object obj) { + public static /* synthetic */ Observable resendMessage$default(StoreMessages storeMessages, Message message, boolean z2, CaptchaHelper.CaptchaPayload captchaPayload, int i, Object obj) { if ((i & 2) != 0) { z2 = false; } if ((i & 4) != 0) { - str = null; + captchaPayload = null; } - return storeMessages.resendMessage(message, z2, str); + return storeMessages.resendMessage(message, z2, captchaPayload); } - public static /* synthetic */ Observable sendMessage$default(StoreMessages storeMessages, long j, com.discord.models.user.User user, String str, List list, List list2, List list3, MessageReference messageReference, MessageAllowedMentions messageAllowedMentions, Application application, Activity activity, MessageActivity messageActivity, Long l, Long l2, Integer num, String str2, int i, Object obj) { - return storeMessages.sendMessage(j, user, str, list, list2, (i & 32) != 0 ? null : list3, (i & 64) != 0 ? null : messageReference, (i & 128) != 0 ? null : messageAllowedMentions, (i & 256) != 0 ? null : application, (i & 512) != 0 ? null : activity, (i & 1024) != 0 ? null : messageActivity, (i & 2048) != 0 ? null : l, (i & 4096) != 0 ? null : l2, (i & 8192) != 0 ? null : num, (i & 16384) != 0 ? null : str2); + public static /* synthetic */ Observable sendMessage$default(StoreMessages storeMessages, long j, com.discord.models.user.User user, String str, List list, List list2, List list3, MessageReference messageReference, MessageAllowedMentions messageAllowedMentions, Application application, Activity activity, MessageActivity messageActivity, Long l, Long l2, Integer num, CaptchaHelper.CaptchaPayload captchaPayload, int i, Object obj) { + return storeMessages.sendMessage(j, user, str, list, list2, (i & 32) != 0 ? null : list3, (i & 64) != 0 ? null : messageReference, (i & 128) != 0 ? null : messageAllowedMentions, (i & 256) != 0 ? null : application, (i & 512) != 0 ? null : activity, (i & 1024) != 0 ? null : messageActivity, (i & 2048) != 0 ? null : l, (i & 4096) != 0 ? null : l2, (i & 8192) != 0 ? null : num, (i & 16384) != 0 ? null : captchaPayload); } /* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: com.discord.stores.StoreMessages */ @@ -633,7 +634,7 @@ public final class StoreMessages extends Store { return q; } - public final Observable resendMessage(Message message, boolean z2, String str) { + public final Observable resendMessage(Message message, boolean z2, CaptchaHelper.CaptchaPayload captchaPayload) { ArrayList arrayList; ArrayList arrayList2; Integer type; @@ -673,28 +674,28 @@ public final class StoreMessages extends Store { } else { arrayList2 = null; } - return sendMessage$default(this, channelId, coreUser, content, arrayList, arrayList2, null, message.getMessageReference(), message.getAllowedMentions(), null, null, null, z2 ? message.getLastManualAttemptTimestamp() : null, message.getInitialAttemptTimestamp(), Integer.valueOf(intValue + 1), str, 1824, null); + return sendMessage$default(this, channelId, coreUser, content, arrayList, arrayList2, null, message.getMessageReference(), message.getAllowedMentions(), null, null, null, z2 ? message.getLastManualAttemptTimestamp() : null, message.getInitialAttemptTimestamp(), Integer.valueOf(intValue + 1), captchaPayload, 1824, null); } throw new IllegalArgumentException("Incorrect " + z2 + " auto attempt and message type " + message.getType()); } - public final void resendMessageWithCaptcha(long j, String str, String str2) { + public final void resendMessageWithCaptcha(long j, String str, CaptchaHelper.CaptchaPayload captchaPayload) { Message message; - m.checkNotNullParameter(str2, "captchaKey"); + m.checkNotNullParameter(captchaPayload, "captchaPayload"); if (str != null && (message = this.localMessagesHolder.getMessage(j, str)) != null) { - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui(resendMessage(message, true, str2)), StoreMessages.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, StoreMessages$resendMessageWithCaptcha$1.INSTANCE, 62, (Object) null); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui(resendMessage(message, true, captchaPayload)), StoreMessages.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, StoreMessages$resendMessageWithCaptcha$1.INSTANCE, 62, (Object) null); } } /* JADX DEBUG: Multi-variable search result rejected for r29v0, resolved type: java.util.List> */ /* JADX WARN: Multi-variable type inference failed */ /* JADX WARNING: Unknown variable types count: 1 */ - public final Observable sendMessage(long j, com.discord.models.user.User user, String str, List list, List> list2, List list3, MessageReference messageReference, MessageAllowedMentions messageAllowedMentions, Application application, Activity activity, MessageActivity messageActivity, Long l, Long l2, Integer num, String str2) { + public final Observable sendMessage(long j, com.discord.models.user.User user, String str, List list, List> list2, List list3, MessageReference messageReference, MessageAllowedMentions messageAllowedMentions, Application application, Activity activity, MessageActivity messageActivity, Long l, Long l2, Integer num, CaptchaHelper.CaptchaPayload captchaPayload) { List list4; ArrayList arrayList; - String str3 = str; + String str2 = str; m.checkNotNullParameter(user, "author"); - m.checkNotNullParameter(str3, "content"); + m.checkNotNullParameter(str2, "content"); Ref$ObjectRef ref$ObjectRef = new Ref$ObjectRef(); ref$ObjectRef.element = list2; int i = 0; @@ -704,7 +705,7 @@ public final class StoreMessages extends Store { if (context == null) { m.throwUninitializedPropertyAccessException("context"); } - ProcessedMessageContent fromAttachments = companion.fromAttachments(list2, str3, context); + ProcessedMessageContent fromAttachments = companion.fromAttachments(list2, str2, context); List> invalidAttachments = fromAttachments.getInvalidAttachments(); if (!invalidAttachments.isEmpty()) { User synthesizeApiUser = UserUtils.INSTANCE.synthesizeApiUser(user); @@ -717,10 +718,10 @@ public final class StoreMessages extends Store { this.dispatcher.schedule(new StoreMessages$sendMessage$1(this, LocalMessageCreatorsKt.createInvalidAttachmentsMessage(j, synthesizeApiUser, clock, arrayList2))); } ref$ObjectRef.element = fromAttachments.getValidAttachments(); - str3 = fromAttachments.getContent(); + str2 = fromAttachments.getContent(); List list5 = ref$ObjectRef.element; if (list5 == null || list5.isEmpty()) { - if (str3.length() == 0) { + if (str2.length() == 0) { Observable n = Observable.n(StoreMessages$sendMessage$2.INSTANCE, Emitter.BackpressureMode.ERROR); m.checkNotNullExpressionValue(n, "Observable.create({ emit…r.BackpressureMode.ERROR)"); return n; @@ -755,7 +756,7 @@ public final class StoreMessages extends Store { if (num != null) { i = num.intValue(); } - Message createLocalMessage = LocalMessageCreatorsKt.createLocalMessage(str3, j, synthesizeApiUser2, list4, false, z2, application, messageActivity, clock2, arrayList, valueOf, valueOf2, Integer.valueOf(i), list3, messageReference, messageAllowedMentions, str2); + Message createLocalMessage = LocalMessageCreatorsKt.createLocalMessage(str2, j, synthesizeApiUser2, list4, false, z2, application, messageActivity, clock2, arrayList, valueOf, valueOf2, Integer.valueOf(i), list3, messageReference, messageAllowedMentions, captchaPayload); if (messageActivity == null) { this.dispatcher.schedule(new StoreMessages$sendMessage$3(this, createLocalMessage)); } diff --git a/app/src/main/java/com/discord/stores/StoreUserSettingsSystem$setTheme$1.java b/app/src/main/java/com/discord/stores/StoreUserSettingsSystem$setTheme$1.java new file mode 100644 index 0000000000..38ef84bb10 --- /dev/null +++ b/app/src/main/java/com/discord/stores/StoreUserSettingsSystem$setTheme$1.java @@ -0,0 +1,27 @@ +package com.discord.stores; + +import d0.z.d.o; +import kotlin.Unit; +import kotlin.jvm.functions.Function0; +/* compiled from: StoreUserSettingsSystem.kt */ +public final class StoreUserSettingsSystem$setTheme$1 extends o implements Function0 { + public final /* synthetic */ boolean $apiSync; + public final /* synthetic */ Function0 $onRequestApiSync; + public final /* synthetic */ String $theme; + public final /* synthetic */ StoreUserSettingsSystem this$0; + + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public StoreUserSettingsSystem$setTheme$1(StoreUserSettingsSystem storeUserSettingsSystem, String str, boolean z2, Function0 function0) { + super(0); + this.this$0 = storeUserSettingsSystem; + this.$theme = str; + this.$apiSync = z2; + this.$onRequestApiSync = function0; + } + + @Override // kotlin.jvm.functions.Function0 + /* renamed from: invoke */ + public final void mo1invoke() { + StoreUserSettingsSystem.access$setThemeInternal(this.this$0, this.$theme, this.$apiSync, this.$onRequestApiSync); + } +} diff --git a/app/src/main/java/com/discord/stores/StoreUserSettingsSystem.java b/app/src/main/java/com/discord/stores/StoreUserSettingsSystem.java index 906c41217d..9c2294d10a 100644 --- a/app/src/main/java/com/discord/stores/StoreUserSettingsSystem.java +++ b/app/src/main/java/com/discord/stores/StoreUserSettingsSystem.java @@ -158,6 +158,10 @@ public final class StoreUserSettingsSystem extends StoreV2 { storeUserSettingsSystem.settings = settings; } + public static final /* synthetic */ void access$setThemeInternal(StoreUserSettingsSystem storeUserSettingsSystem, String str, boolean z2, Function0 function0) { + storeUserSettingsSystem.setThemeInternal(str, z2, function0); + } + @StoreThread private final void handleUserSettings(ModelUserSettings modelUserSettings) { handleUserSettingsThemeUpdate(modelUserSettings.getTheme()); @@ -173,7 +177,7 @@ public final class StoreUserSettingsSystem extends StoreV2 { @StoreThread private final void handleUserSettingsThemeUpdate(String str) { if (str != null && getIsThemeSyncEnabled()) { - setTheme$default(this, str, false, null, 4, null); + setThemeInternal$default(this, str, false, null, 4, null); } } @@ -195,6 +199,36 @@ public final class StoreUserSettingsSystem extends StoreV2 { storeUserSettingsSystem.setTheme(str, z2, function0); } + @StoreThread + private final void setThemeInternal(String str, boolean z2, Function0 function0) { + if (!getIsThemeSyncEnabled() || !z2 || !(function0 == null || function0.mo1invoke() == null)) { + if (m.areEqual(getTheme(), ModelUserSettings.THEME_PURE_EVIL) && m.areEqual(str, ModelUserSettings.THEME_DARK)) { + str = ModelUserSettings.THEME_PURE_EVIL; + } + Settings settings = this.settings; + if (settings == null) { + m.throwUninitializedPropertyAccessException("settings"); + } + this.settings = Settings.copy$default(settings, str, null, 0, 6, null); + SharedPreferences.Editor edit = getPrefsSessionDurable().edit(); + m.checkNotNullExpressionValue(edit, "editor"); + edit.putString("CACHE_KEY_THEME", str); + edit.apply(); + markChanged(); + return; + } + throw new IllegalArgumentException("API callback required."); + } + + /* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: com.discord.stores.StoreUserSettingsSystem */ + /* JADX WARN: Multi-variable type inference failed */ + public static /* synthetic */ void setThemeInternal$default(StoreUserSettingsSystem storeUserSettingsSystem, String str, boolean z2, Function0 function0, int i, Object obj) { + if ((i & 4) != 0) { + function0 = null; + } + storeUserSettingsSystem.setThemeInternal(str, z2, function0); + } + public final int getFontScale() { Settings settings = this.settings; if (settings == null) { @@ -323,22 +357,6 @@ public final class StoreUserSettingsSystem extends StoreV2 { public final void setTheme(String str, boolean z2, Function0 function0) { m.checkNotNullParameter(str, "theme"); - if (!getIsThemeSyncEnabled() || !z2 || !(function0 == null || function0.mo1invoke() == null)) { - if (m.areEqual(getTheme(), ModelUserSettings.THEME_PURE_EVIL) && m.areEqual(str, ModelUserSettings.THEME_DARK)) { - str = ModelUserSettings.THEME_PURE_EVIL; - } - Settings settings = this.settings; - if (settings == null) { - m.throwUninitializedPropertyAccessException("settings"); - } - this.settings = Settings.copy$default(settings, str, null, 0, 6, null); - SharedPreferences.Editor edit = getPrefsSessionDurable().edit(); - m.checkNotNullExpressionValue(edit, "editor"); - edit.putString("CACHE_KEY_THEME", str); - edit.apply(); - markChanged(); - return; - } - throw new IllegalArgumentException("API callback required."); + this.dispatcher.schedule(new StoreUserSettingsSystem$setTheme$1(this, str, z2, function0)); } } diff --git a/app/src/main/java/com/discord/utilities/captcha/CaptchaErrorBody.java b/app/src/main/java/com/discord/utilities/captcha/CaptchaErrorBody.java index 24b9fbe875..1408fbd88b 100644 --- a/app/src/main/java/com/discord/utilities/captcha/CaptchaErrorBody.java +++ b/app/src/main/java/com/discord/utilities/captcha/CaptchaErrorBody.java @@ -15,6 +15,8 @@ import kotlin.jvm.internal.DefaultConstructorMarker; public final class CaptchaErrorBody implements Serializable { public static final Companion Companion = new Companion(null); private final List captchaKey; + private final String captchaRqdata; + private final String captchaRqtoken; private final CaptchaService captchaService; private final String captchaSitekey; @@ -56,15 +58,17 @@ public final class CaptchaErrorBody implements Serializable { } } - public CaptchaErrorBody(List list, String str, CaptchaService captchaService) { + public CaptchaErrorBody(List list, String str, CaptchaService captchaService, String str2, String str3) { this.captchaKey = list; this.captchaSitekey = str; this.captchaService = captchaService; + this.captchaRqdata = str2; + this.captchaRqtoken = str3; } - /* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: com.discord.utilities.captcha.CaptchaErrorBody */ + /* JADX DEBUG: Multi-variable search result rejected for r3v0, resolved type: com.discord.utilities.captcha.CaptchaErrorBody */ /* JADX WARN: Multi-variable type inference failed */ - public static /* synthetic */ CaptchaErrorBody copy$default(CaptchaErrorBody captchaErrorBody, List list, String str, CaptchaService captchaService, int i, Object obj) { + public static /* synthetic */ CaptchaErrorBody copy$default(CaptchaErrorBody captchaErrorBody, List list, String str, CaptchaService captchaService, String str2, String str3, int i, Object obj) { if ((i & 1) != 0) { list = captchaErrorBody.captchaKey; } @@ -74,7 +78,13 @@ public final class CaptchaErrorBody implements Serializable { if ((i & 4) != 0) { captchaService = captchaErrorBody.captchaService; } - return captchaErrorBody.copy(list, str, captchaService); + if ((i & 8) != 0) { + str2 = captchaErrorBody.captchaRqdata; + } + if ((i & 16) != 0) { + str3 = captchaErrorBody.captchaRqtoken; + } + return captchaErrorBody.copy(list, str, captchaService, str2, str3); } public final List component1() { @@ -89,8 +99,16 @@ public final class CaptchaErrorBody implements Serializable { return this.captchaService; } - public final CaptchaErrorBody copy(List list, String str, CaptchaService captchaService) { - return new CaptchaErrorBody(list, str, captchaService); + public final String component4() { + return this.captchaRqdata; + } + + public final String component5() { + return this.captchaRqtoken; + } + + public final CaptchaErrorBody copy(List list, String str, CaptchaService captchaService, String str2, String str3) { + return new CaptchaErrorBody(list, str, captchaService, str2, str3); } @Override // java.lang.Object @@ -102,13 +120,21 @@ public final class CaptchaErrorBody implements Serializable { return false; } CaptchaErrorBody captchaErrorBody = (CaptchaErrorBody) obj; - return m.areEqual(this.captchaKey, captchaErrorBody.captchaKey) && m.areEqual(this.captchaSitekey, captchaErrorBody.captchaSitekey) && m.areEqual(this.captchaService, captchaErrorBody.captchaService); + return m.areEqual(this.captchaKey, captchaErrorBody.captchaKey) && m.areEqual(this.captchaSitekey, captchaErrorBody.captchaSitekey) && m.areEqual(this.captchaService, captchaErrorBody.captchaService) && m.areEqual(this.captchaRqdata, captchaErrorBody.captchaRqdata) && m.areEqual(this.captchaRqtoken, captchaErrorBody.captchaRqtoken); } public final List getCaptchaKey() { return this.captchaKey; } + public final String getCaptchaRqdata() { + return this.captchaRqdata; + } + + public final String getCaptchaRqtoken() { + return this.captchaRqtoken; + } + public final CaptchaService getCaptchaService() { return this.captchaService; } @@ -125,10 +151,14 @@ public final class CaptchaErrorBody implements Serializable { String str = this.captchaSitekey; int hashCode2 = (hashCode + (str != null ? str.hashCode() : 0)) * 31; CaptchaService captchaService = this.captchaService; - if (captchaService != null) { - i = captchaService.hashCode(); + int hashCode3 = (hashCode2 + (captchaService != null ? captchaService.hashCode() : 0)) * 31; + String str2 = this.captchaRqdata; + int hashCode4 = (hashCode3 + (str2 != null ? str2.hashCode() : 0)) * 31; + String str3 = this.captchaRqtoken; + if (str3 != null) { + i = str3.hashCode(); } - return hashCode2 + i; + return hashCode4 + i; } @Override // java.lang.Object @@ -139,7 +169,9 @@ public final class CaptchaErrorBody implements Serializable { R.append(this.captchaSitekey); R.append(", captchaService="); R.append(this.captchaService); - R.append(")"); - return R.toString(); + R.append(", captchaRqdata="); + R.append(this.captchaRqdata); + R.append(", captchaRqtoken="); + return a.H(R, this.captchaRqtoken, ")"); } } diff --git a/app/src/main/java/com/discord/utilities/captcha/CaptchaHelper$tryShowCaptcha$1.java b/app/src/main/java/com/discord/utilities/captcha/CaptchaHelper$tryShowCaptcha$1.java index 4bd8b0d480..e26011662a 100644 --- a/app/src/main/java/com/discord/utilities/captcha/CaptchaHelper$tryShowCaptcha$1.java +++ b/app/src/main/java/com/discord/utilities/captcha/CaptchaHelper$tryShowCaptcha$1.java @@ -147,6 +147,9 @@ public final class CaptchaHelper$tryShowCaptcha$1 implements Action1 { +public final class GuildCaptchaUtilsKt$handleHttpException$1 extends o implements Function2 { public final /* synthetic */ InviteArgs $args; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -20,14 +21,14 @@ public final class GuildCaptchaUtilsKt$handleHttpException$1 extends o implement /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object, java.lang.Object] */ @Override // kotlin.jvm.functions.Function2 - public /* bridge */ /* synthetic */ Unit invoke(AppFragment appFragment, String str) { - invoke(appFragment, str); + public /* bridge */ /* synthetic */ Unit invoke(AppFragment appFragment, CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(appFragment, captchaPayload); return Unit.a; } - public final void invoke(AppFragment appFragment, String str) { + public final void invoke(AppFragment appFragment, CaptchaHelper.CaptchaPayload captchaPayload) { m.checkNotNullParameter(appFragment, "newFragment"); - m.checkNotNullParameter(str, "captchaToken"); - InviteJoinHelper.INSTANCE.joinViaInvite(this.$args.getInvite(), this.$args.getJavaClass(), appFragment, this.$args.getLocation(), this.$args.getOnInvitePostError(), this.$args.getOnInvitePostSuccess(), this.$args.getOnInviteFlowFinished(), str); + m.checkNotNullParameter(captchaPayload, "captchaPayload"); + InviteJoinHelper.INSTANCE.joinViaInvite(this.$args.getInvite(), this.$args.getJavaClass(), appFragment, this.$args.getLocation(), this.$args.getOnInvitePostError(), this.$args.getOnInvitePostSuccess(), this.$args.getOnInviteFlowFinished(), captchaPayload); } } diff --git a/app/src/main/java/com/discord/utilities/guilds/GuildCaptchaUtilsKt$handleHttpException$2.java b/app/src/main/java/com/discord/utilities/guilds/GuildCaptchaUtilsKt$handleHttpException$2.java index 4af2318f59..2354d6bc8a 100644 --- a/app/src/main/java/com/discord/utilities/guilds/GuildCaptchaUtilsKt$handleHttpException$2.java +++ b/app/src/main/java/com/discord/utilities/guilds/GuildCaptchaUtilsKt$handleHttpException$2.java @@ -2,6 +2,7 @@ package com.discord.utilities.guilds; import android.content.Context; import com.discord.app.AppFragment; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.widgets.guilds.join.GuildJoinHelperKt; import com.discord.widgets.guilds.join.JoinArgs; import d0.z.d.m; @@ -9,7 +10,7 @@ import d0.z.d.o; import kotlin.Unit; import kotlin.jvm.functions.Function2; /* compiled from: GuildCaptchaUtils.kt */ -public final class GuildCaptchaUtilsKt$handleHttpException$2 extends o implements Function2 { +public final class GuildCaptchaUtilsKt$handleHttpException$2 extends o implements Function2 { public final /* synthetic */ JoinArgs $args; public final /* synthetic */ Context $context; @@ -23,14 +24,14 @@ public final class GuildCaptchaUtilsKt$handleHttpException$2 extends o implement /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object, java.lang.Object] */ @Override // kotlin.jvm.functions.Function2 - public /* bridge */ /* synthetic */ Unit invoke(AppFragment appFragment, String str) { - invoke(appFragment, str); + public /* bridge */ /* synthetic */ Unit invoke(AppFragment appFragment, CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(appFragment, captchaPayload); return Unit.a; } - public final void invoke(AppFragment appFragment, String str) { + public final void invoke(AppFragment appFragment, CaptchaHelper.CaptchaPayload captchaPayload) { m.checkNotNullParameter(appFragment, ""); - m.checkNotNullParameter(str, "captchaToken"); - GuildJoinHelperKt.joinGuild$default(this.$context, this.$args.getGuildId(), this.$args.isLurker(), this.$args.getSessionId(), this.$args.getDirectoryChannelId(), null, this.$args.getErrorClass(), this.$args.getSubscriptionHandler(), this.$args.getErrorHandler(), str, this.$args.getOnNext(), 32, null); + m.checkNotNullParameter(captchaPayload, "captchaPayload"); + GuildJoinHelperKt.joinGuild$default(this.$context, this.$args.getGuildId(), this.$args.isLurker(), this.$args.getSessionId(), this.$args.getDirectoryChannelId(), null, this.$args.getErrorClass(), this.$args.getSubscriptionHandler(), this.$args.getErrorHandler(), captchaPayload, this.$args.getOnNext(), 32, null); } } diff --git a/app/src/main/java/com/discord/utilities/guilds/GuildConstantsKt.java b/app/src/main/java/com/discord/utilities/guilds/GuildConstantsKt.java index a8d6c52fdb..1f722e1e87 100644 --- a/app/src/main/java/com/discord/utilities/guilds/GuildConstantsKt.java +++ b/app/src/main/java/com/discord/utilities/guilds/GuildConstantsKt.java @@ -4,8 +4,11 @@ public final class GuildConstantsKt { public static final int FILE_SIZE_STANDARD_8MB = 8; public static final int GLOBAL_SEARCH_LARGE_GUILD_THRESHOLD = 200; public static final int GUILD_TIER_1_BOOSTS = 2; + public static final int GUILD_TIER_1_BOOSTS_EXP = 2; public static final int GUILD_TIER_2_BOOSTS = 7; + public static final int GUILD_TIER_2_BOOSTS_EXP = 5; public static final int GUILD_TIER_3_BOOSTS = 14; + public static final int GUILD_TIER_3_BOOSTS_EXP = 7; public static final int INVITE_LARGE_GUILD_THRESHOLD = 200; public static final int MAX_GUILD_MEMBERS_NOTIFY_ALL_MESSAGES = 2500; public static final int PREMIUM_TIER_1_FILE_SIZE_50MB = 50; diff --git a/app/src/main/java/com/discord/utilities/guilds/GuildVerificationLevelUtils$observeVerificationLevelTriggered$1.java b/app/src/main/java/com/discord/utilities/guilds/GuildVerificationLevelUtils$observeVerificationLevelTriggered$1.java index 495dbe3aec..86fffcf4c4 100644 --- a/app/src/main/java/com/discord/utilities/guilds/GuildVerificationLevelUtils$observeVerificationLevelTriggered$1.java +++ b/app/src/main/java/com/discord/utilities/guilds/GuildVerificationLevelUtils$observeVerificationLevelTriggered$1.java @@ -1,34 +1,35 @@ package com.discord.utilities.guilds; import com.discord.api.guild.GuildVerificationLevel; +import com.discord.api.role.GuildRole; import com.discord.models.guild.Guild; import com.discord.models.member.GuildMember; import com.discord.models.user.MeUser; import com.discord.utilities.time.Clock; import d0.z.d.m; import java.util.Map; -import rx.functions.Func5; +import rx.functions.Func6; /* compiled from: GuildVerificationLevelUtils.kt */ -public final class GuildVerificationLevelUtils$observeVerificationLevelTriggered$1 implements Func5, MeUser, GuildVerificationLevel> { +public final class GuildVerificationLevelUtils$observeVerificationLevelTriggered$1 implements Func6, MeUser, Map, GuildVerificationLevel> { public final /* synthetic */ Clock $clock; public GuildVerificationLevelUtils$observeVerificationLevelTriggered$1(Clock clock) { this.$clock = clock; } - public final GuildVerificationLevel call(Long l, Guild guild, GuildVerificationLevel guildVerificationLevel, Map map, MeUser meUser) { + public final GuildVerificationLevel call(Long l, Guild guild, GuildVerificationLevel guildVerificationLevel, Map map, MeUser meUser, Map map2) { GuildVerificationLevelUtils guildVerificationLevelUtils = GuildVerificationLevelUtils.INSTANCE; m.checkNotNullExpressionValue(meUser, "me"); m.checkNotNullExpressionValue(map, "members"); m.checkNotNullExpressionValue(guildVerificationLevel, "verificationLevel"); m.checkNotNullExpressionValue(l, "joinedAt"); - return GuildVerificationLevelUtils.access$computeVerificationLevelTriggered(guildVerificationLevelUtils, meUser, guild, map.get(Long.valueOf(meUser.getId())), guildVerificationLevel, l.longValue(), this.$clock); + return GuildVerificationLevelUtils.access$computeVerificationLevelTriggered(guildVerificationLevelUtils, meUser, guild, map.get(Long.valueOf(meUser.getId())), guildVerificationLevel, l.longValue(), this.$clock, map2); } /* Return type fixed from 'java.lang.Object' to match base method */ - /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object] */ - @Override // rx.functions.Func5 - public /* bridge */ /* synthetic */ GuildVerificationLevel call(Long l, Guild guild, GuildVerificationLevel guildVerificationLevel, Map map, MeUser meUser) { - return call(l, guild, guildVerificationLevel, (Map) map, meUser); + /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object] */ + @Override // rx.functions.Func6 + public /* bridge */ /* synthetic */ GuildVerificationLevel call(Long l, Guild guild, GuildVerificationLevel guildVerificationLevel, Map map, MeUser meUser, Map map2) { + return call(l, guild, guildVerificationLevel, (Map) map, meUser, (Map) map2); } } diff --git a/app/src/main/java/com/discord/utilities/guilds/GuildVerificationLevelUtils.java b/app/src/main/java/com/discord/utilities/guilds/GuildVerificationLevelUtils.java index 0e6509e720..936b7946b7 100644 --- a/app/src/main/java/com/discord/utilities/guilds/GuildVerificationLevelUtils.java +++ b/app/src/main/java/com/discord/utilities/guilds/GuildVerificationLevelUtils.java @@ -1,6 +1,7 @@ package com.discord.utilities.guilds; import com.discord.api.guild.GuildVerificationLevel; +import com.discord.api.role.GuildRole; import com.discord.models.guild.Guild; import com.discord.models.member.GuildMember; import com.discord.models.user.MeUser; @@ -14,6 +15,7 @@ import com.discord.utilities.time.ClockFactory; import com.discord.utilities.user.UserUtils; import d0.z.d.m; import j0.l.a.r; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -25,16 +27,25 @@ public final class GuildVerificationLevelUtils { private GuildVerificationLevelUtils() { } - public static final /* synthetic */ GuildVerificationLevel access$computeVerificationLevelTriggered(GuildVerificationLevelUtils guildVerificationLevelUtils, MeUser meUser, Guild guild, GuildMember guildMember, GuildVerificationLevel guildVerificationLevel, long j, Clock clock) { - return guildVerificationLevelUtils.computeVerificationLevelTriggered(meUser, guild, guildMember, guildVerificationLevel, j, clock); + public static final /* synthetic */ GuildVerificationLevel access$computeVerificationLevelTriggered(GuildVerificationLevelUtils guildVerificationLevelUtils, MeUser meUser, Guild guild, GuildMember guildMember, GuildVerificationLevel guildVerificationLevel, long j, Clock clock, Map map) { + return guildVerificationLevelUtils.computeVerificationLevelTriggered(meUser, guild, guildMember, guildVerificationLevel, j, clock, map); } - private final GuildVerificationLevel computeVerificationLevelTriggered(MeUser meUser, Guild guild, GuildMember guildMember, GuildVerificationLevel guildVerificationLevel, long j, Clock clock) { + private final GuildVerificationLevel computeVerificationLevelTriggered(MeUser meUser, Guild guild, GuildMember guildMember, GuildVerificationLevel guildVerificationLevel, long j, Clock clock, Map map) { List roles; + GuildRole guildRole; boolean z2 = false; boolean z3 = guild != null && guild.isOwner(meUser.getId()); - if (!(guildMember == null || (roles = guildMember.getRoles()) == null || !(!roles.isEmpty()))) { - z2 = true; + if (!(guildMember == null || (roles = guildMember.getRoles()) == null)) { + ArrayList arrayList = new ArrayList(); + for (Object obj : roles) { + if (!((map == null || (guildRole = map.get(Long.valueOf(((Number) obj).longValue()))) == null) ? true : guildRole.e())) { + arrayList.add(obj); + } + } + if (!arrayList.isEmpty()) { + z2 = true; + } } UserUtils userUtils = UserUtils.INSTANCE; boolean hasPhone = userUtils.getHasPhone(meUser); @@ -92,11 +103,12 @@ public final class GuildVerificationLevelUtils { Guild guild = storeGuilds.getGuild(j); Map map = storeGuilds.getMembers().get(Long.valueOf(j)); MeUser me2 = storeUser.getMe(); + Map map2 = storeGuilds.getRoles().get(Long.valueOf(j)); GuildMember guildMember = map != null ? map.get(Long.valueOf(me2.getId())) : null; if (guild == null || (guildVerificationLevel = guild.getVerificationLevel()) == null) { guildVerificationLevel = GuildVerificationLevel.NONE; } - return computeVerificationLevelTriggered(me2, guild, guildMember, guildVerificationLevel, GuildMemberUtilsKt.getJoinedAtOrNow(storeGuilds.getGuildsJoinedAt().get(Long.valueOf(j))), clock); + return computeVerificationLevelTriggered(me2, guild, guildMember, guildVerificationLevel, GuildMemberUtilsKt.getJoinedAtOrNow(storeGuilds.getGuildsJoinedAt().get(Long.valueOf(j))), clock, map2); } public final Observable observeVerificationLevelTriggered(long j, StoreGuilds storeGuilds, StoreUser storeUser, Clock clock) { @@ -107,7 +119,7 @@ public final class GuildVerificationLevelUtils { Observable observeGuild = storeGuilds.observeGuild(j); Observable observeVerificationLevel = storeGuilds.observeVerificationLevel(j); Observable> observeComputed = storeGuilds.observeComputed(j); - Observable q = Observable.g(observeJoinedAt, observeGuild, observeVerificationLevel, Observable.h0(new r(observeComputed.j, new LeadingEdgeThrottle(1500, TimeUnit.MILLISECONDS))), storeUser.observeMe(true), new GuildVerificationLevelUtils$observeVerificationLevelTriggered$1(clock)).q(); + Observable q = Observable.f(observeJoinedAt, observeGuild, observeVerificationLevel, Observable.h0(new r(observeComputed.j, new LeadingEdgeThrottle(1500, TimeUnit.MILLISECONDS))), storeUser.observeMe(true), storeGuilds.observeRoles(j), new GuildVerificationLevelUtils$observeVerificationLevelTriggered$1(clock)).q(); m.checkNotNullExpressionValue(q, "Observable\n .comb… .distinctUntilChanged()"); return q; } diff --git a/app/src/main/java/com/discord/utilities/message/LocalMessageCreatorsKt.java b/app/src/main/java/com/discord/utilities/message/LocalMessageCreatorsKt.java index 0e2e3f3d31..5c54298cb2 100644 --- a/app/src/main/java/com/discord/utilities/message/LocalMessageCreatorsKt.java +++ b/app/src/main/java/com/discord/utilities/message/LocalMessageCreatorsKt.java @@ -12,6 +12,7 @@ import com.discord.api.user.User; import com.discord.api.utcdatetime.UtcDateTime; import com.discord.models.domain.NonceGenerator; import com.discord.models.message.Message; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.time.Clock; import d0.t.n; import d0.t.o; @@ -55,7 +56,7 @@ public final class LocalMessageCreatorsKt { return createLocalApplicationCommandMessage(id2, b2, channelId, c, author, z2, z3, l, clock); } - public static final Message createLocalMessage(String str, long j, User user, List list, boolean z2, boolean z3, Application application, MessageActivity messageActivity, Clock clock, List list2, Long l, Long l2, Integer num, List list3, MessageReference messageReference, MessageAllowedMentions messageAllowedMentions, String str2) { + public static final Message createLocalMessage(String str, long j, User user, List list, boolean z2, boolean z3, Application application, MessageActivity messageActivity, Clock clock, List list2, Long l, Long l2, Integer num, List list3, MessageReference messageReference, MessageAllowedMentions messageAllowedMentions, CaptchaHelper.CaptchaPayload captchaPayload) { ArrayList arrayList; m.checkNotNullParameter(str, "content"); m.checkNotNullParameter(user, "author"); @@ -78,11 +79,11 @@ public final class LocalMessageCreatorsKt { } else { arrayList = null; } - return new Message(computeNonce, j, null, user, str, utcDateTime, null, bool, bool, list, emptyList, emptyList2, emptyList3, emptyList4, valueOf, bool, null, valueOf2, messageActivity, application, null, messageReference, null, null, arrayList, null, null, null, null, null, Boolean.FALSE, z3, messageAllowedMentions, num, l, l2, list2, str2, 4, 0, null); + return new Message(computeNonce, j, null, user, str, utcDateTime, null, bool, bool, list, emptyList, emptyList2, emptyList3, emptyList4, valueOf, bool, null, valueOf2, messageActivity, application, null, messageReference, null, null, arrayList, null, null, null, null, null, Boolean.FALSE, z3, messageAllowedMentions, num, l, l2, list2, captchaPayload, 4, 0, null); } - public static /* synthetic */ Message createLocalMessage$default(String str, long j, User user, List list, boolean z2, boolean z3, Application application, MessageActivity messageActivity, Clock clock, List list2, Long l, Long l2, Integer num, List list3, MessageReference messageReference, MessageAllowedMentions messageAllowedMentions, String str2, int i, Object obj) { - return createLocalMessage(str, j, user, list, z2, z3, application, messageActivity, clock, list2, l, l2, num, list3, messageReference, messageAllowedMentions, (i & 65536) != 0 ? null : str2); + public static /* synthetic */ Message createLocalMessage$default(String str, long j, User user, List list, boolean z2, boolean z3, Application application, MessageActivity messageActivity, Clock clock, List list2, Long l, Long l2, Integer num, List list3, MessageReference messageReference, MessageAllowedMentions messageAllowedMentions, CaptchaHelper.CaptchaPayload captchaPayload, int i, Object obj) { + return createLocalMessage(str, j, user, list, z2, z3, application, messageActivity, clock, list2, l, l2, num, list3, messageReference, messageAllowedMentions, (i & 65536) != 0 ? null : captchaPayload); } public static final Message createThreadStarterMessageNotFoundMessage(long j, User user, Clock clock) { diff --git a/app/src/main/java/com/discord/utilities/messagesend/MessageQueue.java b/app/src/main/java/com/discord/utilities/messagesend/MessageQueue.java index b3b08afa31..cc555330e6 100644 --- a/app/src/main/java/com/discord/utilities/messagesend/MessageQueue.java +++ b/app/src/main/java/com/discord/utilities/messagesend/MessageQueue.java @@ -168,12 +168,18 @@ public final class MessageQueue { long messageId = edit.getMessageId(); String content = edit.getContent(); MessageAllowedMentions allowedMentions = edit.getAllowedMentions(); - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.restSubscribeOn(api.editMessage(channelId, messageId, new RestAPIParams.Message(content, null, null, null, null, null, allowedMentions != null ? RestAPIParams.Message.AllowedMentions.Companion.create(allowedMentions) : null, null, 188, null)), false), MessageQueue.class, (Context) null, new MessageQueue$doEdit$4(this, edit, drainListener), new MessageQueue$doEdit$3(this, drainListener), (Function0) null, (Function0) null, new MessageQueue$doEdit$2(this, drainListener), 50, (Object) null); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.restSubscribeOn(api.editMessage(channelId, messageId, new RestAPIParams.Message(content, null, null, null, null, null, allowedMentions != null ? RestAPIParams.Message.AllowedMentions.Companion.create(allowedMentions) : null, null, null, 444, null)), false), MessageQueue.class, (Context) null, new MessageQueue$doEdit$4(this, edit, drainListener), new MessageQueue$doEdit$3(this, drainListener), (Function0) null, (Function0) null, new MessageQueue$doEdit$2(this, drainListener), 50, (Object) null); } + /* JADX WARNING: Removed duplicated region for block: B:46:0x00f1 */ + /* JADX WARNING: Removed duplicated region for block: B:47:0x00f8 */ + /* JADX WARNING: Removed duplicated region for block: B:50:0x0100 */ private final void doSend(MessageRequest.Send send, DrainListener drainListener) { RestAPIParams.Message.Activity activity; RestAPIParams.Message.MessageReference messageReference; + ArrayList arrayList; + CaptchaHelper.CaptchaPayload captchaPayload; + ArrayList arrayList2; String k; MessageResult.ValidationError validateMessage = send.validateMessage(); if (validateMessage != null) { @@ -183,7 +189,7 @@ public final class MessageQueue { Message message = send.getMessage(); boolean z2 = message.getNonce() != null; MessageActivity activity2 = message.getActivity(); - ArrayList arrayList = null; + String str = null; if (activity2 != null) { Activity activity3 = send.getActivity(); activity = (activity3 == null || (k = activity3.k()) == null) ? null : new RestAPIParams.Message.Activity(activity2.b(), activity2.a(), k); @@ -207,20 +213,42 @@ public final class MessageQueue { Long valueOf = application != null ? Long.valueOf(application.g()) : null; List stickerItems = message.getStickerItems(); if (stickerItems != null) { - arrayList = new ArrayList(o.collectionSizeOrDefault(stickerItems, 10)); + arrayList2 = new ArrayList(o.collectionSizeOrDefault(stickerItems, 10)); for (StickerPartial stickerPartial : stickerItems) { - arrayList.add(Long.valueOf(stickerPartial.getId())); + arrayList2.add(Long.valueOf(stickerPartial.getId())); } } else { List stickers = message.getStickers(); if (stickers != null) { - arrayList = new ArrayList(o.collectionSizeOrDefault(stickers, 10)); + arrayList2 = new ArrayList(o.collectionSizeOrDefault(stickers, 10)); for (Sticker sticker : stickers) { - arrayList.add(Long.valueOf(sticker.getId())); + arrayList2.add(Long.valueOf(sticker.getId())); } + } else { + arrayList = null; + CaptchaHelper.CaptchaPayload captchaPayload2 = message.getCaptchaPayload(); + String captchaKey = captchaPayload2 == null ? captchaPayload2.getCaptchaKey() : null; + captchaPayload = message.getCaptchaPayload(); + if (captchaPayload != null) { + str = captchaPayload.getCaptchaRqtoken(); + } + Observable t = SendUtils.INSTANCE.getSendPayload(this.contentResolver, new RestAPIParams.Message(content, nonce, valueOf, activity, arrayList, messageReference, create, captchaKey, str), send.getAttachments()).t(new MessageQueue$doSend$1(send)); + m.checkNotNullExpressionValue(t, "SendUtils\n .getSe… }\n }\n }"); + Observable F = t.x(MessageQueue$doSend$$inlined$filterIs$1.INSTANCE).F(MessageQueue$doSend$$inlined$filterIs$2.INSTANCE); + m.checkNotNullExpressionValue(F, "filter { it is T }.map { it as T }"); + Observable z3 = F.Z(1).z(new MessageQueue$doSend$2(message)); + m.checkNotNullExpressionValue(z3, "SendUtils\n .getSe…ge)\n }\n }"); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.restSubscribeOn(z3, z2), MessageQueue.class, (Context) null, new MessageQueue$doSend$5(this, send, drainListener), new MessageQueue$doSend$4(this, drainListener, message), (Function0) null, (Function0) null, new MessageQueue$doSend$3(this, drainListener), 50, (Object) null); } } - Observable t = SendUtils.INSTANCE.getSendPayload(this.contentResolver, new RestAPIParams.Message(content, nonce, valueOf, activity, arrayList, messageReference, create, message.getCaptchaKey()), send.getAttachments()).t(new MessageQueue$doSend$1(send)); + arrayList = arrayList2; + CaptchaHelper.CaptchaPayload captchaPayload2 = message.getCaptchaPayload(); + if (captchaPayload2 == null) { + } + captchaPayload = message.getCaptchaPayload(); + if (captchaPayload != null) { + } + Observable t = SendUtils.INSTANCE.getSendPayload(this.contentResolver, new RestAPIParams.Message(content, nonce, valueOf, activity, arrayList, messageReference, create, captchaKey, str), send.getAttachments()).t(new MessageQueue$doSend$1(send)); m.checkNotNullExpressionValue(t, "SendUtils\n .getSe… }\n }\n }"); Observable F = t.x(MessageQueue$doSend$$inlined$filterIs$1.INSTANCE).F(MessageQueue$doSend$$inlined$filterIs$2.INSTANCE); m.checkNotNullExpressionValue(F, "filter { it is T }.map { it as T }"); diff --git a/app/src/main/java/com/discord/utilities/premium/GuildBoostUtils.java b/app/src/main/java/com/discord/utilities/premium/GuildBoostUtils.java index 7f12c89e30..ac9bbb82d5 100644 --- a/app/src/main/java/com/discord/utilities/premium/GuildBoostUtils.java +++ b/app/src/main/java/com/discord/utilities/premium/GuildBoostUtils.java @@ -1,13 +1,18 @@ package com.discord.utilities.premium; +import com.discord.api.guild.GuildFeature; import com.discord.app.AppLog; import com.discord.models.domain.ModelSubscription; import com.discord.models.domain.premium.SubscriptionPlanType; +import com.discord.models.experiments.domain.Experiment; +import com.discord.models.guild.Guild; +import com.discord.stores.StoreExperiments; import com.discord.stores.StoreGuildBoost; +import com.discord.stores.StoreGuilds; +import com.discord.stores.StoreStream; import com.discord.utilities.analytics.Traits; import com.discord.utilities.logging.Logger; import com.discord.utilities.rest.RestAPI; -import d0.t.n; import d0.t.u; import d0.z.d.m; import j0.p.a; @@ -33,24 +38,61 @@ public final class GuildBoostUtils { private GuildBoostUtils() { } - private final int getCurrentTierSubs(int i) { + public static /* synthetic */ int calculatePercentToNextTier$default(GuildBoostUtils guildBoostUtils, long j, int i, int i2, StoreExperiments storeExperiments, StoreGuilds storeGuilds, int i3, Object obj) { + if ((i3 & 8) != 0) { + storeExperiments = StoreStream.Companion.getExperiments(); + } + if ((i3 & 16) != 0) { + storeGuilds = StoreStream.Companion.getGuilds(); + } + return guildBoostUtils.calculatePercentToNextTier(j, i, i2, storeExperiments, storeGuilds); + } + + public static /* synthetic */ int calculateTotalProgress$default(GuildBoostUtils guildBoostUtils, long j, int i, int i2, StoreExperiments storeExperiments, StoreGuilds storeGuilds, int i3, Object obj) { + if ((i3 & 8) != 0) { + storeExperiments = StoreStream.Companion.getExperiments(); + } + if ((i3 & 16) != 0) { + storeGuilds = StoreStream.Companion.getGuilds(); + } + return guildBoostUtils.calculateTotalProgress(j, i, i2, storeExperiments, storeGuilds); + } + + public static /* synthetic */ int getBoostTier$default(GuildBoostUtils guildBoostUtils, long j, int i, StoreExperiments storeExperiments, StoreGuilds storeGuilds, int i2, Object obj) { + if ((i2 & 4) != 0) { + storeExperiments = StoreStream.Companion.getExperiments(); + } + if ((i2 & 8) != 0) { + storeGuilds = StoreStream.Companion.getGuilds(); + } + return guildBoostUtils.getBoostTier(j, i, storeExperiments, storeGuilds); + } + + public static /* synthetic */ int getBoostsRequiredForTier$default(GuildBoostUtils guildBoostUtils, long j, int i, StoreExperiments storeExperiments, StoreGuilds storeGuilds, int i2, Object obj) { + if ((i2 & 4) != 0) { + storeExperiments = StoreStream.Companion.getExperiments(); + } + if ((i2 & 8) != 0) { + storeGuilds = StoreStream.Companion.getGuilds(); + } + return guildBoostUtils.getBoostsRequiredForTier(j, i, storeExperiments, storeGuilds); + } + + private final int getCurrentTierSubs(boolean z2, int i) { if (i == 1) { return 2; } - if (i != 2) { - return i != 3 ? 0 : 14; + if (i == 2) { + return z2 ? 5 : 7; } - return 7; + if (i != 3) { + return 0; + } + return z2 ? 7 : 14; } - private final int getNextTierSubs(int i) { - if (i == 1) { - return 7; - } - if (i != 2) { - return i != 3 ? 2 : 0; - } - return 14; + private final int getNextTierSubs(boolean z2, int i) { + return i != 1 ? i != 2 ? i != 3 ? 2 : 0 : z2 ? 7 : 14 : z2 ? 5 : 7; } private final Observable modifyGuildBoostSlot(RestAPI restAPI, long j, ModelSubscription modelSubscription, boolean z2, StoreGuildBoost storeGuildBoost) { @@ -59,73 +101,77 @@ public final class GuildBoostUtils { return z3; } - /* JADX DEBUG: Multi-variable search result rejected for r5v8, resolved type: java.lang.Object */ - /* JADX WARN: Multi-variable type inference failed */ public final List calculateAdditionalPlansWithGuildBoostAdjustment(ModelSubscription modelSubscription, int i) { - List list; + Object obj; boolean z2; m.checkNotNullParameter(modelSubscription, Traits.Payment.Type.SUBSCRIPTION); ModelSubscription.SubscriptionRenewalMutations renewalMutations = modelSubscription.getRenewalMutations(); - if (renewalMutations == null) { - list = modelSubscription.getPremiumAdditionalPlans(); - } else { - list = renewalMutations.getPremiumAdditionalPlans(); - if (list == null) { - list = n.emptyList(); + List premiumAdditionalPlans = renewalMutations == null ? modelSubscription.getPremiumAdditionalPlans() : renewalMutations.getPremiumAdditionalPlans(); + Iterator it = premiumAdditionalPlans.iterator(); + while (true) { + if (!it.hasNext()) { + obj = null; + break; + } + obj = it.next(); + ModelSubscription.SubscriptionAdditionalPlan subscriptionAdditionalPlan = (ModelSubscription.SubscriptionAdditionalPlan) obj; + if (subscriptionAdditionalPlan.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_MONTH.getPlanId() || subscriptionAdditionalPlan.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_YEAR.getPlanId()) { + z2 = true; + continue; + } else { + z2 = false; + continue; + } + if (z2) { + break; } } - ModelSubscription.SubscriptionAdditionalPlan subscriptionAdditionalPlan = null; - if (list != null) { - Iterator it = list.iterator(); - while (true) { - if (!it.hasNext()) { - break; - } - Object next = it.next(); - ModelSubscription.SubscriptionAdditionalPlan subscriptionAdditionalPlan2 = (ModelSubscription.SubscriptionAdditionalPlan) next; - if (subscriptionAdditionalPlan2.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_MONTH.getPlanId() || subscriptionAdditionalPlan2.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_YEAR.getPlanId()) { - z2 = true; - continue; - } else { - z2 = false; - continue; - } - if (z2) { - subscriptionAdditionalPlan = next; - break; - } - } - subscriptionAdditionalPlan = subscriptionAdditionalPlan; - } - int quantity = (subscriptionAdditionalPlan != null ? subscriptionAdditionalPlan.getQuantity() : 0) + i; - if (quantity < 0 || subscriptionAdditionalPlan == null) { + ModelSubscription.SubscriptionAdditionalPlan subscriptionAdditionalPlan2 = (ModelSubscription.SubscriptionAdditionalPlan) obj; + int quantity = (subscriptionAdditionalPlan2 != null ? subscriptionAdditionalPlan2.getQuantity() : 0) + i; + if (quantity < 0 || subscriptionAdditionalPlan2 == null) { AppLog appLog = AppLog.g; Logger.e$default(appLog, "Error calculating additional_plans adjustment, new sub count:" + quantity, null, null, 6, null); return modelSubscription.getPremiumAdditionalPlans(); } ArrayList arrayList = new ArrayList(); - for (Object obj : list) { - ModelSubscription.SubscriptionAdditionalPlan subscriptionAdditionalPlan3 = (ModelSubscription.SubscriptionAdditionalPlan) obj; + for (Object obj2 : premiumAdditionalPlans) { + ModelSubscription.SubscriptionAdditionalPlan subscriptionAdditionalPlan3 = (ModelSubscription.SubscriptionAdditionalPlan) obj2; if ((subscriptionAdditionalPlan3.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_MONTH.getPlanId() || subscriptionAdditionalPlan3.getPlanId() == SubscriptionPlanType.PREMIUM_GUILD_YEAR.getPlanId()) ? false : true) { - arrayList.add(obj); + arrayList.add(obj2); } } - return quantity == 0 ? arrayList : u.plus((Collection) arrayList, (Iterable) d0.t.m.listOf(new ModelSubscription.SubscriptionAdditionalPlan(subscriptionAdditionalPlan.getPlanId(), quantity))); + return quantity == 0 ? arrayList : u.plus((Collection) arrayList, (Iterable) d0.t.m.listOf(new ModelSubscription.SubscriptionAdditionalPlan(subscriptionAdditionalPlan2.getPlanId(), quantity))); } - public final int calculatePercentToNextTier(int i, int i2) { + public final int calculatePercentToNextTier(long j, int i, int i2, StoreExperiments storeExperiments, StoreGuilds storeGuilds) { + Guild guild; + m.checkNotNullParameter(storeExperiments, "storeExperiments"); + m.checkNotNullParameter(storeGuilds, "storeGuilds"); if (i >= 3) { return 100; } - return d0.a0.a.roundToInt((((float) (i2 - getCurrentTierSubs(i))) / ((float) getNextTierSubs(i))) * ((float) 100)); + boolean z2 = true; + Experiment guildExperiment = storeExperiments.getGuildExperiment("2022-02_boosting_tiers", j, true); + if (guildExperiment == null || guildExperiment.getBucket() != 1 || (guild = storeGuilds.getGuild(j)) == null || !guild.hasFeature(GuildFeature.EXPOSED_TO_BOOSTING_TIERS_EXPERIMENT)) { + z2 = false; + } + return d0.a0.a.roundToInt((((float) (i2 - getCurrentTierSubs(z2, i))) / ((float) getNextTierSubs(z2, i))) * ((float) 100)); } - public final int calculateTotalProgress(int i, int i2) { + public final int calculateTotalProgress(long j, int i, int i2, StoreExperiments storeExperiments, StoreGuilds storeGuilds) { + Guild guild; + m.checkNotNullParameter(storeExperiments, "storeExperiments"); + m.checkNotNullParameter(storeGuilds, "storeGuilds"); if (i >= 3) { return 100; } - int nextTierSubs = getNextTierSubs(i); - int currentTierSubs = getCurrentTierSubs(i); + boolean z2 = true; + Experiment guildExperiment = storeExperiments.getGuildExperiment("2022-02_boosting_tiers", j, true); + if (guildExperiment == null || guildExperiment.getBucket() != 1 || (guild = storeGuilds.getGuild(j)) == null || !guild.hasFeature(GuildFeature.EXPOSED_TO_BOOSTING_TIERS_EXPERIMENT)) { + z2 = false; + } + int nextTierSubs = getNextTierSubs(z2, i); + int currentTierSubs = getCurrentTierSubs(z2, i); return d0.a0.a.roundToInt(((((float) (i2 - currentTierSubs)) / ((float) (nextTierSubs - currentTierSubs))) * 33.3f) + (((float) i) * 33.3f)); } @@ -136,14 +182,49 @@ public final class GuildBoostUtils { return modifyGuildBoostSlot(restAPI, j, modelSubscription, true, storeGuildBoost); } - public final int getBoostTier(int i) { - if (i >= 14) { + public final int getBoostTier(long j, int i, StoreExperiments storeExperiments, StoreGuilds storeGuilds) { + Guild guild; + m.checkNotNullParameter(storeExperiments, "storeExperiments"); + m.checkNotNullParameter(storeGuilds, "storeGuilds"); + Experiment guildExperiment = storeExperiments.getGuildExperiment("2022-02_boosting_tiers", j, true); + if (guildExperiment != null && guildExperiment.getBucket() == 1 && (guild = storeGuilds.getGuild(j)) != null && guild.hasFeature(GuildFeature.EXPOSED_TO_BOOSTING_TIERS_EXPERIMENT)) { + if (i >= 7) { + return 3; + } + if (i >= 5) { + return 2; + } + return i >= 2 ? 1 : 0; + } else if (i >= 14) { return 3; + } else { + if (i >= 7) { + return 2; + } + return i >= 2 ? 1 : 0; } - if (i >= 7) { + } + + public final int getBoostsRequiredForTier(long j, int i, StoreExperiments storeExperiments, StoreGuilds storeGuilds) { + Guild guild; + m.checkNotNullParameter(storeExperiments, "storeExperiments"); + m.checkNotNullParameter(storeGuilds, "storeGuilds"); + Experiment guildExperiment = storeExperiments.getGuildExperiment("2022-02_boosting_tiers", j, true); + boolean z2 = guildExperiment != null && guildExperiment.getBucket() == 1 && (guild = storeGuilds.getGuild(j)) != null && guild.hasFeature(GuildFeature.EXPOSED_TO_BOOSTING_TIERS_EXPERIMENT); + if (i == 1) { return 2; } - return i >= 2 ? 1 : 0; + if (i != 2) { + if (i != 3) { + return 0; + } + if (!z2) { + return 14; + } + } else if (z2) { + return 5; + } + return 7; } public final Observable uncancelGuildBoostSlot(RestAPI restAPI, long j, ModelSubscription modelSubscription, StoreGuildBoost storeGuildBoost) { diff --git a/app/src/main/java/com/discord/utilities/rest/RestAPI.java b/app/src/main/java/com/discord/utilities/rest/RestAPI.java index ee32c6160e..65ab1d8ddf 100644 --- a/app/src/main/java/com/discord/utilities/rest/RestAPI.java +++ b/app/src/main/java/com/discord/utilities/rest/RestAPI.java @@ -118,6 +118,7 @@ import com.discord.restapi.SpotifyTokenInterceptor; import com.discord.stores.StoreStream; import com.discord.utilities.analytics.ChatInputComponentTypes; import com.discord.utilities.auth.GoogleSmartLockManager; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.logging.Logger; import com.discord.utilities.rx.ObservableExtensionsKt; import com.discord.utilities.systemlog.SystemLogUtils; @@ -433,8 +434,8 @@ public final class RestAPI implements RestAPIInterface { apiSpotify = restAPI; } - public static /* synthetic */ Observable addRelationship$default(RestAPI restAPI, String str, long j, Integer num, String str2, String str3, int i, Object obj) { - return restAPI.addRelationship(str, j, (i & 4) != 0 ? null : num, (i & 8) != 0 ? null : str2, (i & 16) != 0 ? null : str3); + public static /* synthetic */ Observable addRelationship$default(RestAPI restAPI, String str, long j, Integer num, String str2, CaptchaHelper.CaptchaPayload captchaPayload, int i, Object obj) { + return restAPI.addRelationship(str, j, (i & 4) != 0 ? null : num, (i & 8) != 0 ? null : str2, (i & 16) != 0 ? null : captchaPayload); } public static final Interceptor buildAnalyticsInterceptor() { @@ -595,9 +596,9 @@ public final class RestAPI implements RestAPIInterface { return this._api.addRelationship(j, userRelationship, str); } - public final Observable addRelationship(String str, long j, Integer num, String str2, String str3) { + public final Observable addRelationship(String str, long j, Integer num, String str2, CaptchaHelper.CaptchaPayload captchaPayload) { m.checkNotNullParameter(str, ModelAuditLogEntry.CHANGE_KEY_LOCATION); - return ObservableExtensionsKt.restSubscribeOn$default(this._api.addRelationship(j, new RestAPIParams.UserRelationship(num, str2, str3), jsonObjectOf(d0.o.to(ModelAuditLogEntry.CHANGE_KEY_LOCATION, str))), false, 1, null); + return ObservableExtensionsKt.restSubscribeOn$default(this._api.addRelationship(j, new RestAPIParams.UserRelationship(num, str2, captchaPayload != null ? captchaPayload.getCaptchaKey() : null, captchaPayload != null ? captchaPayload.getCaptchaRqtoken() : null), jsonObjectOf(d0.o.to(ModelAuditLogEntry.CHANGE_KEY_LOCATION, str))), false, 1, null); } @Override // com.discord.restapi.RestAPIInterface @@ -2123,10 +2124,10 @@ public final class RestAPI implements RestAPIInterface { return this._api.sendRelationshipRequest(add, str); } - public final Observable sendRelationshipRequest(String str, String str2, int i, String str3) { + public final Observable sendRelationshipRequest(String str, String str2, int i, CaptchaHelper.CaptchaPayload captchaPayload) { m.checkNotNullParameter(str, ModelAuditLogEntry.CHANGE_KEY_LOCATION); m.checkNotNullParameter(str2, "username"); - return ObservableExtensionsKt.restSubscribeOn$default(this._api.sendRelationshipRequest(new RestAPIParams.UserRelationship.Add(str2, i, str3), jsonObjectOf(d0.o.to(ModelAuditLogEntry.CHANGE_KEY_LOCATION, str))), false, 1, null); + return ObservableExtensionsKt.restSubscribeOn$default(this._api.sendRelationshipRequest(new RestAPIParams.UserRelationship.Add(str2, i, captchaPayload != null ? captchaPayload.getCaptchaKey() : null, captchaPayload != null ? captchaPayload.getCaptchaRqtoken() : null), jsonObjectOf(d0.o.to(ModelAuditLogEntry.CHANGE_KEY_LOCATION, str))), false, 1, null); } public final Observable setConsent(boolean z2, String str) { diff --git a/app/src/main/java/com/discord/utilities/rest/SendUtils$compressImageAttachments$1.java b/app/src/main/java/com/discord/utilities/rest/SendUtils$compressImageAttachments$1.java index 93d3d92933..a0acf5c8ce 100644 --- a/app/src/main/java/com/discord/utilities/rest/SendUtils$compressImageAttachments$1.java +++ b/app/src/main/java/com/discord/utilities/rest/SendUtils$compressImageAttachments$1.java @@ -26,7 +26,7 @@ import kotlin.jvm.functions.Function2; import kotlinx.coroutines.CoroutineScope; import s.a.k0; /* compiled from: SendUtils.kt */ -@e(c = "com.discord.utilities.rest.SendUtils$compressImageAttachments$1", f = "SendUtils.kt", l = {317}, m = "invokeSuspend") +@e(c = "com.discord.utilities.rest.SendUtils$compressImageAttachments$1", f = "SendUtils.kt", l = {321}, m = "invokeSuspend") public final class SendUtils$compressImageAttachments$1 extends k implements Function2, Object> { public final /* synthetic */ List $attachments; public final /* synthetic */ Context $context; diff --git a/app/src/main/java/com/discord/utilities/rest/SendUtils$handleCaptchaRequired$1.java b/app/src/main/java/com/discord/utilities/rest/SendUtils$handleCaptchaRequired$1.java index 6a6ee3c704..9d1dbcc281 100644 --- a/app/src/main/java/com/discord/utilities/rest/SendUtils$handleCaptchaRequired$1.java +++ b/app/src/main/java/com/discord/utilities/rest/SendUtils$handleCaptchaRequired$1.java @@ -2,13 +2,14 @@ package com.discord.utilities.rest; import com.discord.app.AppFragment; import com.discord.stores.StoreStream; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.messagesend.MessageResult; import d0.z.d.m; import d0.z.d.o; import kotlin.Unit; import kotlin.jvm.functions.Function2; /* compiled from: SendUtils.kt */ -public final class SendUtils$handleCaptchaRequired$1 extends o implements Function2 { +public final class SendUtils$handleCaptchaRequired$1 extends o implements Function2 { public final /* synthetic */ MessageResult.CaptchaRequired $messageResult; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -20,14 +21,14 @@ public final class SendUtils$handleCaptchaRequired$1 extends o implements Functi /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object, java.lang.Object] */ @Override // kotlin.jvm.functions.Function2 - public /* bridge */ /* synthetic */ Unit invoke(AppFragment appFragment, String str) { - invoke(appFragment, str); + public /* bridge */ /* synthetic */ Unit invoke(AppFragment appFragment, CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(appFragment, captchaPayload); return Unit.a; } - public final void invoke(AppFragment appFragment, String str) { + public final void invoke(AppFragment appFragment, CaptchaHelper.CaptchaPayload captchaPayload) { m.checkNotNullParameter(appFragment, ""); - m.checkNotNullParameter(str, "captchaToken"); - StoreStream.Companion.getMessages().resendMessageWithCaptcha(this.$messageResult.getChannelId(), this.$messageResult.getNonce(), str); + m.checkNotNullParameter(captchaPayload, "captchaPayload"); + StoreStream.Companion.getMessages().resendMessageWithCaptcha(this.$messageResult.getChannelId(), this.$messageResult.getNonce(), captchaPayload); } } diff --git a/app/src/main/java/com/discord/utilities/rest/SendUtils.java b/app/src/main/java/com/discord/utilities/rest/SendUtils.java index 82c95d85c0..701ad0fa6a 100644 --- a/app/src/main/java/com/discord/utilities/rest/SendUtils.java +++ b/app/src/main/java/com/discord/utilities/rest/SendUtils.java @@ -544,6 +544,8 @@ public final class SendUtils { } public final Observable getSendPayload(ContentResolver contentResolver, RestAPIParams.Message message, List> list) { + String str; + List> list2; RestAPIParams.Message message2 = message; m.checkNotNullParameter(contentResolver, "contentResolver"); m.checkNotNullParameter(message2, "apiParamMessage"); @@ -559,9 +561,14 @@ public final class SendUtils { } String appendLinks = AttachmentUtilsKt.appendLinks(content, extractLinks); if (!m.areEqual(appendLinks, message.getContent())) { - message2 = RestAPIParams.Message.copy$default(message, appendLinks, null, null, null, null, null, null, null, 254, null); + str = "Observable.just(SendPayl…ramMessage, emptyList()))"; + list2 = extractLinks; + message2 = RestAPIParams.Message.copy$default(message, appendLinks, null, null, null, null, null, null, null, null, 510, null); + } else { + str = "Observable.just(SendPayl…ramMessage, emptyList()))"; + list2 = extractLinks; } - List> uniqueifyNames = uniqueifyNames(u.minus((Iterable) list, (Iterable) extractLinks)); + List> uniqueifyNames = uniqueifyNames(u.minus((Iterable) list, (Iterable) list2)); if (!uniqueifyNames.isEmpty()) { k kVar2 = new k(getPreprocessingFromAttachments(contentResolver, uniqueifyNames)); ArrayList arrayList = new ArrayList(d0.t.o.collectionSizeOrDefault(uniqueifyNames, 10)); @@ -579,7 +586,7 @@ public final class SendUtils { return m; } k kVar3 = new k(new SendPayload.ReadyToSend(message2, d0.t.n.emptyList())); - m.checkNotNullExpressionValue(kVar3, "Observable.just(SendPayl…ramMessage, emptyList()))"); + m.checkNotNullExpressionValue(kVar3, str); return kVar3; } diff --git a/app/src/main/java/com/discord/views/guildboost/GuildBoostConfirmationView.java b/app/src/main/java/com/discord/views/guildboost/GuildBoostConfirmationView.java index 01006dcb7c..117b01f08c 100644 --- a/app/src/main/java/com/discord/views/guildboost/GuildBoostConfirmationView.java +++ b/app/src/main/java/com/discord/views/guildboost/GuildBoostConfirmationView.java @@ -57,9 +57,9 @@ public final class GuildBoostConfirmationView extends CardView { public final void b(Guild guild, int i) { m.checkNotNullParameter(guild, "guild"); - int boostTier = GuildBoostUtils.INSTANCE.getBoostTier(guild.getPremiumSubscriptionCount() + i); + int boostTier$default = GuildBoostUtils.getBoostTier$default(GuildBoostUtils.INSTANCE, guild.getId(), guild.getPremiumSubscriptionCount() + i, null, null, 12, null); boolean z2 = true; - char c = boostTier > guild.getPremiumTier() ? 1 : boostTier < guild.getPremiumTier() ? (char) 2 : 3; + char c = boostTier$default > guild.getPremiumTier() ? 1 : boostTier$default < guild.getPremiumTier() ? (char) 2 : 3; SimpleDraweeView simpleDraweeView = this.j.f122b; m.checkNotNullExpressionValue(simpleDraweeView, "binding.guildBoostConfirmationAvatar"); IconUtils.setIcon$default(simpleDraweeView, IconUtils.getForGuild$default(guild, null, false, null, 14, null), 0, (Function1) null, (MGImages.ChangeDetector) null, 28, (Object) null); @@ -92,10 +92,10 @@ public final class GuildBoostConfirmationView extends CardView { ColorCompatKt.tintWithColorResource(imageView2, i3); Chip chip4 = this.j.e; m.checkNotNullExpressionValue(chip4, "binding.guildBoostConfirmationLevelInfoUpgrade"); - chip4.setChipIcon(ContextCompat.getDrawable(getContext(), c(boostTier))); + chip4.setChipIcon(ContextCompat.getDrawable(getContext(), c(boostTier$default))); Chip chip5 = this.j.e; m.checkNotNullExpressionValue(chip5, "binding.guildBoostConfirmationLevelInfoUpgrade"); - chip5.setText(d(boostTier)); + chip5.setText(d(boostTier$default)); } } diff --git a/app/src/main/java/com/discord/views/guildboost/GuildBoostProgressView.java b/app/src/main/java/com/discord/views/guildboost/GuildBoostProgressView.java index 823820b56e..7166622ade 100644 --- a/app/src/main/java/com/discord/views/guildboost/GuildBoostProgressView.java +++ b/app/src/main/java/com/discord/views/guildboost/GuildBoostProgressView.java @@ -43,7 +43,7 @@ public final class GuildBoostProgressView extends FrameLayout { throw new NullPointerException("Missing required view with ID: ".concat(inflate.getResources().getResourceName(i))); } - public final void a(int i, int i2) { + public final void a(long j, int i, int i2) { ImageView imageView = this.j.f201b; int i3 = 0; if (i == 0) { @@ -63,6 +63,6 @@ public final class GuildBoostProgressView extends FrameLayout { textView.setText(i != 0 ? i != 1 ? i != 2 ? i != 3 ? "" : getContext().getString(R.string.premium_guild_tier_3) : getContext().getString(R.string.premium_guild_tier_2) : getContext().getString(R.string.premium_guild_tier_1) : getContext().getString(R.string.premium_guild_header_badge_no_tier)); ProgressBar progressBar = this.j.d; m.checkNotNullExpressionValue(progressBar, "binding.progressProgress"); - progressBar.setProgress(GuildBoostUtils.INSTANCE.calculatePercentToNextTier(i, i2)); + progressBar.setProgress(GuildBoostUtils.calculatePercentToNextTier$default(GuildBoostUtils.INSTANCE, j, i, i2, null, null, 24, null)); } } diff --git a/app/src/main/java/com/discord/widgets/auth/WidgetAuthCaptcha$Companion$registerForResult$1.java b/app/src/main/java/com/discord/widgets/auth/WidgetAuthCaptcha$Companion$registerForResult$1.java index 3fe12f9717..600adcb4d0 100644 --- a/app/src/main/java/com/discord/widgets/auth/WidgetAuthCaptcha$Companion$registerForResult$1.java +++ b/app/src/main/java/com/discord/widgets/auth/WidgetAuthCaptcha$Companion$registerForResult$1.java @@ -3,6 +3,7 @@ package com.discord.widgets.auth; import android.content.Intent; import androidx.activity.result.ActivityResult; import androidx.activity.result.ActivityResultCallback; +import com.discord.utilities.captcha.CaptchaHelper; import d0.z.d.m; import kotlin.jvm.functions.Function1; /* compiled from: WidgetAuthCaptcha.kt */ @@ -17,9 +18,14 @@ public final class WidgetAuthCaptcha$Companion$registerForResult$1 implements m.checkNotNullExpressionValue(activityResult, "activityResult"); if (activityResult.getResultCode() == -1) { Intent data = activityResult.getData(); - String stringExtra = data != null ? data.getStringExtra("RESULT_EXTRA_CAPTCHA") : null; + String str = null; + String stringExtra = data != null ? data.getStringExtra("RESULT_EXTRA_TOKEN") : null; + Intent data2 = activityResult.getData(); + if (data2 != null) { + str = data2.getStringExtra("RESULT_EXTRA_RQTOKEN"); + } if (stringExtra != null) { - this.$callback.invoke(stringExtra); + this.$callback.invoke(new CaptchaHelper.CaptchaPayload(stringExtra, str)); } } } diff --git a/app/src/main/java/com/discord/widgets/auth/WidgetAuthCaptcha.java b/app/src/main/java/com/discord/widgets/auth/WidgetAuthCaptcha.java index 3a926018dc..eaac97708b 100644 --- a/app/src/main/java/com/discord/widgets/auth/WidgetAuthCaptcha.java +++ b/app/src/main/java/com/discord/widgets/auth/WidgetAuthCaptcha.java @@ -20,7 +20,8 @@ import kotlin.jvm.internal.DefaultConstructorMarker; public final class WidgetAuthCaptcha extends WidgetCaptcha { public static final Companion Companion = new Companion(null); private static final String EXTRA_CAPTCHA_ERROR_BODY = "EXTRA_CAPTCHA_ERROR_BODY"; - private static final String RESULT_EXTRA_TOKEN = "RESULT_EXTRA_CAPTCHA"; + private static final String RESULT_EXTRA_RQTOKEN = "RESULT_EXTRA_RQTOKEN"; + private static final String RESULT_EXTRA_TOKEN = "RESULT_EXTRA_TOKEN"; /* compiled from: WidgetAuthCaptcha.kt */ public static final class Companion { @@ -50,7 +51,7 @@ public final class WidgetAuthCaptcha extends WidgetCaptcha { } } - public final ActivityResultLauncher registerForResult(AppFragment appFragment, Function1 function1) { + public final ActivityResultLauncher registerForResult(AppFragment appFragment, Function1 function1) { m.checkNotNullParameter(appFragment, "fragment"); m.checkNotNullParameter(function1, "callback"); ActivityResultLauncher registerForActivityResult = appFragment.registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new WidgetAuthCaptcha$Companion$registerForResult$1(function1)); diff --git a/app/src/main/java/com/discord/widgets/auth/WidgetAuthLogin$captchaForgotPasswordLauncher$1.java b/app/src/main/java/com/discord/widgets/auth/WidgetAuthLogin$captchaForgotPasswordLauncher$1.java index 327958431b..b822bfc3d0 100644 --- a/app/src/main/java/com/discord/widgets/auth/WidgetAuthLogin$captchaForgotPasswordLauncher$1.java +++ b/app/src/main/java/com/discord/widgets/auth/WidgetAuthLogin$captchaForgotPasswordLauncher$1.java @@ -1,11 +1,12 @@ package com.discord.widgets.auth; +import com.discord.utilities.captcha.CaptchaHelper; import d0.z.d.m; import d0.z.d.o; import kotlin.Unit; import kotlin.jvm.functions.Function1; /* compiled from: WidgetAuthLogin.kt */ -public final class WidgetAuthLogin$captchaForgotPasswordLauncher$1 extends o implements Function1 { +public final class WidgetAuthLogin$captchaForgotPasswordLauncher$1 extends o implements Function1 { public final /* synthetic */ WidgetAuthLogin this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -17,13 +18,13 @@ public final class WidgetAuthLogin$captchaForgotPasswordLauncher$1 extends o imp /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // kotlin.jvm.functions.Function1 - public /* bridge */ /* synthetic */ Unit invoke(String str) { - invoke(str); + public /* bridge */ /* synthetic */ Unit invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(captchaPayload); return Unit.a; } - public final void invoke(String str) { - m.checkNotNullParameter(str, "token"); - WidgetAuthLogin.access$forgotPassword(this.this$0, str); + public final void invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + m.checkNotNullParameter(captchaPayload, "captchaPayload"); + WidgetAuthLogin.access$forgotPassword(this.this$0, captchaPayload); } } diff --git a/app/src/main/java/com/discord/widgets/auth/WidgetAuthLogin$captchaLoginLauncher$1.java b/app/src/main/java/com/discord/widgets/auth/WidgetAuthLogin$captchaLoginLauncher$1.java index 4ad1848e5d..2f78aaaacb 100644 --- a/app/src/main/java/com/discord/widgets/auth/WidgetAuthLogin$captchaLoginLauncher$1.java +++ b/app/src/main/java/com/discord/widgets/auth/WidgetAuthLogin$captchaLoginLauncher$1.java @@ -1,11 +1,12 @@ package com.discord.widgets.auth; +import com.discord.utilities.captcha.CaptchaHelper; import d0.z.d.m; import d0.z.d.o; import kotlin.Unit; import kotlin.jvm.functions.Function1; /* compiled from: WidgetAuthLogin.kt */ -public final class WidgetAuthLogin$captchaLoginLauncher$1 extends o implements Function1 { +public final class WidgetAuthLogin$captchaLoginLauncher$1 extends o implements Function1 { public final /* synthetic */ WidgetAuthLogin this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -17,13 +18,13 @@ public final class WidgetAuthLogin$captchaLoginLauncher$1 extends o implements F /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // kotlin.jvm.functions.Function1 - public /* bridge */ /* synthetic */ Unit invoke(String str) { - invoke(str); + public /* bridge */ /* synthetic */ Unit invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(captchaPayload); return Unit.a; } - public final void invoke(String str) { - m.checkNotNullParameter(str, "token"); - WidgetAuthLogin.login$default(this.this$0, str, false, 2, null); + public final void invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + m.checkNotNullParameter(captchaPayload, "captchaPayload"); + WidgetAuthLogin.login$default(this.this$0, captchaPayload, false, 2, null); } } diff --git a/app/src/main/java/com/discord/widgets/auth/WidgetAuthLogin.java b/app/src/main/java/com/discord/widgets/auth/WidgetAuthLogin.java index ec10542dbc..0aabc401eb 100644 --- a/app/src/main/java/com/discord/widgets/auth/WidgetAuthLogin.java +++ b/app/src/main/java/com/discord/widgets/auth/WidgetAuthLogin.java @@ -22,6 +22,7 @@ import com.discord.stores.updates.ObservationDeckProvider; import com.discord.utilities.auth.GoogleSmartLockManager; import com.discord.utilities.auth.GoogleSmartLockManagerKt; import com.discord.utilities.auth.RegistrationFlowRepo; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.error.Error; import com.discord.utilities.rx.ObservableExtensionsKt; import com.discord.utilities.view.extensions.ViewExtensions; @@ -81,8 +82,8 @@ public final class WidgetAuthLogin extends AppFragment { this.validationManager$delegate = g.lazy(new WidgetAuthLogin$validationManager$2(this)); } - public static final /* synthetic */ void access$forgotPassword(WidgetAuthLogin widgetAuthLogin, String str) { - widgetAuthLogin.forgotPassword(str); + public static final /* synthetic */ void access$forgotPassword(WidgetAuthLogin widgetAuthLogin, CaptchaHelper.CaptchaPayload captchaPayload) { + widgetAuthLogin.forgotPassword(captchaPayload); } public static final /* synthetic */ WidgetAuthLoginBinding access$getBinding$p(WidgetAuthLogin widgetAuthLogin) { @@ -113,20 +114,20 @@ public final class WidgetAuthLogin extends AppFragment { widgetAuthLogin.showEmailSentToast(str); } - private final void forgotPassword(String str) { + private final void forgotPassword(CaptchaHelper.CaptchaPayload captchaPayload) { String textOrEmpty = getBinding().e.getTextOrEmpty(); if (textOrEmpty.length() == 0) { m.g(getContext(), R.string.login_required, 0, null, 12); } else { - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.withDimmer$default(ObservableExtensionsKt.ui(StoreStream.Companion.getAuthentication().forgotPassword(textOrEmpty, str)), getBinding().h, 0, 2, null), getContext(), "REST: forgotPassword", (Function1) null, new WidgetAuthLogin$forgotPassword$1(this, textOrEmpty), new WidgetAuthLogin$forgotPassword$2(this, textOrEmpty), (Function0) null, (Function0) null, 100, (Object) null); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.withDimmer$default(ObservableExtensionsKt.ui(StoreStream.Companion.getAuthentication().forgotPassword(textOrEmpty, captchaPayload)), getBinding().h, 0, 2, null), getContext(), "REST: forgotPassword", (Function1) null, new WidgetAuthLogin$forgotPassword$1(this, textOrEmpty), new WidgetAuthLogin$forgotPassword$2(this, textOrEmpty), (Function0) null, (Function0) null, 100, (Object) null); } } - public static /* synthetic */ void forgotPassword$default(WidgetAuthLogin widgetAuthLogin, String str, int i, Object obj) { + public static /* synthetic */ void forgotPassword$default(WidgetAuthLogin widgetAuthLogin, CaptchaHelper.CaptchaPayload captchaPayload, int i, Object obj) { if ((i & 1) != 0) { - str = null; + captchaPayload = null; } - widgetAuthLogin.forgotPassword(str); + widgetAuthLogin.forgotPassword(captchaPayload); } private final WidgetAuthLoginBinding getBinding() { @@ -203,41 +204,41 @@ public final class WidgetAuthLogin extends AppFragment { getBinding().g.requestFocus(); } - private final void login(String str, String str2, String str3, boolean z2) { - Context context = getContext(); - if (context != null) { - d0.z.d.m.checkNotNullExpressionValue(context, "context ?: return"); - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.withDimmer$default(ObservableExtensionsKt.ui$default(StoreStream.Companion.getAuthentication().login(str, str2, str3, z2, GoogleSmartLockManagerKt.hasSmartLockCredentials(getMostRecentIntent()) ? RestAPIParams.AuthLogin.LoginSource.LOGIN_SOURCE_KEYCHAIN_AUTO : null), this, null, 2, null), getBinding().h, 0, 2, null), context, "REST: login", (Function1) null, new WidgetAuthLogin$login$1(this, str, str2, context), new WidgetAuthLogin$login$2(this, str), (Function0) null, (Function0) null, 100, (Object) null); - } - } - - private final void login(String str, boolean z2) { + private final void login(CaptchaHelper.CaptchaPayload captchaPayload, boolean z2) { if (ValidationManager.validate$default(getValidationManager(), false, 1, null)) { String textOrEmpty = getBinding().e.getTextOrEmpty(); TextInputLayout textInputLayout = getBinding().g; d0.z.d.m.checkNotNullExpressionValue(textInputLayout, "binding.authLoginPasswordWrap"); - login(textOrEmpty, ViewExtensions.getTextOrEmpty(textInputLayout), str, z2); + login(textOrEmpty, ViewExtensions.getTextOrEmpty(textInputLayout), captchaPayload, z2); } } - public static /* synthetic */ void login$default(WidgetAuthLogin widgetAuthLogin, String str, String str2, String str3, boolean z2, int i, Object obj) { - if ((i & 4) != 0) { - str3 = null; + private final void login(String str, String str2, CaptchaHelper.CaptchaPayload captchaPayload, boolean z2) { + Context context = getContext(); + if (context != null) { + d0.z.d.m.checkNotNullExpressionValue(context, "context ?: return"); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.withDimmer$default(ObservableExtensionsKt.ui$default(StoreStream.Companion.getAuthentication().login(str, str2, captchaPayload, z2, GoogleSmartLockManagerKt.hasSmartLockCredentials(getMostRecentIntent()) ? RestAPIParams.AuthLogin.LoginSource.LOGIN_SOURCE_KEYCHAIN_AUTO : null), this, null, 2, null), getBinding().h, 0, 2, null), context, "REST: login", (Function1) null, new WidgetAuthLogin$login$1(this, str, str2, context), new WidgetAuthLogin$login$2(this, str), (Function0) null, (Function0) null, 100, (Object) null); } - if ((i & 8) != 0) { - z2 = false; - } - widgetAuthLogin.login(str, str2, str3, z2); } - public static /* synthetic */ void login$default(WidgetAuthLogin widgetAuthLogin, String str, boolean z2, int i, Object obj) { + public static /* synthetic */ void login$default(WidgetAuthLogin widgetAuthLogin, CaptchaHelper.CaptchaPayload captchaPayload, boolean z2, int i, Object obj) { if ((i & 1) != 0) { - str = null; + captchaPayload = null; } if ((i & 2) != 0) { z2 = false; } - widgetAuthLogin.login(str, z2); + widgetAuthLogin.login(captchaPayload, z2); + } + + public static /* synthetic */ void login$default(WidgetAuthLogin widgetAuthLogin, String str, String str2, CaptchaHelper.CaptchaPayload captchaPayload, boolean z2, int i, Object obj) { + if ((i & 4) != 0) { + captchaPayload = null; + } + if ((i & 8) != 0) { + z2 = false; + } + widgetAuthLogin.login(str, str2, captchaPayload, z2); } private final void onLoginSuccess(String str, String str2) { diff --git a/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterAccountInformation$captchaLauncher$1.java b/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterAccountInformation$captchaLauncher$1.java index 58d3108425..de71075141 100644 --- a/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterAccountInformation$captchaLauncher$1.java +++ b/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterAccountInformation$captchaLauncher$1.java @@ -1,12 +1,13 @@ package com.discord.widgets.auth; import com.discord.utilities.auth.RegistrationFlowRepo; +import com.discord.utilities.captcha.CaptchaHelper; import d0.z.d.m; import d0.z.d.o; import kotlin.Unit; import kotlin.jvm.functions.Function1; /* compiled from: WidgetAuthRegisterAccountInformation.kt */ -public final class WidgetAuthRegisterAccountInformation$captchaLauncher$1 extends o implements Function1 { +public final class WidgetAuthRegisterAccountInformation$captchaLauncher$1 extends o implements Function1 { public final /* synthetic */ WidgetAuthRegisterAccountInformation this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -18,14 +19,14 @@ public final class WidgetAuthRegisterAccountInformation$captchaLauncher$1 extend /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // kotlin.jvm.functions.Function1 - public /* bridge */ /* synthetic */ Unit invoke(String str) { - invoke(str); + public /* bridge */ /* synthetic */ Unit invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(captchaPayload); return Unit.a; } - public final void invoke(String str) { - m.checkNotNullParameter(str, "token"); + public final void invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + m.checkNotNullParameter(captchaPayload, "captchaPayload"); RegistrationFlowRepo.trackTransition$default(RegistrationFlowRepo.Companion.getINSTANCE(), "Captcha", "success", null, 4, null); - WidgetAuthRegisterAccountInformation.access$register(this.this$0, str); + WidgetAuthRegisterAccountInformation.access$register(this.this$0, captchaPayload); } } diff --git a/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterAccountInformation.java b/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterAccountInformation.java index 5c90fd0c7d..f44a05075d 100644 --- a/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterAccountInformation.java +++ b/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterAccountInformation.java @@ -19,6 +19,7 @@ import com.discord.stores.StoreStream; import com.discord.utilities.analytics.AnalyticsTracker; import com.discord.utilities.auth.RegistrationFlowRepo; import com.discord.utilities.birthday.BirthdayHelper; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.error.Error; import com.discord.utilities.rx.ObservableExtensionsKt; import com.discord.utilities.time.TimeUtils; @@ -72,8 +73,8 @@ public final class WidgetAuthRegisterAccountInformation extends AppFragment { return widgetAuthRegisterAccountInformation.isConsentRequired; } - public static final /* synthetic */ void access$register(WidgetAuthRegisterAccountInformation widgetAuthRegisterAccountInformation, String str) { - widgetAuthRegisterAccountInformation.register(str); + public static final /* synthetic */ void access$register(WidgetAuthRegisterAccountInformation widgetAuthRegisterAccountInformation, CaptchaHelper.CaptchaPayload captchaPayload) { + widgetAuthRegisterAccountInformation.register(captchaPayload); } public static final /* synthetic */ void access$setConsentRequired$p(WidgetAuthRegisterAccountInformation widgetAuthRegisterAccountInformation, boolean z2) { @@ -175,7 +176,7 @@ public final class WidgetAuthRegisterAccountInformation extends AppFragment { return true; } - private final void register(String str) { + private final void register(CaptchaHelper.CaptchaPayload captchaPayload) { if (!this.shouldValidateInputs || ValidationManager.validate$default(getValidationManager(), false, 1, null)) { RegistrationFlowRepo.Companion companion = RegistrationFlowRepo.Companion; if (companion.getINSTANCE().getBirthday() != null || !this.shouldShowAgeGate) { @@ -189,7 +190,7 @@ public final class WidgetAuthRegisterAccountInformation extends AppFragment { String phoneToken = companion.getINSTANCE().getPhoneToken(); TextInputLayout textInputLayout2 = getBinding().d; m.checkNotNullExpressionValue(textInputLayout2, "binding.authRegisterAccountInformationPasswordWrap"); - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(authentication.register(textOrEmpty, email, phoneToken, ViewExtensions.getTextOrEmpty(textInputLayout2), str, isConsented(), uTCDateTime), this, null, 2, null), WidgetAuthRegisterAccountInformation.class, getContext(), (Function1) null, new WidgetAuthRegisterAccountInformation$register$2(this), (Function0) null, (Function0) null, WidgetAuthRegisterAccountInformation$register$1.INSTANCE, 52, (Object) null); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(authentication.register(textOrEmpty, email, phoneToken, ViewExtensions.getTextOrEmpty(textInputLayout2), captchaPayload, isConsented(), uTCDateTime), this, null, 2, null), WidgetAuthRegisterAccountInformation.class, getContext(), (Function1) null, new WidgetAuthRegisterAccountInformation$register$2(this), (Function0) null, (Function0) null, WidgetAuthRegisterAccountInformation$register$1.INSTANCE, 52, (Object) null); return; } RegistrationFlowRepo.trackTransition$default(companion.getINSTANCE(), "Account Information", "success", null, 4, null); @@ -200,11 +201,11 @@ public final class WidgetAuthRegisterAccountInformation extends AppFragment { RegistrationFlowRepo.trackTransition$default(RegistrationFlowRepo.Companion.getINSTANCE(), "Account Information", "input_error", null, 4, null); } - public static /* synthetic */ void register$default(WidgetAuthRegisterAccountInformation widgetAuthRegisterAccountInformation, String str, int i, Object obj) { + public static /* synthetic */ void register$default(WidgetAuthRegisterAccountInformation widgetAuthRegisterAccountInformation, CaptchaHelper.CaptchaPayload captchaPayload, int i, Object obj) { if ((i & 1) != 0) { - str = null; + captchaPayload = null; } - widgetAuthRegisterAccountInformation.register(str); + widgetAuthRegisterAccountInformation.register(captchaPayload); } @Override // com.discord.app.AppFragment, com.discord.app.AppLogger.a diff --git a/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterIdentity$captchaLauncher$1.java b/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterIdentity$captchaLauncher$1.java index 0a6125d00b..8529a8f904 100644 --- a/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterIdentity$captchaLauncher$1.java +++ b/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterIdentity$captchaLauncher$1.java @@ -1,11 +1,12 @@ package com.discord.widgets.auth; +import com.discord.utilities.captcha.CaptchaHelper; import d0.z.d.m; import d0.z.d.o; import kotlin.Unit; import kotlin.jvm.functions.Function1; /* compiled from: WidgetAuthRegisterIdentity.kt */ -public final class WidgetAuthRegisterIdentity$captchaLauncher$1 extends o implements Function1 { +public final class WidgetAuthRegisterIdentity$captchaLauncher$1 extends o implements Function1 { public final /* synthetic */ WidgetAuthRegisterIdentity this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -17,13 +18,13 @@ public final class WidgetAuthRegisterIdentity$captchaLauncher$1 extends o implem /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // kotlin.jvm.functions.Function1 - public /* bridge */ /* synthetic */ Unit invoke(String str) { - invoke(str); + public /* bridge */ /* synthetic */ Unit invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(captchaPayload); return Unit.a; } - public final void invoke(String str) { - m.checkNotNullParameter(str, "token"); - WidgetAuthRegisterIdentity.access$registerViaPhone(this.this$0, str); + public final void invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + m.checkNotNullParameter(captchaPayload, "captchaPayload"); + WidgetAuthRegisterIdentity.access$registerViaPhone(this.this$0, captchaPayload); } } diff --git a/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterIdentity.java b/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterIdentity.java index 06be469f97..4b299e152d 100644 --- a/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterIdentity.java +++ b/app/src/main/java/com/discord/widgets/auth/WidgetAuthRegisterIdentity.java @@ -22,6 +22,7 @@ import com.discord.stores.updates.ObservationDeck; import com.discord.stores.updates.ObservationDeckProvider; import com.discord.stores.utilities.RestCallStateKt; import com.discord.utilities.auth.RegistrationFlowRepo; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.rest.RestAPI; import com.discord.utilities.rx.ObservableExtensionsKt; import com.discord.utilities.view.extensions.ViewExtensions; @@ -89,8 +90,8 @@ public final class WidgetAuthRegisterIdentity extends AppFragment { widgetAuthRegisterIdentity.handleNext(); } - public static final /* synthetic */ void access$registerViaPhone(WidgetAuthRegisterIdentity widgetAuthRegisterIdentity, String str) { - widgetAuthRegisterIdentity.registerViaPhone(str); + public static final /* synthetic */ void access$registerViaPhone(WidgetAuthRegisterIdentity widgetAuthRegisterIdentity, CaptchaHelper.CaptchaPayload captchaPayload) { + widgetAuthRegisterIdentity.registerViaPhone(captchaPayload); } public static final /* synthetic */ void access$setInputMode(WidgetAuthRegisterIdentity widgetAuthRegisterIdentity, PhoneOrEmailInputView.Mode mode) { @@ -183,17 +184,17 @@ public final class WidgetAuthRegisterIdentity extends AppFragment { j.e(requireContext(), WidgetAuthRegisterAccountInformation.class, null, 4); } - private final void registerViaPhone(String str) { + private final void registerViaPhone(CaptchaHelper.CaptchaPayload captchaPayload) { String textOrEmpty = getBinding().d.getTextOrEmpty(); RegistrationFlowRepo.Companion.getINSTANCE().setPhone(textOrEmpty); - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.withDimmer$default(ObservableExtensionsKt.ui$default(RestCallStateKt.logNetworkAction(ObservableExtensionsKt.restSubscribeOn$default(RestAPI.Companion.getApi().postAuthRegisterPhone(new RestAPIParams.AuthRegisterPhone(textOrEmpty, str)), false, 1, null), WidgetAuthRegisterIdentity$registerViaPhone$1.INSTANCE), this, null, 2, null), getBinding().h, 0, 2, null), WidgetAuthRegisterIdentity.class, getContext(), (Function1) null, new WidgetAuthRegisterIdentity$registerViaPhone$3(this), (Function0) null, (Function0) null, new WidgetAuthRegisterIdentity$registerViaPhone$2(this, textOrEmpty), 52, (Object) null); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.withDimmer$default(ObservableExtensionsKt.ui$default(RestCallStateKt.logNetworkAction(ObservableExtensionsKt.restSubscribeOn$default(RestAPI.Companion.getApi().postAuthRegisterPhone(new RestAPIParams.AuthRegisterPhone(textOrEmpty, captchaPayload != null ? captchaPayload.getCaptchaKey() : null, captchaPayload != null ? captchaPayload.getCaptchaRqtoken() : null)), false, 1, null), WidgetAuthRegisterIdentity$registerViaPhone$1.INSTANCE), this, null, 2, null), getBinding().h, 0, 2, null), WidgetAuthRegisterIdentity.class, getContext(), (Function1) null, new WidgetAuthRegisterIdentity$registerViaPhone$3(this), (Function0) null, (Function0) null, new WidgetAuthRegisterIdentity$registerViaPhone$2(this, textOrEmpty), 52, (Object) null); } - public static /* synthetic */ void registerViaPhone$default(WidgetAuthRegisterIdentity widgetAuthRegisterIdentity, String str, int i, Object obj) { + public static /* synthetic */ void registerViaPhone$default(WidgetAuthRegisterIdentity widgetAuthRegisterIdentity, CaptchaHelper.CaptchaPayload captchaPayload, int i, Object obj) { if ((i & 1) != 0) { - str = null; + captchaPayload = null; } - widgetAuthRegisterIdentity.registerViaPhone(str); + widgetAuthRegisterIdentity.registerViaPhone(captchaPayload); } private final void setInputMode(PhoneOrEmailInputView.Mode mode) { diff --git a/app/src/main/java/com/discord/widgets/auth/WidgetOauth2Authorize$captchaLauncher$1.java b/app/src/main/java/com/discord/widgets/auth/WidgetOauth2Authorize$captchaLauncher$1.java index fdd28f4f66..ca5816d220 100644 --- a/app/src/main/java/com/discord/widgets/auth/WidgetOauth2Authorize$captchaLauncher$1.java +++ b/app/src/main/java/com/discord/widgets/auth/WidgetOauth2Authorize$captchaLauncher$1.java @@ -1,11 +1,12 @@ package com.discord.widgets.auth; +import com.discord.utilities.captcha.CaptchaHelper; import d0.z.d.m; import d0.z.d.o; import kotlin.Unit; import kotlin.jvm.functions.Function1; /* compiled from: WidgetOauth2Authorize.kt */ -public final class WidgetOauth2Authorize$captchaLauncher$1 extends o implements Function1 { +public final class WidgetOauth2Authorize$captchaLauncher$1 extends o implements Function1 { public final /* synthetic */ WidgetOauth2Authorize this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -17,13 +18,13 @@ public final class WidgetOauth2Authorize$captchaLauncher$1 extends o implements /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // kotlin.jvm.functions.Function1 - public /* bridge */ /* synthetic */ Unit invoke(String str) { - invoke(str); + public /* bridge */ /* synthetic */ Unit invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(captchaPayload); return Unit.a; } - public final void invoke(String str) { - m.checkNotNullParameter(str, "token"); - WidgetOauth2Authorize.access$authorizeApplication(this.this$0, str); + public final void invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + m.checkNotNullParameter(captchaPayload, "captchaPayload"); + WidgetOauth2Authorize.access$authorizeApplication(this.this$0, captchaPayload); } } diff --git a/app/src/main/java/com/discord/widgets/auth/WidgetOauth2Authorize.java b/app/src/main/java/com/discord/widgets/auth/WidgetOauth2Authorize.java index 8712c4989e..a1df65eec0 100644 --- a/app/src/main/java/com/discord/widgets/auth/WidgetOauth2Authorize.java +++ b/app/src/main/java/com/discord/widgets/auth/WidgetOauth2Authorize.java @@ -226,11 +226,14 @@ public class WidgetOauth2Authorize extends AppFragment { return false; } - public static /* synthetic */ Observable post$default(OAuth2Authorize oAuth2Authorize, String str, int i, Object obj) { + public static /* synthetic */ Observable post$default(OAuth2Authorize oAuth2Authorize, String str, String str2, int i, Object obj) { if ((i & 1) != 0) { str = null; } - return oAuth2Authorize.post(str); + if ((i & 2) != 0) { + str2 = null; + } + return oAuth2Authorize.post(str, str2); } public final long component1() { @@ -364,8 +367,8 @@ public class WidgetOauth2Authorize extends AppFragment { return getHasBotPermission(); } - public final Observable post(String str) { - return RestAPI.Companion.getApi().postOauth2Authorize(String.valueOf(this.clientId), this.state, this.responseType, this.redirectUrl, this.prompt, this.scope, this.permissions, this.codeChallenge, this.codeChallengeMethod, h0.plus(g0.mapOf(o.to("authorize", "true")), str != null ? g0.mapOf(o.to(CaptchaHelper.CAPTCHA_KEY, str)) : h0.emptyMap())); + public final Observable post(String str, String str2) { + return RestAPI.Companion.getApi().postOauth2Authorize(String.valueOf(this.clientId), this.state, this.responseType, this.redirectUrl, this.prompt, this.scope, this.permissions, this.codeChallenge, this.codeChallengeMethod, h0.plus(h0.plus(g0.mapOf(o.to("authorize", "true")), str != null ? g0.mapOf(o.to(CaptchaHelper.CAPTCHA_KEY, str)) : h0.emptyMap()), str2 != null ? g0.mapOf(o.to("captcha_rqtoken", str2)) : h0.emptyMap())); } public String toString() { @@ -478,16 +481,16 @@ public class WidgetOauth2Authorize extends AppFragment { this.adapter = new SimpleRecyclerAdapter<>(null, WidgetOauth2Authorize$adapter$1.INSTANCE, 1, null); } - public static final /* synthetic */ void access$authorizeApplication(WidgetOauth2Authorize widgetOauth2Authorize, String str) { - widgetOauth2Authorize.authorizeApplication(str); + public static final /* synthetic */ void access$authorizeApplication(WidgetOauth2Authorize widgetOauth2Authorize, CaptchaHelper.CaptchaPayload captchaPayload) { + widgetOauth2Authorize.authorizeApplication(captchaPayload); } public static final /* synthetic */ ValidationManager access$getValidationManager$p(WidgetOauth2Authorize widgetOauth2Authorize) { return widgetOauth2Authorize.getValidationManager(); } - private final void authorizeApplication(String str) { - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(getOauth2ViewModel().getOauthAuthorize().post(str), false, 1, null), this, null, 2, null), getClass(), (Context) null, (Function1) null, new WidgetOauth2Authorize$authorizeApplication$1(this), (Function0) null, (Function0) null, new WidgetOauth2Authorize$authorizeApplication$2(this), 54, (Object) null); + private final void authorizeApplication(CaptchaHelper.CaptchaPayload captchaPayload) { + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(getOauth2ViewModel().getOauthAuthorize().post(captchaPayload != null ? captchaPayload.getCaptchaKey() : null, captchaPayload != null ? captchaPayload.getCaptchaRqtoken() : null), false, 1, null), this, null, 2, null), getClass(), (Context) null, (Function1) null, new WidgetOauth2Authorize$authorizeApplication$1(this), (Function0) null, (Function0) null, new WidgetOauth2Authorize$authorizeApplication$2(this), 54, (Object) null); } private final void configureAgeNoticeUI(long j) { diff --git a/app/src/main/java/com/discord/widgets/auth/WidgetOauth2AuthorizeSamsung$captchaLauncher$1.java b/app/src/main/java/com/discord/widgets/auth/WidgetOauth2AuthorizeSamsung$captchaLauncher$1.java index ecb0c3aa17..cdeba5b8c4 100644 --- a/app/src/main/java/com/discord/widgets/auth/WidgetOauth2AuthorizeSamsung$captchaLauncher$1.java +++ b/app/src/main/java/com/discord/widgets/auth/WidgetOauth2AuthorizeSamsung$captchaLauncher$1.java @@ -1,12 +1,13 @@ package com.discord.widgets.auth; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.widgets.auth.WidgetOauth2AuthorizeSamsung; import d0.z.d.m; import d0.z.d.o; import kotlin.Unit; import kotlin.jvm.functions.Function1; /* compiled from: WidgetOauth2AuthorizeSamsung.kt */ -public final class WidgetOauth2AuthorizeSamsung$captchaLauncher$1 extends o implements Function1 { +public final class WidgetOauth2AuthorizeSamsung$captchaLauncher$1 extends o implements Function1 { public final /* synthetic */ WidgetOauth2AuthorizeSamsung this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -18,16 +19,16 @@ public final class WidgetOauth2AuthorizeSamsung$captchaLauncher$1 extends o impl /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // kotlin.jvm.functions.Function1 - public /* bridge */ /* synthetic */ Unit invoke(String str) { - invoke(str); + public /* bridge */ /* synthetic */ Unit invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(captchaPayload); return Unit.a; } - public final void invoke(String str) { - m.checkNotNullParameter(str, "token"); + public final void invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + m.checkNotNullParameter(captchaPayload, "captchaPayload"); String access$getSamsungAuthCode$p = WidgetOauth2AuthorizeSamsung.access$getSamsungAuthCode$p(this.this$0); if (access$getSamsungAuthCode$p != null) { - WidgetOauth2AuthorizeSamsung.access$authorizeForSamsung(this.this$0, access$getSamsungAuthCode$p, str); + WidgetOauth2AuthorizeSamsung.access$authorizeForSamsung(this.this$0, access$getSamsungAuthCode$p, captchaPayload); } else { WidgetOauth2AuthorizeSamsung.Companion.logW$default(WidgetOauth2AuthorizeSamsung.Companion, "auth code not set", null, 2, null); } diff --git a/app/src/main/java/com/discord/widgets/auth/WidgetOauth2AuthorizeSamsung.java b/app/src/main/java/com/discord/widgets/auth/WidgetOauth2AuthorizeSamsung.java index 77b502963e..b6c32e87c6 100644 --- a/app/src/main/java/com/discord/widgets/auth/WidgetOauth2AuthorizeSamsung.java +++ b/app/src/main/java/com/discord/widgets/auth/WidgetOauth2AuthorizeSamsung.java @@ -14,6 +14,7 @@ import com.discord.app.AppLog; import com.discord.restapi.RestAPIParams; import com.discord.samsung.SamsungConnect$SamsungCallbackException; import com.discord.samsung.SamsungConnectActivity; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.rest.RestAPI; import com.discord.utilities.rx.ObservableExtensionsKt; import com.discord.widgets.auth.WidgetOauth2Authorize; @@ -100,8 +101,8 @@ public final class WidgetOauth2AuthorizeSamsung extends WidgetOauth2Authorize { this.samsungDisclaimerLauncher = registerForActivityResult2; } - public static final /* synthetic */ void access$authorizeForSamsung(WidgetOauth2AuthorizeSamsung widgetOauth2AuthorizeSamsung, String str, String str2) { - widgetOauth2AuthorizeSamsung.authorizeForSamsung(str, str2); + public static final /* synthetic */ void access$authorizeForSamsung(WidgetOauth2AuthorizeSamsung widgetOauth2AuthorizeSamsung, String str, CaptchaHelper.CaptchaPayload captchaPayload) { + widgetOauth2AuthorizeSamsung.authorizeForSamsung(str, captchaPayload); } public static final /* synthetic */ String access$getSamsungAuthCode$p(WidgetOauth2AuthorizeSamsung widgetOauth2AuthorizeSamsung) { @@ -128,8 +129,8 @@ public final class WidgetOauth2AuthorizeSamsung extends WidgetOauth2Authorize { widgetOauth2AuthorizeSamsung.samsungAuthCode = str; } - private final void authorizeForSamsung(String str, String str2) { - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(getOauth2ViewModel().getOauthAuthorize().post(str2), false, 1, null), this, null, 2, null), WidgetOauth2AuthorizeSamsung.class, (Context) null, (Function1) null, new WidgetOauth2AuthorizeSamsung$authorizeForSamsung$1(this), (Function0) null, (Function0) null, new WidgetOauth2AuthorizeSamsung$authorizeForSamsung$2(this, str), 54, (Object) null); + private final void authorizeForSamsung(String str, CaptchaHelper.CaptchaPayload captchaPayload) { + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(getOauth2ViewModel().getOauthAuthorize().post(captchaPayload != null ? captchaPayload.getCaptchaKey() : null, captchaPayload != null ? captchaPayload.getCaptchaRqtoken() : null), false, 1, null), this, null, 2, null), WidgetOauth2AuthorizeSamsung.class, (Context) null, (Function1) null, new WidgetOauth2AuthorizeSamsung$authorizeForSamsung$1(this), (Function0) null, (Function0) null, new WidgetOauth2AuthorizeSamsung$authorizeForSamsung$2(this, str), 54, (Object) null); } private final void handleConnectActivityFailure(SamsungConnectActivity.Result.Failure failure) { diff --git a/app/src/main/java/com/discord/widgets/captcha/WidgetCaptcha$Companion$registerForResult$1.java b/app/src/main/java/com/discord/widgets/captcha/WidgetCaptcha$Companion$registerForResult$1.java index 51e25139e0..7fba9431d0 100644 --- a/app/src/main/java/com/discord/widgets/captcha/WidgetCaptcha$Companion$registerForResult$1.java +++ b/app/src/main/java/com/discord/widgets/captcha/WidgetCaptcha$Companion$registerForResult$1.java @@ -3,6 +3,7 @@ package com.discord.widgets.captcha; import android.content.Intent; import androidx.activity.result.ActivityResult; import androidx.activity.result.ActivityResultCallback; +import com.discord.utilities.captcha.CaptchaHelper; import d0.z.d.m; import kotlin.jvm.functions.Function1; /* compiled from: WidgetCaptcha.kt */ @@ -17,9 +18,14 @@ public final class WidgetCaptcha$Companion$registerForResult$1 implements Act m.checkNotNullExpressionValue(activityResult, "activityResult"); if (activityResult.getResultCode() == -1) { Intent data = activityResult.getData(); - String stringExtra = data != null ? data.getStringExtra("RESULT_EXTRA_CAPTCHA") : null; + String str = null; + String stringExtra = data != null ? data.getStringExtra("RESULT_EXTRA_TOKEN") : null; + Intent data2 = activityResult.getData(); + if (data2 != null) { + str = data2.getStringExtra("RESULT_EXTRA_RQTOKEN"); + } if (stringExtra != null) { - this.$callback.invoke(stringExtra); + this.$callback.invoke(new CaptchaHelper.CaptchaPayload(stringExtra, str)); } } } diff --git a/app/src/main/java/com/discord/widgets/captcha/WidgetCaptcha.java b/app/src/main/java/com/discord/widgets/captcha/WidgetCaptcha.java index 69d3a320ab..ebe84355ed 100644 --- a/app/src/main/java/com/discord/widgets/captcha/WidgetCaptcha.java +++ b/app/src/main/java/com/discord/widgets/captcha/WidgetCaptcha.java @@ -31,7 +31,8 @@ public class WidgetCaptcha extends AppFragment { public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.b0(WidgetCaptcha.class, "binding", "getBinding()Lcom/discord/databinding/WidgetCaptchaBinding;", 0)}; public static final Companion Companion = new Companion(null); private static final String EXTRA_CAPTCHA_ERROR_BODY = "EXTRA_CAPTCHA_ERROR_BODY"; - private static final String RESULT_EXTRA_TOKEN = "RESULT_EXTRA_CAPTCHA"; + private static final String RESULT_EXTRA_RQTOKEN = "RESULT_EXTRA_RQTOKEN"; + private static final String RESULT_EXTRA_TOKEN = "RESULT_EXTRA_TOKEN"; private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetCaptcha$binding$2.INSTANCE, null, 2, null); /* compiled from: WidgetCaptcha.kt */ @@ -62,7 +63,7 @@ public class WidgetCaptcha extends AppFragment { } } - public final ActivityResultLauncher registerForResult(AppFragment appFragment, Function1 function1) { + public final ActivityResultLauncher registerForResult(AppFragment appFragment, Function1 function1) { m.checkNotNullParameter(appFragment, "fragment"); m.checkNotNullParameter(function1, "callback"); ActivityResultLauncher registerForActivityResult = appFragment.registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new WidgetCaptcha$Companion$registerForResult$1(function1)); @@ -83,10 +84,13 @@ public class WidgetCaptcha extends AppFragment { CaptchaHelper captchaHelper = CaptchaHelper.INSTANCE; String captchaToken = captchaHelper.getCaptchaToken(); if (captchaToken != null) { + String captchaRqtoken = captchaHelper.getCaptchaRqtoken(); captchaHelper.setCaptchaToken(null); + captchaHelper.setCaptchaRqtoken(null); trackTransition$default(this, "submitted", null, 2, null); Intent intent = new Intent(); intent.putExtra(RESULT_EXTRA_TOKEN, captchaToken); + intent.putExtra(RESULT_EXTRA_RQTOKEN, captchaRqtoken); activity.setResult(-1, intent); activity.finish(); } @@ -127,6 +131,8 @@ public class WidgetCaptcha extends AppFragment { CaptchaErrorBody captchaErrorBody = (CaptchaErrorBody) serializableExtra; String captchaSitekey = captchaErrorBody != null ? captchaErrorBody.getCaptchaSitekey() : null; CaptchaService captchaService = captchaErrorBody != null ? captchaErrorBody.getCaptchaService() : null; + String captchaRqdata = captchaErrorBody != null ? captchaErrorBody.getCaptchaRqdata() : null; + CaptchaHelper.INSTANCE.setCaptchaRqtoken(captchaErrorBody != null ? captchaErrorBody.getCaptchaRqtoken() : null); if (captchaSitekey == null || captchaService != CaptchaService.HCAPTCHA) { FragmentActivity requireActivity = requireActivity(); m.checkNotNullExpressionValue(requireActivity, "requireActivity()"); @@ -134,7 +140,7 @@ public class WidgetCaptcha extends AppFragment { } else { FragmentActivity requireActivity2 = requireActivity(); m.checkNotNullExpressionValue(requireActivity2, "requireActivity()"); - captchaRequest = new CaptchaHelper.CaptchaRequest.HCaptcha(captchaSitekey, requireActivity2); + captchaRequest = new CaptchaHelper.CaptchaRequest.HCaptcha(captchaSitekey, requireActivity2, captchaRqdata); } String string = captchaRequest instanceof CaptchaHelper.CaptchaRequest.HCaptcha ? getString(R.string.verify_by_hcaptcha) : getString(R.string.verify_by_recaptcha); m.checkNotNullExpressionValue(string, "when (captchaRequest) {\n…erify_by_recaptcha)\n }"); diff --git a/app/src/main/java/com/discord/widgets/captcha/WidgetCaptchaBottomSheet$Companion$enqueue$captchaNotice$1.java b/app/src/main/java/com/discord/widgets/captcha/WidgetCaptchaBottomSheet$Companion$enqueue$captchaNotice$1.java index 7e401831d3..3f634f98f2 100644 --- a/app/src/main/java/com/discord/widgets/captcha/WidgetCaptchaBottomSheet$Companion$enqueue$captchaNotice$1.java +++ b/app/src/main/java/com/discord/widgets/captcha/WidgetCaptchaBottomSheet$Companion$enqueue$captchaNotice$1.java @@ -21,7 +21,7 @@ import kotlin.jvm.functions.Function2; public final class WidgetCaptchaBottomSheet$Companion$enqueue$captchaNotice$1 extends o implements Function1 { public final /* synthetic */ CaptchaErrorBody $error; public final /* synthetic */ Function0 $onCaptchaAttemptFailed; - public final /* synthetic */ Function2 $onCaptchaTokenReceived; + public final /* synthetic */ Function2 $onCaptchaPayloadReceived; public final /* synthetic */ String $requestKey; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -30,7 +30,7 @@ public final class WidgetCaptchaBottomSheet$Companion$enqueue$captchaNotice$1 ex this.$requestKey = str; this.$error = captchaErrorBody; this.$onCaptchaAttemptFailed = function0; - this.$onCaptchaTokenReceived = function2; + this.$onCaptchaPayloadReceived = function2; } /* Return type fixed from 'java.lang.Object' to match base method */ @@ -67,7 +67,7 @@ public final class WidgetCaptchaBottomSheet$Companion$enqueue$captchaNotice$1 ex if (fragment == null) { return true; } - WidgetCaptchaBottomSheet.Companion.registerForResult((AppFragment) fragment, this.$requestKey, this.$onCaptchaTokenReceived); + WidgetCaptchaBottomSheet.Companion.registerForResult((AppFragment) fragment, this.$requestKey, this.$onCaptchaPayloadReceived); return true; } } diff --git a/app/src/main/java/com/discord/widgets/captcha/WidgetCaptchaBottomSheet$Companion$registerForResult$1.java b/app/src/main/java/com/discord/widgets/captcha/WidgetCaptchaBottomSheet$Companion$registerForResult$1.java index d365840dcf..6dc455b91d 100644 --- a/app/src/main/java/com/discord/widgets/captcha/WidgetCaptchaBottomSheet$Companion$registerForResult$1.java +++ b/app/src/main/java/com/discord/widgets/captcha/WidgetCaptchaBottomSheet$Companion$registerForResult$1.java @@ -2,6 +2,7 @@ package com.discord.widgets.captcha; import android.os.Bundle; import com.discord.app.AppFragment; +import com.discord.utilities.captcha.CaptchaHelper; import d0.z.d.m; import d0.z.d.o; import kotlin.Unit; @@ -9,14 +10,14 @@ import kotlin.jvm.functions.Function2; /* compiled from: WidgetCaptchaBottomSheet.kt */ public final class WidgetCaptchaBottomSheet$Companion$registerForResult$1 extends o implements Function2 { public final /* synthetic */ AppFragment $fragment; - public final /* synthetic */ Function2 $onCaptchaTokenReceived; + public final /* synthetic */ Function2 $onCaptchaPayloadReceived; public final /* synthetic */ String $requestKey; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public WidgetCaptchaBottomSheet$Companion$registerForResult$1(String str, Function2 function2, AppFragment appFragment) { super(2); this.$requestKey = str; - this.$onCaptchaTokenReceived = function2; + this.$onCaptchaPayloadReceived = function2; this.$fragment = appFragment; } @@ -29,11 +30,14 @@ public final class WidgetCaptchaBottomSheet$Companion$registerForResult$1 extend } public final void invoke(String str, Bundle bundle) { - String string; m.checkNotNullParameter(str, "resultRequestKey"); m.checkNotNullParameter(bundle, "bundle"); - if (m.areEqual(this.$requestKey, str) && (string = bundle.getString("INTENT_EXTRA_CAPTCHA_TOKEN", "")) != null && (!m.areEqual(string, ""))) { - this.$onCaptchaTokenReceived.invoke(this.$fragment, string); + if (m.areEqual(this.$requestKey, str)) { + String string = bundle.getString("INTENT_EXTRA_CAPTCHA_TOKEN", ""); + String string2 = bundle.getString("INTENT_EXTRA_CAPTCHA_RQTOKEN", ""); + if (string != null && (!m.areEqual(string, ""))) { + this.$onCaptchaPayloadReceived.invoke(this.$fragment, new CaptchaHelper.CaptchaPayload(string, string2)); + } } } } diff --git a/app/src/main/java/com/discord/widgets/captcha/WidgetCaptchaBottomSheet.java b/app/src/main/java/com/discord/widgets/captcha/WidgetCaptchaBottomSheet.java index ff1feb8612..b86e07f7d5 100644 --- a/app/src/main/java/com/discord/widgets/captcha/WidgetCaptchaBottomSheet.java +++ b/app/src/main/java/com/discord/widgets/captcha/WidgetCaptchaBottomSheet.java @@ -47,6 +47,7 @@ public final class WidgetCaptchaBottomSheet extends AppBottomSheet { private static final String ARG_REQUEST_KEY = "INTENT_EXTRA_REQUEST_CODE"; public static final Companion Companion = new Companion(null); private static final String NOTICE_NAME = "captcha notice"; + private static final String RESULT_EXTRA_CAPTCHA_RQTOKEN = "INTENT_EXTRA_CAPTCHA_RQTOKEN"; private static final String RESULT_EXTRA_CAPTCHA_TOKEN = "INTENT_EXTRA_CAPTCHA_TOKEN"; private static final List> resolvableFragments = n.listOf((Object[]) new c[]{a0.getOrCreateKotlinClass(WidgetTabsHost.class), a0.getOrCreateKotlinClass(WidgetIncomingShare.class)}); private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetCaptchaBottomSheet$binding$2.INSTANCE, null, 2, null); @@ -82,16 +83,16 @@ public final class WidgetCaptchaBottomSheet extends AppBottomSheet { companion.show(fragmentManager, str, captchaErrorBody, function0); } - public final void enqueue(String str, Function2 function2, Function0 function0, CaptchaErrorBody captchaErrorBody) { + public final void enqueue(String str, Function2 function2, Function0 function0, CaptchaErrorBody captchaErrorBody) { m.checkNotNullParameter(str, "requestKey"); - m.checkNotNullParameter(function2, "onCaptchaTokenReceived"); + m.checkNotNullParameter(function2, "onCaptchaPayloadReceived"); StoreStream.Companion.getNotices().requestToShow(new StoreNotices.Notice(WidgetCaptchaBottomSheet.NOTICE_NAME, null, 0, 0, false, WidgetCaptchaBottomSheet.access$getResolvableFragments$cp(), 0, false, 0, new WidgetCaptchaBottomSheet$Companion$enqueue$captchaNotice$1(str, captchaErrorBody, function0, function2), FontUtils.MAX_FONT_SCALING, null)); } - public final void registerForResult(AppFragment appFragment, String str, Function2 function2) { + public final void registerForResult(AppFragment appFragment, String str, Function2 function2) { m.checkNotNullParameter(appFragment, "fragment"); m.checkNotNullParameter(str, "requestKey"); - m.checkNotNullParameter(function2, "onCaptchaTokenReceived"); + m.checkNotNullParameter(function2, "onCaptchaPayloadReceived"); FragmentKt.setFragmentResultListener(appFragment, str, new WidgetCaptchaBottomSheet$Companion$registerForResult$1(str, function2, appFragment)); } @@ -161,10 +162,13 @@ public final class WidgetCaptchaBottomSheet extends AppBottomSheet { CaptchaHelper captchaHelper = CaptchaHelper.INSTANCE; String captchaToken = captchaHelper.getCaptchaToken(); if (captchaToken != null) { + String captchaRqtoken = captchaHelper.getCaptchaRqtoken(); captchaHelper.setCaptchaToken(null); + captchaHelper.setCaptchaRqtoken(null); String requestCode = getRequestCode(); Bundle bundle = new Bundle(); bundle.putString(RESULT_EXTRA_CAPTCHA_TOKEN, captchaToken); + bundle.putString(RESULT_EXTRA_CAPTCHA_RQTOKEN, captchaRqtoken); FragmentKt.setFragmentResult(this, requestCode, bundle); dismiss(); } @@ -186,6 +190,10 @@ public final class WidgetCaptchaBottomSheet extends AppBottomSheet { CaptchaHelper.CaptchaRequest captchaRequest; String captchaSitekey = getCaptchaErrorBody().getCaptchaSitekey(); CaptchaService captchaService = getCaptchaErrorBody().getCaptchaService(); + String captchaRqdata = getCaptchaErrorBody().getCaptchaRqdata(); + String captchaRqtoken = getCaptchaErrorBody().getCaptchaRqtoken(); + CaptchaHelper captchaHelper = CaptchaHelper.INSTANCE; + captchaHelper.setCaptchaRqtoken(captchaRqtoken); if (captchaSitekey == null || captchaService != CaptchaService.HCAPTCHA) { FragmentActivity requireActivity = requireActivity(); m.checkNotNullExpressionValue(requireActivity, "requireActivity()"); @@ -193,9 +201,9 @@ public final class WidgetCaptchaBottomSheet extends AppBottomSheet { } else { FragmentActivity requireActivity2 = requireActivity(); m.checkNotNullExpressionValue(requireActivity2, "requireActivity()"); - captchaRequest = new CaptchaHelper.CaptchaRequest.HCaptcha(captchaSitekey, requireActivity2); + captchaRequest = new CaptchaHelper.CaptchaRequest.HCaptcha(captchaSitekey, requireActivity2, captchaRqdata); } - ObservableExtensionsKt.appSubscribe$default(CaptchaHelper.INSTANCE.tryShowCaptcha(captchaRequest), WidgetCaptchaBottomSheet.class, (Context) null, (Function1) null, new WidgetCaptchaBottomSheet$openCaptcha$2(this), (Function0) null, (Function0) null, new WidgetCaptchaBottomSheet$openCaptcha$1(this), 54, (Object) null); + ObservableExtensionsKt.appSubscribe$default(captchaHelper.tryShowCaptcha(captchaRequest), WidgetCaptchaBottomSheet.class, (Context) null, (Function1) null, new WidgetCaptchaBottomSheet$openCaptcha$2(this), (Function0) null, (Function0) null, new WidgetCaptchaBottomSheet$openCaptcha$1(this), 54, (Object) null); } @Override // com.discord.app.AppBottomSheet diff --git a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java index db29d6b59c..2cf65b493a 100644 --- a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java +++ b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java @@ -25,6 +25,7 @@ import com.discord.api.permission.Permission; import com.discord.api.role.GuildRole; import com.discord.api.user.User; import com.discord.api.utcdatetime.UtcDateTime; +import com.discord.app.AppLog; import com.discord.models.member.GuildMember; import com.discord.models.message.Message; import com.discord.models.user.CoreUser; @@ -37,6 +38,7 @@ import com.discord.utilities.color.ColorCompat; import com.discord.utilities.guilds.PublicGuildUtils; import com.discord.utilities.icon.IconUtils; import com.discord.utilities.images.MGImages; +import com.discord.utilities.logging.Logger; import com.discord.utilities.message.MessageUtils; import com.discord.utilities.permissions.PermissionUtils; import com.discord.utilities.textprocessing.DiscordParser; @@ -398,8 +400,11 @@ public final class WidgetChatListAdapterItemMessage extends WidgetChatListItem { configureReplyLayoutDirection(); } else if (message2.hasStickers()) { configureReplyContentWithResourceId(R.string.reply_quote_sticker_mobile); - } else if (message2.hasAttachments() || message2.hasEmbeds()) { + } else if (message2.hasAttachments() || message2.shouldShowReplyPreviewAsAttachment() || message2.hasEmbeds()) { configureReplyContentWithResourceId(R.string.reply_quote_no_text_content_mobile); + } else { + AppLog appLog = AppLog.g; + Logger.e$default(appLog, "Unhandled reply preview: " + messageEntry2, null, null, 6, null); } } } diff --git a/app/src/main/java/com/discord/widgets/contact_sync/WidgetContactSync$captchaLauncher$1.java b/app/src/main/java/com/discord/widgets/contact_sync/WidgetContactSync$captchaLauncher$1.java index a6f570873f..735cadd021 100644 --- a/app/src/main/java/com/discord/widgets/contact_sync/WidgetContactSync$captchaLauncher$1.java +++ b/app/src/main/java/com/discord/widgets/contact_sync/WidgetContactSync$captchaLauncher$1.java @@ -1,11 +1,12 @@ package com.discord.widgets.contact_sync; +import com.discord.utilities.captcha.CaptchaHelper; import d0.z.d.m; import d0.z.d.o; import kotlin.Unit; import kotlin.jvm.functions.Function1; /* compiled from: WidgetContactSync.kt */ -public final class WidgetContactSync$captchaLauncher$1 extends o implements Function1 { +public final class WidgetContactSync$captchaLauncher$1 extends o implements Function1 { public final /* synthetic */ WidgetContactSync this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -17,13 +18,13 @@ public final class WidgetContactSync$captchaLauncher$1 extends o implements Func /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // kotlin.jvm.functions.Function1 - public /* bridge */ /* synthetic */ Unit invoke(String str) { - invoke(str); + public /* bridge */ /* synthetic */ Unit invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(captchaPayload); return Unit.a; } - public final void invoke(String str) { - m.checkNotNullParameter(str, "token"); - WidgetContactSync.access$submitPhoneNumber(this.this$0, str); + public final void invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + m.checkNotNullParameter(captchaPayload, "captchaPayload"); + WidgetContactSync.access$submitPhoneNumber(this.this$0, captchaPayload); } } diff --git a/app/src/main/java/com/discord/widgets/contact_sync/WidgetContactSync.java b/app/src/main/java/com/discord/widgets/contact_sync/WidgetContactSync.java index b3492b1b77..4b6f114175 100644 --- a/app/src/main/java/com/discord/widgets/contact_sync/WidgetContactSync.java +++ b/app/src/main/java/com/discord/widgets/contact_sync/WidgetContactSync.java @@ -24,6 +24,7 @@ import com.discord.app.LoggingConfig; import com.discord.databinding.WidgetContactSyncBinding; import com.discord.utilities.accessibility.AccessibilityUtils; import com.discord.utilities.analytics.AnalyticsTracker; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.contacts.ContactsProviderUtils; import com.discord.utilities.error.Error; import com.discord.utilities.mg_recycler.MGRecyclerAdapter; @@ -160,8 +161,8 @@ public final class WidgetContactSync extends AppFragment { widgetContactSync.displayedChildIndex = i; } - public static final /* synthetic */ void access$submitPhoneNumber(WidgetContactSync widgetContactSync, String str) { - widgetContactSync.submitPhoneNumber(str); + public static final /* synthetic */ void access$submitPhoneNumber(WidgetContactSync widgetContactSync, CaptchaHelper.CaptchaPayload captchaPayload) { + widgetContactSync.submitPhoneNumber(captchaPayload); } private final void configureToolbar(WidgetContactSyncViewModel.ToolbarConfig toolbarConfig) { @@ -357,15 +358,15 @@ public final class WidgetContactSync extends AppFragment { requestContacts(new WidgetContactSync$requestContactsPermissions$1(this), new WidgetContactSync$requestContactsPermissions$2(this)); } - private final void submitPhoneNumber(String str) { - getViewModel().onPhoneNumberSubmitted(getBinding().f2338b.f120b.getTextOrEmpty(), str); + private final void submitPhoneNumber(CaptchaHelper.CaptchaPayload captchaPayload) { + getViewModel().onPhoneNumberSubmitted(getBinding().f2338b.f120b.getTextOrEmpty(), captchaPayload); } - public static /* synthetic */ void submitPhoneNumber$default(WidgetContactSync widgetContactSync, String str, int i, Object obj) { + public static /* synthetic */ void submitPhoneNumber$default(WidgetContactSync widgetContactSync, CaptchaHelper.CaptchaPayload captchaPayload, int i, Object obj) { if ((i & 1) != 0) { - str = null; + captchaPayload = null; } - widgetContactSync.submitPhoneNumber(str); + widgetContactSync.submitPhoneNumber(captchaPayload); } @Override // com.discord.app.AppFragment, com.discord.app.AppLogger.a diff --git a/app/src/main/java/com/discord/widgets/contact_sync/WidgetContactSyncViewModel.java b/app/src/main/java/com/discord/widgets/contact_sync/WidgetContactSyncViewModel.java index 9f699da09f..4866ba0377 100644 --- a/app/src/main/java/com/discord/widgets/contact_sync/WidgetContactSyncViewModel.java +++ b/app/src/main/java/com/discord/widgets/contact_sync/WidgetContactSyncViewModel.java @@ -21,6 +21,7 @@ import com.discord.stores.updates.ObservationDeck; import com.discord.stores.updates.ObservationDeckProvider; import com.discord.stores.utilities.RestCallStateKt; import com.discord.utilities.analytics.AnalyticsTracker; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.error.Error; import com.discord.utilities.mg_recycler.MGRecyclerAdapterSimple; import com.discord.utilities.mg_recycler.MGRecyclerDataPayload; @@ -1315,9 +1316,9 @@ public final class WidgetContactSyncViewModel extends AppViewModel { } @MainThread - public final void onPhoneNumberSubmitted(String str, String str2) { + public final void onPhoneNumberSubmitted(String str, CaptchaHelper.CaptchaPayload captchaPayload) { m.checkNotNullParameter(str, "phoneNumber"); - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(this.restAPI.userAddPhone(new RestAPIParams.Phone(str, WidgetUserPhoneManage.Companion.Source.CONTACT_SYNC.getSource(), str2)), false, 1, null), this, null, 2, null), WidgetContactSyncViewModel.class, (Context) null, (Function1) null, new WidgetContactSyncViewModel$onPhoneNumberSubmitted$2(this), (Function0) null, (Function0) null, new WidgetContactSyncViewModel$onPhoneNumberSubmitted$1(this), 54, (Object) null); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(this.restAPI.userAddPhone(new RestAPIParams.Phone(str, WidgetUserPhoneManage.Companion.Source.CONTACT_SYNC.getSource(), captchaPayload != null ? captchaPayload.getCaptchaKey() : null, captchaPayload != null ? captchaPayload.getCaptchaRqtoken() : null)), false, 1, null), this, null, 2, null), WidgetContactSyncViewModel.class, (Context) null, (Function1) null, new WidgetContactSyncViewModel$onPhoneNumberSubmitted$2(this), (Function0) null, (Function0) null, new WidgetContactSyncViewModel$onPhoneNumberSubmitted$1(this), 54, (Object) null); } @MainThread diff --git a/app/src/main/java/com/discord/widgets/friends/FriendsListViewModel.java b/app/src/main/java/com/discord/widgets/friends/FriendsListViewModel.java index 1df7a49646..684203a628 100644 --- a/app/src/main/java/com/discord/widgets/friends/FriendsListViewModel.java +++ b/app/src/main/java/com/discord/widgets/friends/FriendsListViewModel.java @@ -22,6 +22,7 @@ import com.discord.stores.StoreUserPresence; import com.discord.stores.StoreUserRelationships; import com.discord.stores.updates.ObservationDeck; import com.discord.stores.updates.ObservationDeckProvider; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.error.Error; import com.discord.utilities.mg_recycler.MGRecyclerDataPayload; import com.discord.utilities.rest.RestAPI; @@ -1508,11 +1509,11 @@ public final class FriendsListViewModel extends AppViewModel { this((i & 1) != 0 ? Companion.observeStores() : observable, (i & 2) != 0 ? StoreStream.Companion.getChannels() : storeChannels, (i & 4) != 0 ? RestAPI.Companion.getApi() : restAPI); } - public static /* synthetic */ void acceptFriendSuggestion$default(FriendsListViewModel friendsListViewModel, String str, int i, String str2, int i2, Object obj) { + public static /* synthetic */ void acceptFriendSuggestion$default(FriendsListViewModel friendsListViewModel, String str, int i, CaptchaHelper.CaptchaPayload captchaPayload, int i2, Object obj) { if ((i2 & 4) != 0) { - str2 = null; + captchaPayload = null; } - friendsListViewModel.acceptFriendSuggestion(str, i, str2); + friendsListViewModel.acceptFriendSuggestion(str, i, captchaPayload); } public static final /* synthetic */ void access$emitCaptchaErrorEvent(FriendsListViewModel friendsListViewModel, Error error, String str, int i) { @@ -1718,9 +1719,9 @@ public final class FriendsListViewModel extends AppViewModel { ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(RestAPI.addRelationship$default(this.restAPI, LOCATION, j, null, null, null, 28, null), false, 1, null), this, null, 2, null), FriendsListViewModel.class, (Context) null, (Function1) null, new FriendsListViewModel$acceptFriendRequest$2(this, str), (Function0) null, (Function0) null, new FriendsListViewModel$acceptFriendRequest$1(this), 54, (Object) null); } - public final void acceptFriendSuggestion(String str, int i, String str2) { + public final void acceptFriendSuggestion(String str, int i, CaptchaHelper.CaptchaPayload captchaPayload) { m.checkNotNullParameter(str, "username"); - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(RestAPI.Companion.getApi().sendRelationshipRequest("Friends List - Friend Suggestion", str, i, str2), false, 1, null), this, null, 2, null), FriendsListViewModel.class, (Context) null, (Function1) null, new FriendsListViewModel$acceptFriendSuggestion$2(this, str, i), (Function0) null, (Function0) null, FriendsListViewModel$acceptFriendSuggestion$1.INSTANCE, 54, (Object) null); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(RestAPI.Companion.getApi().sendRelationshipRequest("Friends List - Friend Suggestion", str, i, captchaPayload), false, 1, null), this, null, 2, null), FriendsListViewModel.class, (Context) null, (Function1) null, new FriendsListViewModel$acceptFriendSuggestion$2(this, str, i), (Function0) null, (Function0) null, FriendsListViewModel$acceptFriendSuggestion$1.INSTANCE, 54, (Object) null); } @MainThread diff --git a/app/src/main/java/com/discord/widgets/friends/WidgetFriendsAddById$captchaLauncher$1.java b/app/src/main/java/com/discord/widgets/friends/WidgetFriendsAddById$captchaLauncher$1.java index 874a6e0cd1..29e7fa7c9e 100644 --- a/app/src/main/java/com/discord/widgets/friends/WidgetFriendsAddById$captchaLauncher$1.java +++ b/app/src/main/java/com/discord/widgets/friends/WidgetFriendsAddById$captchaLauncher$1.java @@ -1,11 +1,12 @@ package com.discord.widgets.friends; +import com.discord.utilities.captcha.CaptchaHelper; import d0.z.d.m; import d0.z.d.o; import kotlin.Unit; import kotlin.jvm.functions.Function1; /* compiled from: WidgetFriendsAddById.kt */ -public final class WidgetFriendsAddById$captchaLauncher$1 extends o implements Function1 { +public final class WidgetFriendsAddById$captchaLauncher$1 extends o implements Function1 { public final /* synthetic */ WidgetFriendsAddById this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -17,13 +18,13 @@ public final class WidgetFriendsAddById$captchaLauncher$1 extends o implements F /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // kotlin.jvm.functions.Function1 - public /* bridge */ /* synthetic */ Unit invoke(String str) { - invoke(str); + public /* bridge */ /* synthetic */ Unit invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(captchaPayload); return Unit.a; } - public final void invoke(String str) { - m.checkNotNullParameter(str, "token"); - WidgetFriendsAddById.access$extractTargetAndSendFriendRequest(this.this$0, str); + public final void invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + m.checkNotNullParameter(captchaPayload, "captchaPayload"); + WidgetFriendsAddById.access$extractTargetAndSendFriendRequest(this.this$0, captchaPayload); } } diff --git a/app/src/main/java/com/discord/widgets/friends/WidgetFriendsAddById.java b/app/src/main/java/com/discord/widgets/friends/WidgetFriendsAddById.java index a3383a0e2f..6f188b49c0 100644 --- a/app/src/main/java/com/discord/widgets/friends/WidgetFriendsAddById.java +++ b/app/src/main/java/com/discord/widgets/friends/WidgetFriendsAddById.java @@ -21,6 +21,7 @@ import com.discord.models.user.User; import com.discord.stores.StoreStream; import com.discord.utilities.analytics.AnalyticsTracker; import com.discord.utilities.captcha.CaptchaErrorBody; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.color.ColorCompat; import com.discord.utilities.error.Error; import com.discord.utilities.rest.RestAPI; @@ -144,8 +145,8 @@ public final class WidgetFriendsAddById extends AppFragment { super(R.layout.widget_friends_add_by_id); } - public static final /* synthetic */ void access$extractTargetAndSendFriendRequest(WidgetFriendsAddById widgetFriendsAddById, String str) { - widgetFriendsAddById.extractTargetAndSendFriendRequest(str); + public static final /* synthetic */ void access$extractTargetAndSendFriendRequest(WidgetFriendsAddById widgetFriendsAddById, CaptchaHelper.CaptchaPayload captchaPayload) { + widgetFriendsAddById.extractTargetAndSendFriendRequest(captchaPayload); } public static final /* synthetic */ WidgetFriendsAddByIdBinding access$getBinding$p(WidgetFriendsAddById widgetFriendsAddById) { @@ -164,13 +165,13 @@ public final class WidgetFriendsAddById extends AppFragment { widgetFriendsAddById.setInputEditError(charSequence); } - private final void extractTargetAndSendFriendRequest(String str) { + private final void extractTargetAndSendFriendRequest(CaptchaHelper.CaptchaPayload captchaPayload) { TextInputLayout textInputLayout = getBinding().e; m.checkNotNullExpressionValue(textInputLayout, "binding.friendsAddTextEditWrap"); String textOrEmpty = ViewExtensions.getTextOrEmpty(textInputLayout); Companion.UserNameDiscriminator access$extractUsernameAndDiscriminator = Companion.access$extractUsernameAndDiscriminator(Companion, textOrEmpty); if (access$extractUsernameAndDiscriminator.getDiscriminator() != null) { - sendFriendRequest(access$extractUsernameAndDiscriminator.getUsername(), access$extractUsernameAndDiscriminator.getDiscriminator().intValue(), str); + sendFriendRequest(access$extractUsernameAndDiscriminator.getUsername(), access$extractUsernameAndDiscriminator.getDiscriminator().intValue(), captchaPayload); return; } Context context = getContext(); @@ -182,11 +183,11 @@ public final class WidgetFriendsAddById extends AppFragment { AnalyticsTracker.INSTANCE.friendRequestFailed(textOrEmpty, access$extractUsernameAndDiscriminator.getUsername(), access$extractUsernameAndDiscriminator.getDiscriminator(), "Invalid Username"); } - public static /* synthetic */ void extractTargetAndSendFriendRequest$default(WidgetFriendsAddById widgetFriendsAddById, String str, int i, Object obj) { + public static /* synthetic */ void extractTargetAndSendFriendRequest$default(WidgetFriendsAddById widgetFriendsAddById, CaptchaHelper.CaptchaPayload captchaPayload, int i, Object obj) { if ((i & 1) != 0) { - str = null; + captchaPayload = null; } - widgetFriendsAddById.extractTargetAndSendFriendRequest(str); + widgetFriendsAddById.extractTargetAndSendFriendRequest(captchaPayload); } private final WidgetFriendsAddByIdBinding getBinding() { @@ -208,15 +209,15 @@ public final class WidgetFriendsAddById extends AppFragment { WidgetCaptcha.Companion.launch(requireContext(), this.captchaLauncher, CaptchaErrorBody.Companion.createFromError(error)); } - private final void sendFriendRequest(String str, int i, String str2) { - ObservableExtensionsKt.ui$default(RestAPI.Companion.getApi().sendRelationshipRequest("Search - Add Friend Search", str, i, str2), this, null, 2, null).k(o.h(new WidgetFriendsAddById$sendFriendRequest$1(this, str), getAppActivity(), new WidgetFriendsAddById$sendFriendRequest$2(this, str, i))); + private final void sendFriendRequest(String str, int i, CaptchaHelper.CaptchaPayload captchaPayload) { + ObservableExtensionsKt.ui$default(RestAPI.Companion.getApi().sendRelationshipRequest("Search - Add Friend Search", str, i, captchaPayload), this, null, 2, null).k(o.h(new WidgetFriendsAddById$sendFriendRequest$1(this, str), getAppActivity(), new WidgetFriendsAddById$sendFriendRequest$2(this, str, i))); } - public static /* synthetic */ void sendFriendRequest$default(WidgetFriendsAddById widgetFriendsAddById, String str, int i, String str2, int i2, Object obj) { + public static /* synthetic */ void sendFriendRequest$default(WidgetFriendsAddById widgetFriendsAddById, String str, int i, CaptchaHelper.CaptchaPayload captchaPayload, int i2, Object obj) { if ((i2 & 4) != 0) { - str2 = null; + captchaPayload = null; } - widgetFriendsAddById.sendFriendRequest(str, i, str2); + widgetFriendsAddById.sendFriendRequest(str, i, captchaPayload); } private final void setInputEditError(CharSequence charSequence) { diff --git a/app/src/main/java/com/discord/widgets/friends/WidgetFriendsFindNearby$captchaLauncher$1.java b/app/src/main/java/com/discord/widgets/friends/WidgetFriendsFindNearby$captchaLauncher$1.java index b7c0fa86e2..34b544d390 100644 --- a/app/src/main/java/com/discord/widgets/friends/WidgetFriendsFindNearby$captchaLauncher$1.java +++ b/app/src/main/java/com/discord/widgets/friends/WidgetFriendsFindNearby$captchaLauncher$1.java @@ -1,11 +1,12 @@ package com.discord.widgets.friends; +import com.discord.utilities.captcha.CaptchaHelper; import d0.z.d.m; import d0.z.d.o; import kotlin.Unit; import kotlin.jvm.functions.Function1; /* compiled from: WidgetFriendsFindNearby.kt */ -public final class WidgetFriendsFindNearby$captchaLauncher$1 extends o implements Function1 { +public final class WidgetFriendsFindNearby$captchaLauncher$1 extends o implements Function1 { public final /* synthetic */ WidgetFriendsFindNearby this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -17,17 +18,17 @@ public final class WidgetFriendsFindNearby$captchaLauncher$1 extends o implement /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // kotlin.jvm.functions.Function1 - public /* bridge */ /* synthetic */ Unit invoke(String str) { - invoke(str); + public /* bridge */ /* synthetic */ Unit invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(captchaPayload); return Unit.a; } - public final void invoke(String str) { + public final void invoke(CaptchaHelper.CaptchaPayload captchaPayload) { Integer discriminator; - m.checkNotNullParameter(str, "token"); + m.checkNotNullParameter(captchaPayload, "token"); String username = WidgetFriendsFindNearby.access$getViewModel$p(this.this$0).getUsername(); if (username != null && (discriminator = WidgetFriendsFindNearby.access$getViewModel$p(this.this$0).getDiscriminator()) != null) { - WidgetFriendsFindNearby.access$sendFriendRequest(this.this$0, username, discriminator.intValue(), str); + WidgetFriendsFindNearby.access$sendFriendRequest(this.this$0, username, discriminator.intValue(), captchaPayload); } } } diff --git a/app/src/main/java/com/discord/widgets/friends/WidgetFriendsFindNearby.java b/app/src/main/java/com/discord/widgets/friends/WidgetFriendsFindNearby.java index 0428112778..ba019c009c 100644 --- a/app/src/main/java/com/discord/widgets/friends/WidgetFriendsFindNearby.java +++ b/app/src/main/java/com/discord/widgets/friends/WidgetFriendsFindNearby.java @@ -22,6 +22,7 @@ import com.discord.stores.StoreStream; import com.discord.utilities.accessibility.AccessibilityUtils; import com.discord.utilities.analytics.AnalyticsTracker; import com.discord.utilities.captcha.CaptchaErrorBody; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.color.ColorCompat; import com.discord.utilities.dimen.DimenUtils; import com.discord.utilities.error.Error; @@ -257,8 +258,8 @@ public final class WidgetFriendsFindNearby extends AppFragment { widgetFriendsFindNearby.launchCaptchaFlow(error); } - public static final /* synthetic */ void access$sendFriendRequest(WidgetFriendsFindNearby widgetFriendsFindNearby, String str, int i, String str2) { - widgetFriendsFindNearby.sendFriendRequest(str, i, str2); + public static final /* synthetic */ void access$sendFriendRequest(WidgetFriendsFindNearby widgetFriendsFindNearby, String str, int i, CaptchaHelper.CaptchaPayload captchaPayload) { + widgetFriendsFindNearby.sendFriendRequest(str, i, captchaPayload); } public static final /* synthetic */ void access$setResultsAdapter$p(WidgetFriendsFindNearby widgetFriendsFindNearby, WidgetFriendsAddUserAdapter widgetFriendsAddUserAdapter) { @@ -411,17 +412,17 @@ public final class WidgetFriendsFindNearby extends AppFragment { WidgetCaptcha.Companion.launch(requireContext(), this.captchaLauncher, CaptchaErrorBody.Companion.createFromError(error)); } - private final void sendFriendRequest(String str, int i, String str2) { + private final void sendFriendRequest(String str, int i, CaptchaHelper.CaptchaPayload captchaPayload) { getViewModel().setUsername(str); getViewModel().setDiscriminator(Integer.valueOf(i)); - ObservableExtensionsKt.ui$default(RestAPI.Companion.getApi().sendRelationshipRequest("Nearby - Add Friend Suggestion", str, i, str2), this, null, 2, null).k(o.h(new WidgetFriendsFindNearby$sendFriendRequest$1(this, str), getAppActivity(), new WidgetFriendsFindNearby$sendFriendRequest$2(this, str, i))); + ObservableExtensionsKt.ui$default(RestAPI.Companion.getApi().sendRelationshipRequest("Nearby - Add Friend Suggestion", str, i, captchaPayload), this, null, 2, null).k(o.h(new WidgetFriendsFindNearby$sendFriendRequest$1(this, str), getAppActivity(), new WidgetFriendsFindNearby$sendFriendRequest$2(this, str, i))); } - public static /* synthetic */ void sendFriendRequest$default(WidgetFriendsFindNearby widgetFriendsFindNearby, String str, int i, String str2, int i2, Object obj) { + public static /* synthetic */ void sendFriendRequest$default(WidgetFriendsFindNearby widgetFriendsFindNearby, String str, int i, CaptchaHelper.CaptchaPayload captchaPayload, int i2, Object obj) { if ((i2 & 4) != 0) { - str2 = null; + captchaPayload = null; } - widgetFriendsFindNearby.sendFriendRequest(str, i, str2); + widgetFriendsFindNearby.sendFriendRequest(str, i, captchaPayload); } private final void updateMeUserIdAndInitNearbyManager() { diff --git a/app/src/main/java/com/discord/widgets/friends/WidgetFriendsList$handleCaptchaError$1.java b/app/src/main/java/com/discord/widgets/friends/WidgetFriendsList$handleCaptchaError$1.java index d5e5397594..d27e107887 100644 --- a/app/src/main/java/com/discord/widgets/friends/WidgetFriendsList$handleCaptchaError$1.java +++ b/app/src/main/java/com/discord/widgets/friends/WidgetFriendsList$handleCaptchaError$1.java @@ -1,13 +1,14 @@ package com.discord.widgets.friends; import com.discord.app.AppFragment; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.widgets.friends.FriendsListViewModel; import d0.z.d.m; import d0.z.d.o; import kotlin.Unit; import kotlin.jvm.functions.Function2; /* compiled from: WidgetFriendsList.kt */ -public final class WidgetFriendsList$handleCaptchaError$1 extends o implements Function2 { +public final class WidgetFriendsList$handleCaptchaError$1 extends o implements Function2 { public final /* synthetic */ FriendsListViewModel.Event.CaptchaError $event; public final /* synthetic */ WidgetFriendsList this$0; @@ -21,14 +22,14 @@ public final class WidgetFriendsList$handleCaptchaError$1 extends o implements F /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object, java.lang.Object] */ @Override // kotlin.jvm.functions.Function2 - public /* bridge */ /* synthetic */ Unit invoke(AppFragment appFragment, String str) { - invoke(appFragment, str); + public /* bridge */ /* synthetic */ Unit invoke(AppFragment appFragment, CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(appFragment, captchaPayload); return Unit.a; } - public final void invoke(AppFragment appFragment, String str) { + public final void invoke(AppFragment appFragment, CaptchaHelper.CaptchaPayload captchaPayload) { m.checkNotNullParameter(appFragment, ""); - m.checkNotNullParameter(str, "captchaToken"); - WidgetFriendsList.access$getViewModel$p(this.this$0).acceptFriendSuggestion(this.$event.getUsername(), this.$event.getDiscriminator(), str); + m.checkNotNullParameter(captchaPayload, "captchaPayload"); + WidgetFriendsList.access$getViewModel$p(this.this$0).acceptFriendSuggestion(this.$event.getUsername(), this.$event.getDiscriminator(), captchaPayload); } } diff --git a/app/src/main/java/com/discord/widgets/guilds/invite/InviteJoinHelper$joinViaInvite$4.java b/app/src/main/java/com/discord/widgets/guilds/invite/InviteJoinHelper$joinViaInvite$4.java index aa4cddcca9..6bed658190 100644 --- a/app/src/main/java/com/discord/widgets/guilds/invite/InviteJoinHelper$joinViaInvite$4.java +++ b/app/src/main/java/com/discord/widgets/guilds/invite/InviteJoinHelper$joinViaInvite$4.java @@ -15,6 +15,7 @@ import com.discord.app.AppFragment; import com.discord.models.domain.ModelInvite; import com.discord.restapi.RestAPIParams; import com.discord.stores.StoreStream; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.channel.ChannelSelector; import com.discord.utilities.coroutines.RxCoroutineExtensionsKt; import com.discord.utilities.error.AppCancellationException; @@ -44,9 +45,9 @@ import kotlin.jvm.internal.Ref$ObjectRef; import kotlinx.coroutines.CoroutineScope; import retrofit2.HttpException; /* compiled from: InviteJoinHelper.kt */ -@e(c = "com.discord.widgets.guilds.invite.InviteJoinHelper$joinViaInvite$4", f = "InviteJoinHelper.kt", l = {78, 103, 112, 113, 127, 166, 195}, m = "invokeSuspend") +@e(c = "com.discord.widgets.guilds.invite.InviteJoinHelper$joinViaInvite$4", f = "InviteJoinHelper.kt", l = {79, 104, 117, 118, 132, 171, 200}, m = "invokeSuspend") public final class InviteJoinHelper$joinViaInvite$4 extends k implements Function2, Object> { - public final /* synthetic */ String $captchaKey; + public final /* synthetic */ CaptchaHelper.CaptchaPayload $captchaPayload; public final /* synthetic */ AppFragment $fragment; public final /* synthetic */ ModelInvite $invite; public final /* synthetic */ Class $javaClass; @@ -61,13 +62,13 @@ public final class InviteJoinHelper$joinViaInvite$4 extends k implements Functio public int label; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ - public InviteJoinHelper$joinViaInvite$4(AppFragment appFragment, ModelInvite modelInvite, String str, Function2 function2, String str2, Class cls, Function2 function22, Function2 function23, Continuation continuation) { + public InviteJoinHelper$joinViaInvite$4(AppFragment appFragment, ModelInvite modelInvite, String str, Function2 function2, CaptchaHelper.CaptchaPayload captchaPayload, Class cls, Function2 function22, Function2 function23, Continuation continuation) { super(2, continuation); this.$fragment = appFragment; this.$invite = modelInvite; this.$location = str; this.$onInvitePostSuccess = function2; - this.$captchaKey = str2; + this.$captchaPayload = captchaPayload; this.$javaClass = cls; this.$onInvitePostError = function22; this.$onInviteFlowFinished = function23; @@ -76,7 +77,7 @@ public final class InviteJoinHelper$joinViaInvite$4 extends k implements Functio @Override // d0.w.i.a.a public final Continuation create(Object obj, Continuation continuation) { m.checkNotNullParameter(continuation, "completion"); - return new InviteJoinHelper$joinViaInvite$4(this.$fragment, this.$invite, this.$location, this.$onInvitePostSuccess, this.$captchaKey, this.$javaClass, this.$onInvitePostError, this.$onInviteFlowFinished, continuation); + return new InviteJoinHelper$joinViaInvite$4(this.$fragment, this.$invite, this.$location, this.$onInvitePostSuccess, this.$captchaPayload, this.$javaClass, this.$onInvitePostError, this.$onInviteFlowFinished, continuation); } /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object, java.lang.Object] */ @@ -85,21 +86,21 @@ public final class InviteJoinHelper$joinViaInvite$4 extends k implements Functio return ((InviteJoinHelper$joinViaInvite$4) create(coroutineScope, continuation)).invokeSuspend(Unit.a); } - /* JADX WARNING: Removed duplicated region for block: B:104:0x0273 */ - /* JADX WARNING: Removed duplicated region for block: B:117:0x02be */ - /* JADX WARNING: Removed duplicated region for block: B:121:0x02cd */ - /* JADX WARNING: Removed duplicated region for block: B:151:0x035e */ - /* JADX WARNING: Removed duplicated region for block: B:152:0x036c */ - /* JADX WARNING: Removed duplicated region for block: B:164:0x03c0 */ - /* JADX WARNING: Removed duplicated region for block: B:167:0x03d3 A[RETURN] */ + /* JADX WARNING: Removed duplicated region for block: B:102:0x024d A[RETURN] */ + /* JADX WARNING: Removed duplicated region for block: B:103:0x024e */ + /* JADX WARNING: Removed duplicated region for block: B:112:0x0285 */ + /* JADX WARNING: Removed duplicated region for block: B:125:0x02d0 */ + /* JADX WARNING: Removed duplicated region for block: B:129:0x02df */ + /* JADX WARNING: Removed duplicated region for block: B:159:0x0370 */ + /* JADX WARNING: Removed duplicated region for block: B:160:0x037e */ + /* JADX WARNING: Removed duplicated region for block: B:172:0x03d2 */ + /* JADX WARNING: Removed duplicated region for block: B:175:0x03e5 A[RETURN] */ /* JADX WARNING: Removed duplicated region for block: B:69:0x01a1 */ /* JADX WARNING: Removed duplicated region for block: B:74:0x01ac */ /* JADX WARNING: Removed duplicated region for block: B:79:0x01d2 */ /* JADX WARNING: Removed duplicated region for block: B:80:0x01d4 */ /* JADX WARNING: Removed duplicated region for block: B:82:0x01d7 */ /* JADX WARNING: Removed duplicated region for block: B:87:0x01f2 */ - /* JADX WARNING: Removed duplicated region for block: B:94:0x023b A[RETURN] */ - /* JADX WARNING: Removed duplicated region for block: B:95:0x023c */ /* JADX WARNING: Unknown variable types count: 2 */ @Override // d0.w.i.a.a public final Object invokeSuspend(Object obj) { @@ -332,13 +333,20 @@ public final class InviteJoinHelper$joinViaInvite$4 extends k implements Functio } return Unit.a; } + RestAPI api = RestAPI.Companion.getApi(); + ModelInvite modelInvite6 = this.$invite; + String str2 = this.$location; + CaptchaHelper.CaptchaPayload captchaPayload = this.$captchaPayload; + String captchaKey = captchaPayload != null ? captchaPayload.getCaptchaKey() : null; + CaptchaHelper.CaptchaPayload captchaPayload2 = this.$captchaPayload; + String captchaRqtoken = captchaPayload2 != null ? captchaPayload2.getCaptchaRqtoken() : null; Boolean boxBoolean3 = b.boxBoolean(true); this.L$0 = ref$ObjectRef2; this.L$1 = modelInvite4; this.L$2 = null; this.L$3 = null; this.label = 3; - obj3 = RxCoroutineExtensionsKt.appAwaitSingle(ObservableExtensionsKt.ui(ObservableExtensionsKt.restSubscribeOn$default(RestAPI.Companion.getApi().postInviteCode(this.$invite, this.$location, new RestAPIParams.InviteCode(this.$captchaKey)), false, 1, null)), ref$ObjectRef2.element, boxBoolean3, this); + obj3 = RxCoroutineExtensionsKt.appAwaitSingle(ObservableExtensionsKt.ui(ObservableExtensionsKt.restSubscribeOn$default(api.postInviteCode(modelInvite6, str2, new RestAPIParams.InviteCode(captchaKey, captchaRqtoken)), false, 1, null)), ref$ObjectRef2.element, boxBoolean3, this); if (obj3 == coroutine_suspended) { return coroutine_suspended; } @@ -479,7 +487,7 @@ public final class InviteJoinHelper$joinViaInvite$4 extends k implements Functio } return Unit.a; case 3: - ModelInvite modelInvite6 = (ModelInvite) this.L$1; + ModelInvite modelInvite7 = (ModelInvite) this.L$1; ref$ObjectRef2 = (Ref$ObjectRef) this.L$0; l.throwOnFailure(obj); obj3 = obj; diff --git a/app/src/main/java/com/discord/widgets/guilds/invite/InviteJoinHelper.java b/app/src/main/java/com/discord/widgets/guilds/invite/InviteJoinHelper.java index 9e387243e9..a86a14e524 100644 --- a/app/src/main/java/com/discord/widgets/guilds/invite/InviteJoinHelper.java +++ b/app/src/main/java/com/discord/widgets/guilds/invite/InviteJoinHelper.java @@ -13,6 +13,7 @@ import com.discord.app.AppFragment; import com.discord.models.domain.ModelAuditLogEntry; import com.discord.models.domain.ModelInvite; import com.discord.stores.StoreStream; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.channel.ChannelSelector; import com.discord.utilities.coroutines.AppCoroutineScopeKt; import com.discord.utilities.error.Error; @@ -43,8 +44,8 @@ public final class InviteJoinHelper { inviteJoinHelper.navigateToGuild(modelInvite); } - public static /* synthetic */ Job joinViaInvite$default(InviteJoinHelper inviteJoinHelper, ModelInvite modelInvite, Class cls, AppFragment appFragment, String str, Function2 function2, Function2 function22, Function2 function23, String str2, int i, Object obj) { - return inviteJoinHelper.joinViaInvite(modelInvite, cls, appFragment, str, (i & 16) != 0 ? new InviteJoinHelper$joinViaInvite$1(null) : function2, (i & 32) != 0 ? new InviteJoinHelper$joinViaInvite$2(null) : function22, (i & 64) != 0 ? new InviteJoinHelper$joinViaInvite$3(null) : function23, (i & 128) != 0 ? null : str2); + public static /* synthetic */ Job joinViaInvite$default(InviteJoinHelper inviteJoinHelper, ModelInvite modelInvite, Class cls, AppFragment appFragment, String str, Function2 function2, Function2 function22, Function2 function23, CaptchaHelper.CaptchaPayload captchaPayload, int i, Object obj) { + return inviteJoinHelper.joinViaInvite(modelInvite, cls, appFragment, str, (i & 16) != 0 ? new InviteJoinHelper$joinViaInvite$1(null) : function2, (i & 32) != 0 ? new InviteJoinHelper$joinViaInvite$2(null) : function22, (i & 64) != 0 ? new InviteJoinHelper$joinViaInvite$3(null) : function23, (i & 128) != 0 ? null : captchaPayload); } private final void navigateToChannel(Context context, AppFragment appFragment, ModelInvite modelInvite) { @@ -82,7 +83,7 @@ public final class InviteJoinHelper { } } - public final Job joinViaInvite(ModelInvite modelInvite, Class cls, AppFragment appFragment, String str, Function2, ? extends Object> function2, Function2, ? extends Object> function22, Function2, ? extends Object> function23, String str2) { + public final Job joinViaInvite(ModelInvite modelInvite, Class cls, AppFragment appFragment, String str, Function2, ? extends Object> function2, Function2, ? extends Object> function22, Function2, ? extends Object> function23, CaptchaHelper.CaptchaPayload captchaPayload) { m.checkNotNullParameter(modelInvite, "invite"); m.checkNotNullParameter(cls, "javaClass"); m.checkNotNullParameter(appFragment, "fragment"); @@ -92,6 +93,6 @@ public final class InviteJoinHelper { m.checkNotNullParameter(function23, "onInviteFlowFinished"); LifecycleOwner viewLifecycleOwner = appFragment.getViewLifecycleOwner(); m.checkNotNullExpressionValue(viewLifecycleOwner, "fragment.viewLifecycleOwner"); - return AppCoroutineScopeKt.appLaunch$default(LifecycleOwnerKt.getLifecycleScope(viewLifecycleOwner), cls, (CoroutineContext) null, (CoroutineStart) null, new InviteJoinHelper$joinViaInvite$4(appFragment, modelInvite, str, function22, str2, cls, function2, function23, null), 6, (Object) null); + return AppCoroutineScopeKt.appLaunch$default(LifecycleOwnerKt.getLifecycleScope(viewLifecycleOwner), cls, (CoroutineContext) null, (CoroutineStart) null, new InviteJoinHelper$joinViaInvite$4(appFragment, modelInvite, str, function22, captchaPayload, cls, function2, function23, null), 6, (Object) null); } } diff --git a/app/src/main/java/com/discord/widgets/guilds/join/GuildJoinHelperKt.java b/app/src/main/java/com/discord/widgets/guilds/join/GuildJoinHelperKt.java index 68a0778b40..6a8f20e8a7 100644 --- a/app/src/main/java/com/discord/widgets/guilds/join/GuildJoinHelperKt.java +++ b/app/src/main/java/com/discord/widgets/guilds/join/GuildJoinHelperKt.java @@ -3,6 +3,7 @@ package com.discord.widgets.guilds.join; import android.content.Context; import com.discord.api.guild.Guild; import com.discord.restapi.RestAPIParams; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.error.Error; import com.discord.utilities.rest.RestAPI; import com.discord.utilities.rx.ObservableExtensionsKt; @@ -13,14 +14,14 @@ import kotlin.jvm.functions.Function1; import rx.Subscription; /* compiled from: GuildJoinHelper.kt */ public final class GuildJoinHelperKt { - public static final void joinGuild(Context context, long j, boolean z2, String str, Long l, String str2, Class cls, Function1 function1, Function1 function12, String str3, Function1 function13) { + public static final void joinGuild(Context context, long j, boolean z2, String str, Long l, String str2, Class cls, Function1 function1, Function1 function12, CaptchaHelper.CaptchaPayload captchaPayload, Function1 function13) { m.checkNotNullParameter(context, "context"); m.checkNotNullParameter(cls, "errorClass"); m.checkNotNullParameter(function13, "onNext"); - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui(ObservableExtensionsKt.restSubscribeOn$default(RestAPI.Companion.getApi().joinGuild(j, z2, str, l, new RestAPIParams.InviteCode(str3), str2), false, 1, null)), cls, (Context) null, function1, new GuildJoinHelperKt$joinGuild$1(context, j, z2, str, l, cls, function1, function12, function13), (Function0) null, (Function0) null, function13, 50, (Object) null); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui(ObservableExtensionsKt.restSubscribeOn$default(RestAPI.Companion.getApi().joinGuild(j, z2, str, l, new RestAPIParams.InviteCode(captchaPayload != null ? captchaPayload.getCaptchaKey() : null, captchaPayload != null ? captchaPayload.getCaptchaRqtoken() : null), str2), false, 1, null)), cls, (Context) null, function1, new GuildJoinHelperKt$joinGuild$1(context, j, z2, str, l, cls, function1, function12, function13), (Function0) null, (Function0) null, function13, 50, (Object) null); } - public static /* synthetic */ void joinGuild$default(Context context, long j, boolean z2, String str, Long l, String str2, Class cls, Function1 function1, Function1 function12, String str3, Function1 function13, int i, Object obj) { - joinGuild(context, j, z2, (i & 8) != 0 ? null : str, (i & 16) != 0 ? null : l, (i & 32) != 0 ? null : str2, cls, (i & 128) != 0 ? null : function1, (i & 256) != 0 ? null : function12, (i & 512) != 0 ? null : str3, function13); + public static /* synthetic */ void joinGuild$default(Context context, long j, boolean z2, String str, Long l, String str2, Class cls, Function1 function1, Function1 function12, CaptchaHelper.CaptchaPayload captchaPayload, Function1 function13, int i, Object obj) { + joinGuild(context, j, z2, (i & 8) != 0 ? null : str, (i & 16) != 0 ? null : l, (i & 32) != 0 ? null : str2, cls, (i & 128) != 0 ? null : function1, (i & 256) != 0 ? null : function12, (i & 512) != 0 ? null : captchaPayload, function13); } } diff --git a/app/src/main/java/com/discord/widgets/guilds/join/WidgetGuildJoinCaptchaBottomSheet$Companion$enqueue$guildCaptchaNotice$1.java b/app/src/main/java/com/discord/widgets/guilds/join/WidgetGuildJoinCaptchaBottomSheet$Companion$enqueue$guildCaptchaNotice$1.java index 2560ec53cd..c97b291e5f 100644 --- a/app/src/main/java/com/discord/widgets/guilds/join/WidgetGuildJoinCaptchaBottomSheet$Companion$enqueue$guildCaptchaNotice$1.java +++ b/app/src/main/java/com/discord/widgets/guilds/join/WidgetGuildJoinCaptchaBottomSheet$Companion$enqueue$guildCaptchaNotice$1.java @@ -19,7 +19,7 @@ import kotlin.jvm.functions.Function2; /* compiled from: WidgetGuildJoinCaptchaBottomSheet.kt */ public final class WidgetGuildJoinCaptchaBottomSheet$Companion$enqueue$guildCaptchaNotice$1 extends o implements Function1 { public final /* synthetic */ CaptchaErrorBody $error; - public final /* synthetic */ Function2 $onCaptchaTokenReceived; + public final /* synthetic */ Function2 $onCaptchaPayloadReceived; public final /* synthetic */ String $requestKey; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -27,7 +27,7 @@ public final class WidgetGuildJoinCaptchaBottomSheet$Companion$enqueue$guildCapt super(1); this.$requestKey = str; this.$error = captchaErrorBody; - this.$onCaptchaTokenReceived = function2; + this.$onCaptchaPayloadReceived = function2; } /* Return type fixed from 'java.lang.Object' to match base method */ @@ -64,7 +64,7 @@ public final class WidgetGuildJoinCaptchaBottomSheet$Companion$enqueue$guildCapt if (fragment == null) { return true; } - WidgetGuildJoinCaptchaBottomSheet.Companion.registerForResult((AppFragment) fragment, this.$requestKey, this.$onCaptchaTokenReceived); + WidgetGuildJoinCaptchaBottomSheet.Companion.registerForResult((AppFragment) fragment, this.$requestKey, this.$onCaptchaPayloadReceived); return true; } } diff --git a/app/src/main/java/com/discord/widgets/guilds/join/WidgetGuildJoinCaptchaBottomSheet$Companion$registerForResult$1.java b/app/src/main/java/com/discord/widgets/guilds/join/WidgetGuildJoinCaptchaBottomSheet$Companion$registerForResult$1.java index 6a1ccf9225..59ed0ca4cd 100644 --- a/app/src/main/java/com/discord/widgets/guilds/join/WidgetGuildJoinCaptchaBottomSheet$Companion$registerForResult$1.java +++ b/app/src/main/java/com/discord/widgets/guilds/join/WidgetGuildJoinCaptchaBottomSheet$Companion$registerForResult$1.java @@ -2,6 +2,7 @@ package com.discord.widgets.guilds.join; import android.os.Bundle; import com.discord.app.AppFragment; +import com.discord.utilities.captcha.CaptchaHelper; import d0.z.d.m; import d0.z.d.o; import kotlin.Unit; @@ -9,14 +10,14 @@ import kotlin.jvm.functions.Function2; /* compiled from: WidgetGuildJoinCaptchaBottomSheet.kt */ public final class WidgetGuildJoinCaptchaBottomSheet$Companion$registerForResult$1 extends o implements Function2 { public final /* synthetic */ AppFragment $fragment; - public final /* synthetic */ Function2 $onCaptchaTokenReceived; + public final /* synthetic */ Function2 $onCaptchaPayloadReceived; public final /* synthetic */ String $requestKey; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public WidgetGuildJoinCaptchaBottomSheet$Companion$registerForResult$1(String str, Function2 function2, AppFragment appFragment) { super(2); this.$requestKey = str; - this.$onCaptchaTokenReceived = function2; + this.$onCaptchaPayloadReceived = function2; this.$fragment = appFragment; } @@ -29,11 +30,14 @@ public final class WidgetGuildJoinCaptchaBottomSheet$Companion$registerForResult } public final void invoke(String str, Bundle bundle) { - String string; m.checkNotNullParameter(str, "resultRequestKey"); m.checkNotNullParameter(bundle, "bundle"); - if (m.areEqual(this.$requestKey, str) && (string = bundle.getString("INTENT_EXTRA_CAPTCHA_TOKEN", "")) != null && (!m.areEqual(string, ""))) { - this.$onCaptchaTokenReceived.invoke(this.$fragment, string); + if (m.areEqual(this.$requestKey, str)) { + String string = bundle.getString("INTENT_EXTRA_CAPTCHA_TOKEN", ""); + String string2 = bundle.getString("INTENT_EXTRA_CAPTCHA_RQTOKEN", ""); + if (string != null && (!m.areEqual(string, ""))) { + this.$onCaptchaPayloadReceived.invoke(this.$fragment, new CaptchaHelper.CaptchaPayload(string, string2)); + } } } } diff --git a/app/src/main/java/com/discord/widgets/guilds/join/WidgetGuildJoinCaptchaBottomSheet.java b/app/src/main/java/com/discord/widgets/guilds/join/WidgetGuildJoinCaptchaBottomSheet.java index 7f0efd9377..a70a30953b 100644 --- a/app/src/main/java/com/discord/widgets/guilds/join/WidgetGuildJoinCaptchaBottomSheet.java +++ b/app/src/main/java/com/discord/widgets/guilds/join/WidgetGuildJoinCaptchaBottomSheet.java @@ -42,6 +42,7 @@ public final class WidgetGuildJoinCaptchaBottomSheet extends AppBottomSheet { private static final String ARG_REQUEST_KEY = "INTENT_EXTRA_REQUEST_CODE"; public static final Companion Companion = new Companion(null); private static final String NOTICE_NAME = "guild captcha notice"; + private static final String RESULT_EXTRA_CAPTCHA_RQTOKEN = "INTENT_EXTRA_CAPTCHA_RQTOKEN"; private static final String RESULT_EXTRA_CAPTCHA_TOKEN = "INTENT_EXTRA_CAPTCHA_TOKEN"; private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetGuildJoinCaptchaBottomSheet$binding$2.INSTANCE, null, 2, null); private final Lazy captchaErrorBody$delegate = g.lazy(new WidgetGuildJoinCaptchaBottomSheet$captchaErrorBody$2(this)); @@ -56,16 +57,16 @@ public final class WidgetGuildJoinCaptchaBottomSheet extends AppBottomSheet { this(); } - public final void enqueue(String str, Function2 function2, CaptchaErrorBody captchaErrorBody) { + public final void enqueue(String str, Function2 function2, CaptchaErrorBody captchaErrorBody) { m.checkNotNullParameter(str, "requestKey"); - m.checkNotNullParameter(function2, "onCaptchaTokenReceived"); + m.checkNotNullParameter(function2, "onCaptchaPayloadReceived"); StoreStream.Companion.getNotices().requestToShow(new StoreNotices.Notice(WidgetGuildJoinCaptchaBottomSheet.NOTICE_NAME, null, 0, 0, false, d0.t.m.listOf(a0.getOrCreateKotlinClass(WidgetTabsHost.class)), 0, false, 0, new WidgetGuildJoinCaptchaBottomSheet$Companion$enqueue$guildCaptchaNotice$1(str, captchaErrorBody, function2), FontUtils.MAX_FONT_SCALING, null)); } - public final void registerForResult(AppFragment appFragment, String str, Function2 function2) { + public final void registerForResult(AppFragment appFragment, String str, Function2 function2) { m.checkNotNullParameter(appFragment, "fragment"); m.checkNotNullParameter(str, "requestKey"); - m.checkNotNullParameter(function2, "onCaptchaTokenReceived"); + m.checkNotNullParameter(function2, "onCaptchaPayloadReceived"); FragmentKt.setFragmentResultListener(appFragment, str, new WidgetGuildJoinCaptchaBottomSheet$Companion$registerForResult$1(str, function2, appFragment)); } @@ -114,10 +115,13 @@ public final class WidgetGuildJoinCaptchaBottomSheet extends AppBottomSheet { CaptchaHelper captchaHelper = CaptchaHelper.INSTANCE; String captchaToken = captchaHelper.getCaptchaToken(); if (captchaToken != null) { + String captchaRqtoken = captchaHelper.getCaptchaRqtoken(); captchaHelper.setCaptchaToken(null); + captchaHelper.setCaptchaRqtoken(null); String requestCode = getRequestCode(); Bundle bundle = new Bundle(); bundle.putString(RESULT_EXTRA_CAPTCHA_TOKEN, captchaToken); + bundle.putString(RESULT_EXTRA_CAPTCHA_RQTOKEN, captchaRqtoken); FragmentKt.setFragmentResult(this, requestCode, bundle); dismiss(); } @@ -139,6 +143,10 @@ public final class WidgetGuildJoinCaptchaBottomSheet extends AppBottomSheet { CaptchaHelper.CaptchaRequest captchaRequest; String captchaSitekey = getCaptchaErrorBody().getCaptchaSitekey(); CaptchaService captchaService = getCaptchaErrorBody().getCaptchaService(); + String captchaRqdata = getCaptchaErrorBody().getCaptchaRqdata(); + String captchaRqtoken = getCaptchaErrorBody().getCaptchaRqtoken(); + CaptchaHelper captchaHelper = CaptchaHelper.INSTANCE; + captchaHelper.setCaptchaRqtoken(captchaRqtoken); if (captchaSitekey == null || captchaService != CaptchaService.HCAPTCHA) { FragmentActivity requireActivity = requireActivity(); m.checkNotNullExpressionValue(requireActivity, "requireActivity()"); @@ -146,9 +154,9 @@ public final class WidgetGuildJoinCaptchaBottomSheet extends AppBottomSheet { } else { FragmentActivity requireActivity2 = requireActivity(); m.checkNotNullExpressionValue(requireActivity2, "requireActivity()"); - captchaRequest = new CaptchaHelper.CaptchaRequest.HCaptcha(captchaSitekey, requireActivity2); + captchaRequest = new CaptchaHelper.CaptchaRequest.HCaptcha(captchaSitekey, requireActivity2, captchaRqdata); } - ObservableExtensionsKt.appSubscribe$default(CaptchaHelper.INSTANCE.tryShowCaptcha(captchaRequest), WidgetGuildJoinCaptchaBottomSheet.class, (Context) null, (Function1) null, new WidgetGuildJoinCaptchaBottomSheet$openCaptcha$2(this), (Function0) null, (Function0) null, new WidgetGuildJoinCaptchaBottomSheet$openCaptcha$1(this), 54, (Object) null); + ObservableExtensionsKt.appSubscribe$default(captchaHelper.tryShowCaptcha(captchaRequest), WidgetGuildJoinCaptchaBottomSheet.class, (Context) null, (Function1) null, new WidgetGuildJoinCaptchaBottomSheet$openCaptcha$2(this), (Function0) null, (Function0) null, new WidgetGuildJoinCaptchaBottomSheet$openCaptcha$1(this), 54, (Object) null); } public static final void show(FragmentManager fragmentManager, String str, CaptchaErrorBody captchaErrorBody) { diff --git a/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheet$configureGuildActions$1.java b/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheet$configureGuildActions$1.java index 6d7e7071f8..021a3960c4 100644 --- a/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheet$configureGuildActions$1.java +++ b/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheet$configureGuildActions$1.java @@ -13,6 +13,6 @@ public final class WidgetGuildProfileSheet$configureGuildActions$1 implements Vi @Override // android.view.View.OnClickListener public final void onClick(View view) { - WidgetGuildProfileSheet.access$getViewModel$p(this.this$0).onClickMarkAsRead(this.this$0.getContext(), this.$guildId); + WidgetGuildProfileSheet.access$getViewModel$p(this.this$0).onClickMarkAsRead(this.$guildId); } } diff --git a/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheet$viewModel$2.java b/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheet$viewModel$2.java index 23bbc254d8..1881285abc 100644 --- a/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheet$viewModel$2.java +++ b/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheet$viewModel$2.java @@ -17,6 +17,6 @@ public final class WidgetGuildProfileSheet$viewModel$2 extends o implements Func @Override // kotlin.jvm.functions.Function0 /* renamed from: invoke */ public final AppViewModel mo1invoke() { - return new WidgetGuildProfileSheetViewModel(null, null, null, WidgetGuildProfileSheet.access$getArgumentsOrDefault$p(this.this$0).getBoolean("com.discord.intent.extra.EXTRA_VIEWING_GUILD"), null, null, null, WidgetGuildProfileSheet.access$getArgumentsOrDefault$p(this.this$0).getLong("com.discord.intent.extra.EXTRA_GUILD_ID"), null, 375, null); + return new WidgetGuildProfileSheetViewModel(null, null, WidgetGuildProfileSheet.access$getArgumentsOrDefault$p(this.this$0).getBoolean("com.discord.intent.extra.EXTRA_VIEWING_GUILD"), null, null, null, WidgetGuildProfileSheet.access$getArgumentsOrDefault$p(this.this$0).getLong("com.discord.intent.extra.EXTRA_GUILD_ID"), null, 187, null); } } diff --git a/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheetViewModel$onClickMarkAsRead$1.java b/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheetViewModel$onClickMarkAsRead$1.java index 149aa3e951..3f7aaa3d67 100644 --- a/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheetViewModel$onClickMarkAsRead$1.java +++ b/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheetViewModel$onClickMarkAsRead$1.java @@ -4,21 +4,27 @@ import com.discord.R; import com.discord.widgets.guilds.profile.WidgetGuildProfileSheetViewModel; import d0.z.d.o; import kotlin.Unit; -import kotlin.jvm.functions.Function0; +import kotlin.jvm.functions.Function1; import rx.subjects.PublishSubject; /* compiled from: WidgetGuildProfileSheetViewModel.kt */ -public final class WidgetGuildProfileSheetViewModel$onClickMarkAsRead$1 extends o implements Function0 { +public final class WidgetGuildProfileSheetViewModel$onClickMarkAsRead$1 extends o implements Function1 { public final /* synthetic */ WidgetGuildProfileSheetViewModel this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public WidgetGuildProfileSheetViewModel$onClickMarkAsRead$1(WidgetGuildProfileSheetViewModel widgetGuildProfileSheetViewModel) { - super(0); + super(1); this.this$0 = widgetGuildProfileSheetViewModel; } - @Override // kotlin.jvm.functions.Function0 - /* renamed from: invoke */ - public final void mo1invoke() { + /* Return type fixed from 'java.lang.Object' to match base method */ + /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ + @Override // kotlin.jvm.functions.Function1 + public /* bridge */ /* synthetic */ Unit invoke(Void r1) { + invoke(r1); + return Unit.a; + } + + public final void invoke(Void r3) { PublishSubject access$getEventSubject$p = WidgetGuildProfileSheetViewModel.access$getEventSubject$p(this.this$0); access$getEventSubject$p.k.onNext(new WidgetGuildProfileSheetViewModel.Event.DismissAndShowToast(R.string.marked_as_read)); } diff --git a/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheetViewModel.java b/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheetViewModel.java index 0851cd3873..37b3c24a8b 100644 --- a/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheetViewModel.java +++ b/app/src/main/java/com/discord/widgets/guilds/profile/WidgetGuildProfileSheetViewModel.java @@ -22,7 +22,6 @@ import com.discord.stores.StoreAnalytics; import com.discord.stores.StoreEmoji; import com.discord.stores.StoreGuildProfiles; import com.discord.stores.StoreLurking; -import com.discord.stores.StoreMessageAck; import com.discord.stores.StoreStream; import com.discord.stores.StoreUser; import com.discord.stores.StoreUserGuildSettings; @@ -51,7 +50,6 @@ public final class WidgetGuildProfileSheetViewModel extends AppViewModel eventSubject; private final long guildId; private boolean isEmojiSectionExpanded; - private final StoreMessageAck messageAck; private final RestAPI restAPI; private final StoreLurking storeLurking; private final StoreUserGuildSettings storeUserGuildSettings; @@ -1292,18 +1290,16 @@ public final class WidgetGuildProfileSheetViewModel extends AppViewModel observable) { + public WidgetGuildProfileSheetViewModel(StoreUserSettings storeUserSettings, StoreUserGuildSettings storeUserGuildSettings, boolean z2, RestAPI restAPI, StoreLurking storeLurking, StoreAnalytics storeAnalytics, long j, Observable observable) { super(ViewState.Loading.INSTANCE); m.checkNotNullParameter(storeUserSettings, "storeUserSettings"); m.checkNotNullParameter(storeUserGuildSettings, "storeUserGuildSettings"); - m.checkNotNullParameter(storeMessageAck, "messageAck"); m.checkNotNullParameter(restAPI, "restAPI"); m.checkNotNullParameter(storeLurking, "storeLurking"); m.checkNotNullParameter(storeAnalytics, "storeAnalytics"); m.checkNotNullParameter(observable, "storeObservable"); this.storeUserSettings = storeUserSettings; this.storeUserGuildSettings = storeUserGuildSettings; - this.messageAck = storeMessageAck; this.viewingGuild = z2; this.restAPI = restAPI; this.storeLurking = storeLurking; @@ -1314,8 +1310,8 @@ public final class WidgetGuildProfileSheetViewModel extends AppViewModel function0) { diff --git a/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsOverview.java b/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsOverview.java index a0b56b2100..e84fdadd22 100644 --- a/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsOverview.java +++ b/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsOverview.java @@ -40,6 +40,7 @@ import com.discord.utilities.drawable.DrawableCompat; import com.discord.utilities.icon.IconUtils; import com.discord.utilities.images.MGImages; import com.discord.utilities.permissions.PermissionUtils; +import com.discord.utilities.premium.GuildBoostUtils; import com.discord.utilities.premium.PremiumUtils; import com.discord.utilities.resources.StringResourceUtilsKt; import com.discord.utilities.rx.ObservableExtensionsKt; @@ -423,10 +424,10 @@ public final class WidgetServerSettingsOverview extends AppFragment { FloatingActionButton floatingActionButton = getBinding().h.f; m.checkNotNullExpressionValue(floatingActionButton, "binding.uploadBanner.uploadBannerFab"); ViewExtensions.setEnabledAlpha$default(floatingActionButton, false, 0.0f, 2, null); - int premiumSubscriptionCount = 7 - guild.getPremiumSubscriptionCount(); + int boostsRequiredForTier$default = GuildBoostUtils.getBoostsRequiredForTier$default(GuildBoostUtils.INSTANCE, guild.getId(), 2, null, null, 12, null) - guild.getPremiumSubscriptionCount(); Resources resources2 = getResources(); m.checkNotNullExpressionValue(resources2, "resources"); - CharSequence quantityString = StringResourceUtilsKt.getQuantityString(resources2, requireContext(), (int) R.plurals.guild_settings_overview_boost_unlock_boosts, premiumSubscriptionCount, Integer.valueOf(premiumSubscriptionCount)); + CharSequence quantityString = StringResourceUtilsKt.getQuantityString(resources2, requireContext(), (int) R.plurals.guild_settings_overview_boost_unlock_boosts, boostsRequiredForTier$default, Integer.valueOf(boostsRequiredForTier$default)); TextView textView7 = getBinding().h.i; m.checkNotNullExpressionValue(textView7, "binding.uploadBanner.uploadBannerUnlock"); ViewExtensions.setTextAndVisibilityBy(textView7, b.k(this, R.string.guild_settings_overview_boost_unlock, new Object[]{quantityString}, null, 4)); @@ -586,10 +587,10 @@ public final class WidgetServerSettingsOverview extends AppFragment { FloatingActionButton floatingActionButton = getBinding().i.c; m.checkNotNullExpressionValue(floatingActionButton, "binding.uploadSplash.ser…gsOverviewUploadSplashFab"); ViewExtensions.setEnabledAlpha$default(floatingActionButton, false, 0.0f, 2, null); - int premiumSubscriptionCount = 2 - guild.getPremiumSubscriptionCount(); + int boostsRequiredForTier$default = GuildBoostUtils.getBoostsRequiredForTier$default(GuildBoostUtils.INSTANCE, guild.getId(), 1, null, null, 12, null) - guild.getPremiumSubscriptionCount(); Resources resources2 = getResources(); m.checkNotNullExpressionValue(resources2, "resources"); - CharSequence quantityString = StringResourceUtilsKt.getQuantityString(resources2, requireContext(), (int) R.plurals.guild_settings_overview_boost_unlock_boosts, premiumSubscriptionCount, Integer.valueOf(premiumSubscriptionCount)); + CharSequence quantityString = StringResourceUtilsKt.getQuantityString(resources2, requireContext(), (int) R.plurals.guild_settings_overview_boost_unlock_boosts, boostsRequiredForTier$default, Integer.valueOf(boostsRequiredForTier$default)); TextView textView7 = getBinding().i.h; m.checkNotNullExpressionValue(textView7, "binding.uploadSplash.uploadSplashUnlock"); ViewExtensions.setTextAndVisibilityBy(textView7, b.k(this, R.string.guild_settings_overview_boost_unlock, new Object[]{quantityString}, null, 4)); diff --git a/app/src/main/java/com/discord/widgets/servers/guildboost/GuildBoostPerkView.java b/app/src/main/java/com/discord/widgets/servers/guildboost/GuildBoostPerkView.java index e7573e770d..675412f581 100644 --- a/app/src/main/java/com/discord/widgets/servers/guildboost/GuildBoostPerkView.java +++ b/app/src/main/java/com/discord/widgets/servers/guildboost/GuildBoostPerkView.java @@ -15,6 +15,7 @@ import com.discord.utilities.color.ColorCompat; import com.discord.utilities.drawable.DrawableCompat; import com.discord.utilities.guilds.GuildUtilsKt; import com.discord.utilities.mg_recycler.MGRecyclerAdapter; +import com.discord.utilities.premium.GuildBoostUtils; import com.discord.utilities.premium.PremiumUtils; import com.discord.utilities.resources.StringResourceUtilsKt; import com.discord.utilities.threads.ThreadUtils; @@ -75,15 +76,15 @@ public final class GuildBoostPerkView extends RelativeLayout { this.binding.c.addOnItemTouchListener(new GuildBoostPerkView$initialize$1()); } - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x030b: APUT - (r1v9 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem[]) + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x030a: APUT + (r2v18 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem[]) (6 ??[int, float, short, byte, char]) - (r3v16 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem) + (r3v21 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem) */ - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x041e: APUT - (r1v4 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem[]) + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x041d: APUT + (r2v16 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem[]) (6 ??[int, float, short, byte, char]) - (r14v1 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem) + (r8v2 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem) */ public final void configure(int i, int i2, long j) { List list; @@ -94,15 +95,15 @@ public final class GuildBoostPerkView extends RelativeLayout { } else { this.binding.d.setBackgroundColor(ColorCompat.getThemedColor(this, (int) R.attr.primary_700)); } - int i3 = i != 1 ? i != 2 ? i != 3 ? 0 : 14 : 7 : 2; + int boostsRequiredForTier$default = GuildBoostUtils.getBoostsRequiredForTier$default(GuildBoostUtils.INSTANCE, j, i, null, null, 12, null); TextView textView = this.binding.f; m.checkNotNullExpressionValue(textView, "binding.perksLevelHeaderText"); GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem guildBoostPerkViewListItem = null; b.n(textView, i != 1 ? i != 2 ? i != 3 ? 0 : R.string.guild_settings_guild_premium_perks_title_tier_3 : R.string.guild_settings_guild_premium_perks_title_tier_2 : R.string.guild_settings_guild_premium_perks_title_tier_1, new Object[0], null, 4); - int i4 = i != 1 ? i != 2 ? i != 3 ? 0 : z2 ? R.drawable.ic_perk_tier_3_boosted : R.drawable.ic_perk_tier_3_unboosted : z2 ? R.drawable.ic_perk_tier_2_boosted : R.drawable.ic_perk_tier_2_unboosted : z2 ? R.drawable.ic_perk_tier_1_boosted : R.drawable.ic_perk_tier_1_unboosted; + int i3 = i != 1 ? i != 2 ? i != 3 ? 0 : z2 ? R.drawable.ic_perk_tier_3_boosted : R.drawable.ic_perk_tier_3_unboosted : z2 ? R.drawable.ic_perk_tier_2_boosted : R.drawable.ic_perk_tier_2_unboosted : z2 ? R.drawable.ic_perk_tier_1_boosted : R.drawable.ic_perk_tier_1_unboosted; TextView textView2 = this.binding.f; m.checkNotNullExpressionValue(textView2, "binding.perksLevelHeaderText"); - DrawableCompat.setCompoundDrawablesCompat$default(textView2, i4, 0, 0, 0, 14, (Object) null); + DrawableCompat.setCompoundDrawablesCompat$default(textView2, i3, 0, 0, 0, 14, (Object) null); this.binding.f.setTextColor(z2 ? ColorCompat.getColor(getContext(), (int) R.color.white) : ColorCompat.getThemedColor(getContext(), (int) R.attr.primary_300)); TextView textView3 = this.binding.e; m.checkNotNullExpressionValue(textView3, "binding.perksLevelHeaderBoosts"); @@ -110,7 +111,7 @@ public final class GuildBoostPerkView extends RelativeLayout { m.checkNotNullExpressionValue(resources, "resources"); Context context = getContext(); m.checkNotNullExpressionValue(context, "context"); - textView3.setText(StringResourceUtilsKt.getQuantityString(resources, context, (int) R.plurals.guild_settings_premium_guild_tier_requirement_required, i3, Integer.valueOf(i3))); + textView3.setText(StringResourceUtilsKt.getQuantityString(resources, context, (int) R.plurals.guild_settings_premium_guild_tier_requirement_required, boostsRequiredForTier$default, Integer.valueOf(boostsRequiredForTier$default))); TextView textView4 = this.binding.e; m.checkNotNullExpressionValue(textView4, "binding.perksLevelHeaderBoosts"); textView4.setVisibility(z2 ^ true ? 0 : 8); diff --git a/app/src/main/java/com/discord/widgets/servers/guildboost/WidgetGuildBoost.java b/app/src/main/java/com/discord/widgets/servers/guildboost/WidgetGuildBoost.java index 78763cf37b..385726e663 100644 --- a/app/src/main/java/com/discord/widgets/servers/guildboost/WidgetGuildBoost.java +++ b/app/src/main/java/com/discord/widgets/servers/guildboost/WidgetGuildBoost.java @@ -238,10 +238,10 @@ public final class WidgetGuildBoost extends AppFragment { } } - private final void configureProgressBar(int i, int i2) { + private final void configureProgressBar(long j, int i, int i2) { ProgressBar progressBar = getBinding().l.f194b; m.checkNotNullExpressionValue(progressBar, "binding.progress.boostBarProgressBar"); - progressBar.setProgress(GuildBoostUtils.INSTANCE.calculateTotalProgress(i, i2)); + progressBar.setProgress(GuildBoostUtils.calculateTotalProgress$default(GuildBoostUtils.INSTANCE, j, i, i2, null, null, 24, null)); ProgressBar progressBar2 = getBinding().l.f194b; m.checkNotNullExpressionValue(progressBar2, "binding.progress.boostBarProgressBar"); boolean z2 = false; @@ -288,7 +288,7 @@ public final class WidgetGuildBoost extends AppFragment { int premiumTier = loaded.getGuild().getPremiumTier(); int premiumSubscriptionCount = loaded.getGuild().getPremiumSubscriptionCount(); configureToolbar(loaded.getGuild().getName()); - configureProgressBar(premiumTier, premiumSubscriptionCount); + configureProgressBar(loaded.getGuild().getId(), premiumTier, premiumSubscriptionCount); configureViewpager(premiumTier, premiumSubscriptionCount); getBinding().e.a(loaded.getMeUser().getPremiumTier(), new WidgetGuildBoost$configureUI$2(this)); getBinding().f.a(loaded.getMeUser().getPremiumTier(), false); diff --git a/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java b/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java index 67fe1dca55..6d631622bf 100644 --- a/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java +++ b/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java @@ -346,7 +346,7 @@ public final class WidgetSettings extends AppFragment implements OnTabSelectedLi TextView textView = binding.f; m.checkNotNullExpressionValue(textView, "appInfoHeader"); String string = getString(R.string.app_information); - textView.setText(string + " - 115.4 - Beta (115104)"); + textView.setText(string + " - 116.5 - Beta (116105)"); binding.B.setOnClickListener(new WidgetSettings$onViewBound$$inlined$with$lambda$3(this)); binding.u.setOnClickListener(WidgetSettings$onViewBound$1$5.INSTANCE); binding.q.setOnClickListener(WidgetSettings$onViewBound$1$6.INSTANCE); diff --git a/app/src/main/java/com/discord/widgets/settings/guildboost/SettingsGuildBoostSampleGuildAdapter.java b/app/src/main/java/com/discord/widgets/settings/guildboost/SettingsGuildBoostSampleGuildAdapter.java index 003caeee5c..7679cc71ae 100644 --- a/app/src/main/java/com/discord/widgets/settings/guildboost/SettingsGuildBoostSampleGuildAdapter.java +++ b/app/src/main/java/com/discord/widgets/settings/guildboost/SettingsGuildBoostSampleGuildAdapter.java @@ -76,7 +76,7 @@ public final class SettingsGuildBoostSampleGuildAdapter extends MGRecyclerAdapte TextView textView2 = this.binding.f2200b; m.checkNotNullExpressionValue(textView2, "binding.boostedSampleGuildCount"); textView2.setText(StringResourceUtilsKt.getI18nPluralString(a.x(this.itemView, "itemView", "itemView.context"), R.plurals.premium_guild_subscription_available_numSubscriptions, premiumSubscriptionCount, Integer.valueOf(premiumSubscriptionCount))); - this.binding.e.a(item.getGuild().getPremiumTier(), premiumSubscriptionCount); + this.binding.e.a(item.getGuild().getId(), item.getGuild().getPremiumTier(), premiumSubscriptionCount); this.itemView.setOnClickListener(new SettingsGuildBoostSampleGuildAdapter$GuildListItem$onConfigure$1(this, item)); } } diff --git a/app/src/main/java/com/discord/widgets/settings/guildboost/WidgetSettingsGuildBoostSubscriptionAdapter.java b/app/src/main/java/com/discord/widgets/settings/guildboost/WidgetSettingsGuildBoostSubscriptionAdapter.java index 12e4f08b46..7f0f9dd1cb 100644 --- a/app/src/main/java/com/discord/widgets/settings/guildboost/WidgetSettingsGuildBoostSubscriptionAdapter.java +++ b/app/src/main/java/com/discord/widgets/settings/guildboost/WidgetSettingsGuildBoostSubscriptionAdapter.java @@ -286,7 +286,7 @@ public final class WidgetSettingsGuildBoostSubscriptionAdapter extends MGRecycle TextView textView2 = this.binding.e; m.checkNotNullExpressionValue(textView2, "binding.boostedSampleGuildCount"); textView2.setText(b.h(context, R.string.premium_guild_subscription_guild_subsription_subtitle, new Object[]{i18nPluralString}, null, 4)); - this.binding.d.a(guildItem.getGuild().getPremiumTier(), guildItem.getGuild().getPremiumSubscriptionCount()); + this.binding.d.a(guildItem.getGuild().getId(), guildItem.getGuild().getPremiumTier(), guildItem.getGuild().getPremiumSubscriptionCount()); return; } } diff --git a/app/src/main/java/com/discord/widgets/share/WidgetIncomingShare$onSendClicked$2.java b/app/src/main/java/com/discord/widgets/share/WidgetIncomingShare$onSendClicked$2.java index b9e07ba39a..812c876ced 100644 --- a/app/src/main/java/com/discord/widgets/share/WidgetIncomingShare$onSendClicked$2.java +++ b/app/src/main/java/com/discord/widgets/share/WidgetIncomingShare$onSendClicked$2.java @@ -6,6 +6,7 @@ import com.discord.api.channel.Channel; import com.discord.models.user.MeUser; import com.discord.stores.StoreMessages; import com.discord.stores.StoreStream; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.messagesend.MessageResult; import com.discord.utilities.view.extensions.ViewExtensions; import com.discord.widgets.chat.list.ViewEmbedGameInvite; @@ -18,16 +19,16 @@ import kotlin.Pair; import rx.Observable; /* compiled from: WidgetIncomingShare.kt */ public final class WidgetIncomingShare$onSendClicked$2 implements b, Observable>> { - public final /* synthetic */ String $captchaKey; + public final /* synthetic */ CaptchaHelper.CaptchaPayload $captchaPayload; public final /* synthetic */ List $data; public final /* synthetic */ ViewEmbedGameInvite.Model $gameInviteModel; public final /* synthetic */ WidgetIncomingShare this$0; - public WidgetIncomingShare$onSendClicked$2(WidgetIncomingShare widgetIncomingShare, List list, ViewEmbedGameInvite.Model model, String str) { + public WidgetIncomingShare$onSendClicked$2(WidgetIncomingShare widgetIncomingShare, List list, ViewEmbedGameInvite.Model model, CaptchaHelper.CaptchaPayload captchaPayload) { this.this$0 = widgetIncomingShare; this.$data = list; this.$gameInviteModel = model; - this.$captchaKey = str; + this.$captchaPayload = captchaPayload; } /* Return type fixed from 'java.lang.Object' to match base method */ @@ -55,6 +56,6 @@ public final class WidgetIncomingShare$onSendClicked$2 implements b { + public static final class AnonymousClass2 extends o implements Function2 { public final /* synthetic */ WidgetIncomingShare$onSendClicked$3 this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -63,16 +64,16 @@ public final class WidgetIncomingShare$onSendClicked$3 extends o implements Func /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object, java.lang.Object] */ @Override // kotlin.jvm.functions.Function2 - public /* bridge */ /* synthetic */ Unit invoke(AppFragment appFragment, String str) { - invoke(appFragment, str); + public /* bridge */ /* synthetic */ Unit invoke(AppFragment appFragment, CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(appFragment, captchaPayload); return Unit.a; } - public final void invoke(AppFragment appFragment, String str) { + public final void invoke(AppFragment appFragment, CaptchaHelper.CaptchaPayload captchaPayload) { m.checkNotNullParameter(appFragment, ""); - m.checkNotNullParameter(str, "captchaToken"); + m.checkNotNullParameter(captchaPayload, "captchaPayload"); WidgetIncomingShare$onSendClicked$3 widgetIncomingShare$onSendClicked$3 = this.this$0; - WidgetIncomingShare.access$onSendClicked(widgetIncomingShare$onSendClicked$3.this$0, widgetIncomingShare$onSendClicked$3.$context, widgetIncomingShare$onSendClicked$3.$receiver, widgetIncomingShare$onSendClicked$3.$gameInviteModel, widgetIncomingShare$onSendClicked$3.$contentModel, widgetIncomingShare$onSendClicked$3.$isOnCooldown, widgetIncomingShare$onSendClicked$3.$maxFileSizeMB, widgetIncomingShare$onSendClicked$3.$isUserPremium, str); + WidgetIncomingShare.access$onSendClicked(widgetIncomingShare$onSendClicked$3.this$0, widgetIncomingShare$onSendClicked$3.$context, widgetIncomingShare$onSendClicked$3.$receiver, widgetIncomingShare$onSendClicked$3.$gameInviteModel, widgetIncomingShare$onSendClicked$3.$contentModel, widgetIncomingShare$onSendClicked$3.$isOnCooldown, widgetIncomingShare$onSendClicked$3.$maxFileSizeMB, widgetIncomingShare$onSendClicked$3.$isUserPremium, captchaPayload); } } diff --git a/app/src/main/java/com/discord/widgets/share/WidgetIncomingShare$onViewBound$4.java b/app/src/main/java/com/discord/widgets/share/WidgetIncomingShare$onViewBound$4.java index 035b052268..87b489b40b 100644 --- a/app/src/main/java/com/discord/widgets/share/WidgetIncomingShare$onViewBound$4.java +++ b/app/src/main/java/com/discord/widgets/share/WidgetIncomingShare$onViewBound$4.java @@ -18,7 +18,7 @@ public final class WidgetIncomingShare$onViewBound$4 implements View.OnClickList public final /* synthetic */ WidgetIncomingShare this$0; /* compiled from: WidgetIncomingShare.kt */ - @e(c = "com.discord.widgets.share.WidgetIncomingShare$onViewBound$4$1", f = "WidgetIncomingShare.kt", l = {137}, m = "invokeSuspend") + @e(c = "com.discord.widgets.share.WidgetIncomingShare$onViewBound$4$1", f = "WidgetIncomingShare.kt", l = {138}, m = "invokeSuspend") /* renamed from: com.discord.widgets.share.WidgetIncomingShare$onViewBound$4$1 reason: invalid class name */ public static final class AnonymousClass1 extends k implements Function2, Object> { public int label; diff --git a/app/src/main/java/com/discord/widgets/share/WidgetIncomingShare.java b/app/src/main/java/com/discord/widgets/share/WidgetIncomingShare.java index 8a1f8b488e..cb6961d92c 100644 --- a/app/src/main/java/com/discord/widgets/share/WidgetIncomingShare.java +++ b/app/src/main/java/com/discord/widgets/share/WidgetIncomingShare.java @@ -33,6 +33,7 @@ import com.discord.stores.StoreUser; import com.discord.utilities.ShareUtils; import com.discord.utilities.analytics.AnalyticsTracker; import com.discord.utilities.attachments.AttachmentUtilsKt; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.channel.ChannelSelector; import com.discord.utilities.dimen.DimenUtils; import com.discord.utilities.intent.IntentUtils; @@ -482,8 +483,8 @@ public final class WidgetIncomingShare extends AppFragment { widgetIncomingShare.initialize(contentModel); } - public static final /* synthetic */ void access$onSendClicked(WidgetIncomingShare widgetIncomingShare, Context context, WidgetGlobalSearchModel.ItemDataPayload itemDataPayload, ViewEmbedGameInvite.Model model, ContentModel contentModel, boolean z2, int i, boolean z3, String str) { - widgetIncomingShare.onSendClicked(context, itemDataPayload, model, contentModel, z2, i, z3, str); + public static final /* synthetic */ void access$onSendClicked(WidgetIncomingShare widgetIncomingShare, Context context, WidgetGlobalSearchModel.ItemDataPayload itemDataPayload, ViewEmbedGameInvite.Model model, ContentModel contentModel, boolean z2, int i, boolean z3, CaptchaHelper.CaptchaPayload captchaPayload) { + widgetIncomingShare.onSendClicked(context, itemDataPayload, model, contentModel, z2, i, z3, captchaPayload); } public static final /* synthetic */ void access$onSendCompleted(WidgetIncomingShare widgetIncomingShare) { @@ -656,7 +657,7 @@ public final class WidgetIncomingShare extends AppFragment { } } - private final void onSendClicked(Context context, WidgetGlobalSearchModel.ItemDataPayload itemDataPayload, ViewEmbedGameInvite.Model model, ContentModel contentModel, boolean z2, int i, boolean z3, String str) { + private final void onSendClicked(Context context, WidgetGlobalSearchModel.ItemDataPayload itemDataPayload, ViewEmbedGameInvite.Model model, ContentModel contentModel, boolean z2, int i, boolean z3, CaptchaHelper.CaptchaPayload captchaPayload) { Observable.c cVar; List list; boolean z4; @@ -758,7 +759,7 @@ public final class WidgetIncomingShare extends AppFragment { Observable observeMe$default = StoreUser.observeMe$default(companion2.getUsers(), false, 1, null); Observable k = companion2.getChannelsSelected().observeSelectedChannel().k(cVar); m.checkNotNullExpressionValue(k, "StoreStream\n … .compose(filter)"); - Observable z8 = Observable.j(observeMe$default, ObservableExtensionsKt.takeSingleUntilTimeout$default(k, 1000, false, 2, null), WidgetIncomingShare$onSendClicked$1.INSTANCE).Z(1).z(new WidgetIncomingShare$onSendClicked$2(this, list, model, str)); + Observable z8 = Observable.j(observeMe$default, ObservableExtensionsKt.takeSingleUntilTimeout$default(k, 1000, false, 2, null), WidgetIncomingShare$onSendClicked$1.INSTANCE).Z(1).z(new WidgetIncomingShare$onSendClicked$2(this, list, model, captchaPayload)); m.checkNotNullExpressionValue(z8, "Observable\n .comb…ervable.empty()\n }"); WidgetGlobalSearchAdapter widgetGlobalSearchAdapter = this.resultsAdapter; if (widgetGlobalSearchAdapter == null) { @@ -767,8 +768,8 @@ public final class WidgetIncomingShare extends AppFragment { ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.withDimmer(ObservableExtensionsKt.ui(z8, this, widgetGlobalSearchAdapter), getBinding().f2458b, 0), WidgetIncomingShare.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetIncomingShare$onSendClicked$3(this, list, context, itemDataPayload, model, contentModel, z2, i, z3, z4, z5, z6), 62, (Object) null); } - public static /* synthetic */ void onSendClicked$default(WidgetIncomingShare widgetIncomingShare, Context context, WidgetGlobalSearchModel.ItemDataPayload itemDataPayload, ViewEmbedGameInvite.Model model, ContentModel contentModel, boolean z2, int i, boolean z3, String str, int i2, Object obj) { - widgetIncomingShare.onSendClicked(context, itemDataPayload, model, contentModel, z2, i, z3, (i2 & 128) != 0 ? null : str); + public static /* synthetic */ void onSendClicked$default(WidgetIncomingShare widgetIncomingShare, Context context, WidgetGlobalSearchModel.ItemDataPayload itemDataPayload, ViewEmbedGameInvite.Model model, ContentModel contentModel, boolean z2, int i, boolean z3, CaptchaHelper.CaptchaPayload captchaPayload, int i2, Object obj) { + widgetIncomingShare.onSendClicked(context, itemDataPayload, model, contentModel, z2, i, z3, (i2 & 128) != 0 ? null : captchaPayload); } private final void onSendCompleted() { diff --git a/app/src/main/java/com/discord/widgets/user/phone/WidgetUserPhoneManage$captchaLauncher$1.java b/app/src/main/java/com/discord/widgets/user/phone/WidgetUserPhoneManage$captchaLauncher$1.java index 1e42c042cf..9fd98f3af0 100644 --- a/app/src/main/java/com/discord/widgets/user/phone/WidgetUserPhoneManage$captchaLauncher$1.java +++ b/app/src/main/java/com/discord/widgets/user/phone/WidgetUserPhoneManage$captchaLauncher$1.java @@ -1,11 +1,12 @@ package com.discord.widgets.user.phone; +import com.discord.utilities.captcha.CaptchaHelper; import d0.z.d.m; import d0.z.d.o; import kotlin.Unit; import kotlin.jvm.functions.Function1; /* compiled from: WidgetUserPhoneManage.kt */ -public final class WidgetUserPhoneManage$captchaLauncher$1 extends o implements Function1 { +public final class WidgetUserPhoneManage$captchaLauncher$1 extends o implements Function1 { public final /* synthetic */ WidgetUserPhoneManage this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -17,13 +18,13 @@ public final class WidgetUserPhoneManage$captchaLauncher$1 extends o implements /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // kotlin.jvm.functions.Function1 - public /* bridge */ /* synthetic */ Unit invoke(String str) { - invoke(str); + public /* bridge */ /* synthetic */ Unit invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(captchaPayload); return Unit.a; } - public final void invoke(String str) { - m.checkNotNullParameter(str, "token"); - WidgetUserPhoneManage.access$updatePhoneNumber(this.this$0, str); + public final void invoke(CaptchaHelper.CaptchaPayload captchaPayload) { + m.checkNotNullParameter(captchaPayload, "captchaPayload"); + WidgetUserPhoneManage.access$updatePhoneNumber(this.this$0, captchaPayload); } } diff --git a/app/src/main/java/com/discord/widgets/user/phone/WidgetUserPhoneManage.java b/app/src/main/java/com/discord/widgets/user/phone/WidgetUserPhoneManage.java index 555a045033..f1183fcc01 100644 --- a/app/src/main/java/com/discord/widgets/user/phone/WidgetUserPhoneManage.java +++ b/app/src/main/java/com/discord/widgets/user/phone/WidgetUserPhoneManage.java @@ -21,6 +21,7 @@ import com.discord.stores.StoreStream; import com.discord.stores.StoreUser; import com.discord.stores.updates.ObservationDeck; import com.discord.stores.updates.ObservationDeckProvider; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.drawable.DrawableCompat; import com.discord.utilities.intent.IntentUtilsKt; import com.discord.utilities.rest.RestAPI; @@ -147,8 +148,8 @@ public final class WidgetUserPhoneManage extends WidgetUserAccountVerifyBase { widgetUserPhoneManage.source = str; } - public static final /* synthetic */ void access$updatePhoneNumber(WidgetUserPhoneManage widgetUserPhoneManage, String str) { - widgetUserPhoneManage.updatePhoneNumber(str); + public static final /* synthetic */ void access$updatePhoneNumber(WidgetUserPhoneManage widgetUserPhoneManage, CaptchaHelper.CaptchaPayload captchaPayload) { + widgetUserPhoneManage.updatePhoneNumber(captchaPayload); } private final void configureUI(MeUser meUser) { @@ -211,21 +212,21 @@ public final class WidgetUserPhoneManage extends WidgetUserAccountVerifyBase { WidgetNoticeDialog.Companion.show$default(companion, parentFragmentManager, i, i2, i3, b.i(resources4, R.string.cancel, new Object[0], null, 4), g0.mapOf(o.to(Integer.valueOf((int) R.id.notice_ok), new WidgetUserPhoneManage$removePhoneNumber$1(this))), null, null, null, Integer.valueOf((int) R.attr.notice_theme_positive_red), null, null, 0, null, 15808, null); } - private final void updatePhoneNumber(String str) { + private final void updatePhoneNumber(CaptchaHelper.CaptchaPayload captchaPayload) { String textOrEmpty = getBinding().f.getTextOrEmpty(); RestAPI api = RestAPI.Companion.getApi(); - String str2 = this.source; - if (str2 == null) { + String str = this.source; + if (str == null) { m.throwUninitializedPropertyAccessException("source"); } - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.withDimmer$default(ObservableExtensionsKt.restSubscribeOn$default(api.userAddPhone(new RestAPIParams.Phone(textOrEmpty, str2, str)), false, 1, null), getBinding().f2661b, 0, 2, null), this, null, 2, null), WidgetUserPhoneManage.class, (Context) null, (Function1) null, new WidgetUserPhoneManage$updatePhoneNumber$1(this), (Function0) null, (Function0) null, new WidgetUserPhoneManage$updatePhoneNumber$2(this, textOrEmpty), 54, (Object) null); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.withDimmer$default(ObservableExtensionsKt.restSubscribeOn$default(api.userAddPhone(new RestAPIParams.Phone(textOrEmpty, str, captchaPayload != null ? captchaPayload.getCaptchaKey() : null, captchaPayload != null ? captchaPayload.getCaptchaRqtoken() : null)), false, 1, null), getBinding().f2661b, 0, 2, null), this, null, 2, null), WidgetUserPhoneManage.class, (Context) null, (Function1) null, new WidgetUserPhoneManage$updatePhoneNumber$1(this), (Function0) null, (Function0) null, new WidgetUserPhoneManage$updatePhoneNumber$2(this, textOrEmpty), 54, (Object) null); } - public static /* synthetic */ void updatePhoneNumber$default(WidgetUserPhoneManage widgetUserPhoneManage, String str, int i, Object obj) { + public static /* synthetic */ void updatePhoneNumber$default(WidgetUserPhoneManage widgetUserPhoneManage, CaptchaHelper.CaptchaPayload captchaPayload, int i, Object obj) { if ((i & 1) != 0) { - str = null; + captchaPayload = null; } - widgetUserPhoneManage.updatePhoneNumber(str); + widgetUserPhoneManage.updatePhoneNumber(captchaPayload); } @Override // com.discord.widgets.user.account.WidgetUserAccountVerifyBase, com.discord.app.AppFragment diff --git a/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheetViewModel$addRelationship$2.java b/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheetViewModel$addRelationship$2.java index e0b6ecdd3d..5e26ae4e26 100644 --- a/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheetViewModel$addRelationship$2.java +++ b/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheetViewModel$addRelationship$2.java @@ -3,6 +3,7 @@ package com.discord.widgets.user.usersheet; import com.discord.R; import com.discord.app.AppFragment; import com.discord.utilities.captcha.CaptchaErrorBody; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.error.Error; import com.discord.utilities.rest.RestAPIAbortMessages; import com.discord.widgets.captcha.WidgetCaptchaBottomSheet; @@ -28,7 +29,7 @@ public final class WidgetUserSheetViewModel$addRelationship$2 extends o implemen /* compiled from: WidgetUserSheetViewModel.kt */ /* renamed from: com.discord.widgets.user.usersheet.WidgetUserSheetViewModel$addRelationship$2$1$1 reason: invalid class name */ - public static final class AnonymousClass1 extends o implements Function2 { + public static final class AnonymousClass1 extends o implements Function2 { public final /* synthetic */ AnonymousClass1 this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -40,16 +41,16 @@ public final class WidgetUserSheetViewModel$addRelationship$2 extends o implemen /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object, java.lang.Object] */ @Override // kotlin.jvm.functions.Function2 - public /* bridge */ /* synthetic */ Unit invoke(AppFragment appFragment, String str) { - invoke(appFragment, str); + public /* bridge */ /* synthetic */ Unit invoke(AppFragment appFragment, CaptchaHelper.CaptchaPayload captchaPayload) { + invoke(appFragment, captchaPayload); return Unit.a; } - public final void invoke(AppFragment appFragment, String str) { + public final void invoke(AppFragment appFragment, CaptchaHelper.CaptchaPayload captchaPayload) { m.checkNotNullParameter(appFragment, ""); - m.checkNotNullParameter(str, "captchaToken"); + m.checkNotNullParameter(captchaPayload, "captchaPayload"); WidgetUserSheetViewModel$addRelationship$2 widgetUserSheetViewModel$addRelationship$2 = this.this$0.this$0; - widgetUserSheetViewModel$addRelationship$2.this$0.addRelationship(widgetUserSheetViewModel$addRelationship$2.$type, widgetUserSheetViewModel$addRelationship$2.$username, widgetUserSheetViewModel$addRelationship$2.$successMessageStringRes, str); + widgetUserSheetViewModel$addRelationship$2.this$0.addRelationship(widgetUserSheetViewModel$addRelationship$2.$type, widgetUserSheetViewModel$addRelationship$2.$username, widgetUserSheetViewModel$addRelationship$2.$successMessageStringRes, captchaPayload); } } diff --git a/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheetViewModel.java b/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheetViewModel.java index 98eaa393e6..7ffdd58729 100644 --- a/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheetViewModel.java +++ b/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheetViewModel.java @@ -34,6 +34,7 @@ import com.discord.stores.StoreMediaSettings; import com.discord.stores.StoreStream; import com.discord.stores.StoreUserNotes; import com.discord.stores.StoreUserProfile; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.dimen.DimenUtils; import com.discord.utilities.guilds.RoleUtils; import com.discord.utilities.icon.IconUtils; @@ -1829,11 +1830,11 @@ public final class WidgetUserSheetViewModel extends AppViewModel { widgetUserSheetViewModel.updateViewState(viewState); } - public static /* synthetic */ void addRelationship$default(WidgetUserSheetViewModel widgetUserSheetViewModel, Integer num, String str, int i, String str2, int i2, Object obj) { + public static /* synthetic */ void addRelationship$default(WidgetUserSheetViewModel widgetUserSheetViewModel, Integer num, String str, int i, CaptchaHelper.CaptchaPayload captchaPayload, int i2, Object obj) { if ((i2 & 8) != 0) { - str2 = null; + captchaPayload = null; } - widgetUserSheetViewModel.addRelationship(num, str, i, str2); + widgetUserSheetViewModel.addRelationship(num, str, i, captchaPayload); } private final UserProfileAdminView.ViewState createAdminViewState(Channel channel, boolean z2, boolean z3, ManageUserContext manageUserContext, VoiceState voiceState, boolean z4, boolean z5) { @@ -2159,9 +2160,9 @@ public final class WidgetUserSheetViewModel extends AppViewModel { return m.areEqual(a, l); } - public final void addRelationship(Integer num, String str, @StringRes int i, String str2) { + public final void addRelationship(Integer num, String str, @StringRes int i, CaptchaHelper.CaptchaPayload captchaPayload) { m.checkNotNullParameter(str, "username"); - ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(this.restAPI.addRelationship("User Profile", this.userId, num, this.friendToken, str2), false, 1, null), this, null, 2, null), WidgetUserSheetViewModel.class, (Context) null, (Function1) null, new WidgetUserSheetViewModel$addRelationship$2(this, num, str, i), (Function0) null, (Function0) null, new WidgetUserSheetViewModel$addRelationship$1(this, i), 54, (Object) null); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(this.restAPI.addRelationship("User Profile", this.userId, num, this.friendToken, captchaPayload), false, 1, null), this, null, 2, null), WidgetUserSheetViewModel.class, (Context) null, (Function1) null, new WidgetUserSheetViewModel$addRelationship$2(this, num, str, i), (Function0) null, (Function0) null, new WidgetUserSheetViewModel$addRelationship$1(this, i), 54, (Object) null); } public final void banUser() { diff --git a/app/src/main/java/com/discord/widgets/voice/call/WidgetCallFailed$sendFriendRequest$2.java b/app/src/main/java/com/discord/widgets/voice/call/WidgetCallFailed$sendFriendRequest$2.java index be9860c150..87e7038474 100644 --- a/app/src/main/java/com/discord/widgets/voice/call/WidgetCallFailed$sendFriendRequest$2.java +++ b/app/src/main/java/com/discord/widgets/voice/call/WidgetCallFailed$sendFriendRequest$2.java @@ -3,6 +3,7 @@ package com.discord.widgets.voice.call; import android.content.Context; import com.discord.app.AppFragment; import com.discord.utilities.captcha.CaptchaErrorBody; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.error.Error; import com.discord.utilities.rest.RestAPIAbortMessages; import com.discord.widgets.captcha.WidgetCaptchaBottomSheet; @@ -27,7 +28,7 @@ public final class WidgetCallFailed$sendFriendRequest$2 implements Action1 { + public static final class AnonymousClass1 extends o implements Function2 { public final /* synthetic */ AnonymousClass1 this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -39,16 +40,16 @@ public final class WidgetCallFailed$sendFriendRequest$2 implements Action1"); - m.checkNotNullParameter(str, "captchaToken"); + m.checkNotNullParameter(captchaPayload, "captchaPayload"); WidgetCallFailed$sendFriendRequest$2 widgetCallFailed$sendFriendRequest$2 = this.this$0.this$0; - WidgetCallFailed.access$sendFriendRequest(widgetCallFailed$sendFriendRequest$2.this$0, widgetCallFailed$sendFriendRequest$2.$userId, widgetCallFailed$sendFriendRequest$2.$username, str); + WidgetCallFailed.access$sendFriendRequest(widgetCallFailed$sendFriendRequest$2.this$0, widgetCallFailed$sendFriendRequest$2.$userId, widgetCallFailed$sendFriendRequest$2.$username, captchaPayload); } } diff --git a/app/src/main/java/com/discord/widgets/voice/call/WidgetCallFailed.java b/app/src/main/java/com/discord/widgets/voice/call/WidgetCallFailed.java index ba37be21e9..e3c8cbd1e9 100644 --- a/app/src/main/java/com/discord/widgets/voice/call/WidgetCallFailed.java +++ b/app/src/main/java/com/discord/widgets/voice/call/WidgetCallFailed.java @@ -14,6 +14,7 @@ import com.discord.app.AppDialog; import com.discord.databinding.ViewDialogConfirmationBinding; import com.discord.models.user.User; import com.discord.stores.StoreStream; +import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.rest.RestAPI; import com.discord.utilities.rx.ObservableExtensionsKt; import com.discord.utilities.viewbinding.FragmentViewBindingDelegate; @@ -58,8 +59,8 @@ public final class WidgetCallFailed extends AppDialog { widgetCallFailed.configureUI(user); } - public static final /* synthetic */ void access$sendFriendRequest(WidgetCallFailed widgetCallFailed, long j, String str, String str2) { - widgetCallFailed.sendFriendRequest(j, str, str2); + public static final /* synthetic */ void access$sendFriendRequest(WidgetCallFailed widgetCallFailed, long j, String str, CaptchaHelper.CaptchaPayload captchaPayload) { + widgetCallFailed.sendFriendRequest(j, str, captchaPayload); } private final void configureUI(User user) { @@ -77,15 +78,15 @@ public final class WidgetCallFailed extends AppDialog { return (ViewDialogConfirmationBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]); } - private final void sendFriendRequest(long j, String str, String str2) { - ObservableExtensionsKt.ui$default(RestAPI.addRelationship$default(RestAPI.Companion.getApi(), "Call", j, null, null, str2, 8, null), this, null, 2, null).k(o.h(new WidgetCallFailed$sendFriendRequest$1(this), getAppActivity(), new WidgetCallFailed$sendFriendRequest$2(this, j, str))); + private final void sendFriendRequest(long j, String str, CaptchaHelper.CaptchaPayload captchaPayload) { + ObservableExtensionsKt.ui$default(RestAPI.addRelationship$default(RestAPI.Companion.getApi(), "Call", j, null, null, captchaPayload, 8, null), this, null, 2, null).k(o.h(new WidgetCallFailed$sendFriendRequest$1(this), getAppActivity(), new WidgetCallFailed$sendFriendRequest$2(this, j, str))); } - public static /* synthetic */ void sendFriendRequest$default(WidgetCallFailed widgetCallFailed, long j, String str, String str2, int i, Object obj) { + public static /* synthetic */ void sendFriendRequest$default(WidgetCallFailed widgetCallFailed, long j, String str, CaptchaHelper.CaptchaPayload captchaPayload, int i, Object obj) { if ((i & 4) != 0) { - str2 = null; + captchaPayload = null; } - widgetCallFailed.sendFriendRequest(j, str, str2); + widgetCallFailed.sendFriendRequest(j, str, captchaPayload); } @Override // com.discord.app.AppDialog diff --git a/app/src/main/java/com/discord/workers/MessageSendWorker.java b/app/src/main/java/com/discord/workers/MessageSendWorker.java index 7be822f203..bb8e1b52e2 100644 --- a/app/src/main/java/com/discord/workers/MessageSendWorker.java +++ b/app/src/main/java/com/discord/workers/MessageSendWorker.java @@ -107,7 +107,7 @@ public final class MessageSendWorker extends Worker { String string3 = getInputData().getString("com.discord.intent.extra.EXTRA_MESSAGE_ID"); long j2 = getInputData().getLong("com.discord.intent.extra.EXTRA_STICKER_ID", -1); try { - Observable takeSingleUntilTimeout$default = ObservableExtensionsKt.takeSingleUntilTimeout$default(ObservableExtensionsKt.restSubscribeOn(RestAPI.Companion.getApi().sendMessage(j, new RestAPIParams.Message(string2, string3, null, null, j2 != -1 ? d0.t.m.listOf(Long.valueOf(j2)) : null, null, null, null, 236, null)), false), 0, false, 3, null); + Observable takeSingleUntilTimeout$default = ObservableExtensionsKt.takeSingleUntilTimeout$default(ObservableExtensionsKt.restSubscribeOn(RestAPI.Companion.getApi().sendMessage(j, new RestAPIParams.Message(string2, string3, null, null, j2 != -1 ? d0.t.m.listOf(Long.valueOf(j2)) : null, null, null, null, null, 492, null)), false), 0, false, 3, null); Objects.requireNonNull(takeSingleUntilTimeout$default); Message message = (Message) new j0.m.a(takeSingleUntilTimeout$default).b(); NotificationData.DisplayPayload displayPayload = NotificationCache.INSTANCE.get(j); diff --git a/app/src/main/res/values-ar-rXB/plurals.xml b/app/src/main/res/values-ar-rXB/plurals.xml index 52f3e992e9..8d45b9325b 100644 --- a/app/src/main/res/values-ar-rXB/plurals.xml +++ b/app/src/main/res/values-ar-rXB/plurals.xml @@ -349,8 +349,8 @@ ‏‮{count}‬‏ ‏‮messages‬‏ - ‏‮1‬‏ ‏‮message‬‏ - ‏‮{count}‬‏ ‏‮messages‬‏ + ‏‮1‬‏ ‏‮Message‬‏ + ‏‮{count}‬‏ ‏‮Messages‬‏ ‏‮{#}‬‏ ‏‮Unknown‬‏ ‏‮Player‬‏ diff --git a/app/src/main/res/values-ar-rXB/strings.xml b/app/src/main/res/values-ar-rXB/strings.xml index 5e7487f889..556a7729d3 100644 --- a/app/src/main/res/values-ar-rXB/strings.xml +++ b/app/src/main/res/values-ar-rXB/strings.xml @@ -98,7 +98,8 @@ ‏‮com.discord.app.AppScrollingViewBehavior‬‏ ‏‮This‬‏ ‏‮may‬‏ ‏‮take‬‏ ‏‮a‬‏ ‏‮moment.‬‏ ‏‮Actions‬‏ - ‏‮No‬‏ ‏‮recent‬‏ ‏‮messages‬‏ + ‏‮Check‬‏ ‏‮back‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮bit‬‏ + ‏‮All‬‏ ‏‮channels‬‏ ‏‮are‬‏ ‏‮chilling‬‏ ‏‮{count}‬‏ ‏‮Active‬‏ ‏‮Now‬‏ ‏‮Many‬‏ ‏‮recent‬‏ ‏‮messages‬‏ @@ -307,6 +308,7 @@ ‏‮All‬‏ ‏‮App‬‏ ‏‮Directory‬‏ ‏‮Home‬‏ ‏‮App‬‏ ‏‮Directory‬‏ ‏‮Search‬‏ + ‏‮{categoryName}‬‏ ‏‮Apps‬‏ ‏‮No‬‏ ‏‮matches‬‏ ‏‮found‬‏ ‏‮in‬‏ ‏‮{categoryName}‬‏ ‏‮Try‬‏ ‏‮another‬‏ ‏‮search‬‏ ‏‮or‬‏ ‏‮$[see‬‏ ‏‮results‬‏ ‏‮from‬‏ ‏‮all‬‏ ‏‮categories](viewAllHook)‬‏ ‏‮No‬‏ ‏‮matches‬‏ ‏‮found‬‏ @@ -316,7 +318,7 @@ ‏‮Developer‬‏ ‏‮Resources‬‏ ‏‮Customize‬‏ ‏‮your‬‏ ‏‮server‬‏ ‏‮with‬‏ ‏‮apps‬‏ ‏‮Automate‬‏ ‏‮useful‬‏ ‏‮tasks‬‏ ‏‮or‬‏ ‏‮introduce‬‏ ‏‮a‬‏ ‏‮bit‬‏ ‏‮of‬‏ ‏‮delight‬‏ - ‏‮{categoryName}‬‏ ‏‮Apps‬‏ + ‏‮Top‬‏ ‏‮{categoryName}‬‏ ‏‮Apps‬‏ ‏‮Popular‬‏ ‏‮Now‬‏ ‏‮On‬‏ ‏‮the‬‏ ‏‮Rise‬‏ ‏‮Explore‬‏ ‏‮Collection‬‏ @@ -331,6 +333,7 @@ ‏‮Categories‬‏ ‏‮Popular‬‏ ‏‮Slash‬‏ ‏‮Commands‬‏ ‏‮Overview‬‏ + ‏‮Granted‬‏ ‏‮Permissions‬‏ ‏‮Supported‬‏ ‏‮Languages‬‏ ‏‮Links‬‏ ‏‮Privacy‬‏ ‏‮Policy‬‏ @@ -852,6 +855,7 @@ ‏‮Beta‬‏ ‏‮Bulgarian‬‏ ‏‮Billing‬‏ + ‏‮Accept‬‏ ‏‮the‬‏ ‏‮Terms‬‏ ‏‮of‬‏ ‏‮Service‬‏ ‏‮and‬‏ ‏‮Paid‬‏ ‏‮Services‬‏ ‏‮Terms‬‏ ‏‮to‬‏ ‏‮continue‬‏ ‏‮Accept‬‏ ‏‮the‬‏ ‏‮Terms‬‏ ‏‮of‬‏ ‏‮Service‬‏ ‏‮to‬‏ ‏‮continue‬‏ ‏‮Account‬‏ ‏‮Credit‬‏ ‏‮When‬‏ ‏‮you‬‏ ‏‮accept‬‏ ‏‮a‬‏ ‏‮gift‬‏ ‏‮while‬‏ ‏‮you‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮running‬‏ ‏‮subscription,‬‏ ‏‮or‬‏ ‏‮accept‬‏ ‏‮a‬‏ ‏‮gift‬‏ ‏‮that‬‏ ‏‮differs‬‏ ‏‮from‬‏ ‏‮your‬‏ ‏‮current‬‏ ‏‮subscription,‬‏ ‏‮it‬‏ ‏‮will‬‏ ‏‮appear‬‏ ‏‮here‬‏ ‏‮as‬‏ ‏‮credit.‬‏ @@ -919,7 +923,9 @@ ‏‮Is‬‏ ‏‮this‬‏ ‏‮a‬‏ ‏‮gift?‬‏ ‏‮Legal‬‏ ‏‮Mumbo‬‏ ‏‮Jumbo‬‏ ‏‮I‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮[Discord‬‏ ‏‮Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{url}‬‏‏‮)‬‏ + ‏‮I‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮[Discord‬‏ ‏‮Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsURL}‬‏‏‮)‬‏ ‏‮and‬‏ ‏‮[Paid‬‏ ‏‮Services‬‏ ‏‮Terms](‬‏‏‮{paidURL}‬‏‏‮)‬‏ ‏‮I‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮[Discord‬‏ ‏‮Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{url}‬‏‏‮)‬‏ ‏‮and‬‏ ‏‮that‬‏ ‏‮my‬‏ ‏‮subscription‬‏ ‏‮will‬‏ ‏‮renew‬‏ ‏‮for‬‏ ‏‮**‬‏‏‮{rate}‬‏‏‮**‬‏ ‏‮on‬‏ ‏‮**‬‏‏‮{renewalDate}‬‏‏‮**.‬‏ ‏‮I‬‏ ‏‮can‬‏ ‏‮cancel‬‏ ‏‮anytime‬‏ ‏‮under‬‏ ‏‮User‬‏ ‏‮Settings‬‏ ‏‮>‬‏ ‏‮Subscriptions,‬‏ ‏‮and‬‏ ‏‮previous‬‏ ‏‮charges‬‏ ‏‮won’t‬‏ ‏‮be‬‏ ‏‮refunded‬‏ ‏‮unless‬‏ ‏‮required‬‏ ‏‮by‬‏ ‏‮law.‬‏ + ‏‮I‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮[Discord‬‏ ‏‮Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsURL}‬‏‏‮),‬‏ ‏‮[Paid‬‏ ‏‮Services‬‏ ‏‮Terms](‬‏‏‮{paidURL}‬‏‏‮),‬‏ ‏‮and‬‏ ‏‮that‬‏ ‏‮my‬‏ ‏‮subscription‬‏ ‏‮will‬‏ ‏‮renew‬‏ ‏‮for‬‏ ‏‮**‬‏‏‮{rate}‬‏‏‮**‬‏ ‏‮on‬‏ ‏‮**‬‏‏‮{renewalDate}‬‏‏‮**.‬‏ ‏‮I‬‏ ‏‮can‬‏ ‏‮cancel‬‏ ‏‮anytime‬‏ ‏‮under‬‏ ‏‮User‬‏ ‏‮Settings‬‏ ‏‮>‬‏ ‏‮Subscriptions,‬‏ ‏‮and‬‏ ‏‮previous‬‏ ‏‮charges‬‏ ‏‮won’t‬‏ ‏‮be‬‏ ‏‮refunded‬‏ ‏‮unless‬‏ ‏‮required‬‏ ‏‮by‬‏ ‏‮law.‬‏ ‏‮Change‬‏ ‏‮Payment‬‏ ‏‮Method‬‏ ‏‮Manage‬‏ ‏‮subscription‬‏ ‏‮in‬‏ ‏‮Google‬‏ ‏‮Play‬‏ ‏‮Manage‬‏ ‏‮Subscription‬‏ @@ -936,6 +942,8 @@ ‏‮These‬‏ ‏‮are‬‏ ‏‮your‬‏ ‏‮current‬‏ ‏‮subscriptions.‬‏ ‏‮They‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮billed‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮same‬‏ ‏‮billing‬‏ ‏‮cycle.‬‏ ‏‮You‬‏ ‏‮can‬‏ ‏‮update‬‏ ‏‮any‬‏ ‏‮subscription‬‏ ‏‮at‬‏ ‏‮any‬‏ ‏‮time.‬‏ ‏‮By‬‏ ‏‮purchasing‬‏ ‏‮a‬‏ ‏‮Discord‬‏ ‏‮subscription,‬‏ ‏‮you‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮our‬‏ ‏‮[Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsUrl}‬‏‏‮)‬‏ ‏‮and‬‏ ‏‮[Privacy‬‏ ‏‮Policy](‬‏‏‮{privacyUrl}‬‏‏‮).‬‏ ‏‮Nitro‬‏ ‏‮and‬‏ ‏‮Server‬‏ ‏‮Boost‬‏ ‏‮are‬‏ ‏‮auto-recurring‬‏ ‏‮subscriptions.‬‏ ‏‮You‬‏ ‏‮authorize‬‏ ‏‮Discord‬‏ ‏‮to‬‏ ‏‮immediately‬‏ ‏‮charge‬‏ ‏‮the‬‏ ‏‮payment‬‏ ‏‮method‬‏ ‏‮provided‬‏ ‏‮at‬‏ ‏‮!!‬‏‏‮{price}‬‏‏‮!!‬‏ ‏‮and‬‏ ‏‮to‬‏ ‏‮continue‬‏ ‏‮to‬‏ ‏‮do‬‏ ‏‮so‬‏ ‏‮automatically‬‏ ‏‮monthly‬‏ ‏‮until‬‏ ‏‮you‬‏ ‏‮cancel.‬‏ ‏‮You‬‏ ‏‮may‬‏ ‏‮cancel‬‏ ‏‮anytime.‬‏ ‏‮By‬‏ ‏‮purchasing‬‏ ‏‮a‬‏ ‏‮Discord‬‏ ‏‮subscription,‬‏ ‏‮you‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮our‬‏ ‏‮[Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsUrl}‬‏‏‮)‬‏ ‏‮and‬‏ ‏‮[Privacy‬‏ ‏‮Policy](‬‏‏‮{privacyUrl}‬‏‏‮).‬‏ ‏‮Nitro‬‏ ‏‮and‬‏ ‏‮Server‬‏ ‏‮Boost‬‏ ‏‮are‬‏ ‏‮auto-recurring‬‏ ‏‮subscriptions.‬‏ ‏‮You‬‏ ‏‮authorize‬‏ ‏‮Discord‬‏ ‏‮to‬‏ ‏‮immediately‬‏ ‏‮charge‬‏ ‏‮the‬‏ ‏‮payment‬‏ ‏‮method‬‏ ‏‮provided‬‏ ‏‮at‬‏ ‏‮!!‬‏‏‮{price}‬‏‏‮!!‬‏ ‏‮and‬‏ ‏‮to‬‏ ‏‮continue‬‏ ‏‮to‬‏ ‏‮do‬‏ ‏‮so‬‏ ‏‮automatically‬‏ ‏‮yearly‬‏ ‏‮until‬‏ ‏‮you‬‏ ‏‮cancel.‬‏ ‏‮You‬‏ ‏‮may‬‏ ‏‮cancel‬‏ ‏‮anytime.‬‏ + ‏‮By‬‏ ‏‮purchasing‬‏ ‏‮a‬‏ ‏‮Discord‬‏ ‏‮subscription,‬‏ ‏‮you‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮our‬‏ ‏‮[Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsUrl}‬‏‏‮),‬‏ ‏‮[Paid‬‏ ‏‮Services‬‏ ‏‮Terms](‬‏‏‮{paidURL}‬‏‏‮),‬‏ ‏‮and‬‏ ‏‮[Privacy‬‏ ‏‮Policy](‬‏‏‮{privacyUrl}‬‏‏‮).‬‏ ‏‮Nitro‬‏ ‏‮and‬‏ ‏‮Server‬‏ ‏‮Boost‬‏ ‏‮are‬‏ ‏‮auto-recurring‬‏ ‏‮subscriptions.‬‏ ‏‮You‬‏ ‏‮authorize‬‏ ‏‮Discord‬‏ ‏‮to‬‏ ‏‮immediately‬‏ ‏‮charge‬‏ ‏‮the‬‏ ‏‮payment‬‏ ‏‮method‬‏ ‏‮provided‬‏ ‏‮at‬‏ ‏‮!!‬‏‏‮{price}‬‏‏‮!!‬‏ ‏‮and‬‏ ‏‮to‬‏ ‏‮continue‬‏ ‏‮to‬‏ ‏‮do‬‏ ‏‮so‬‏ ‏‮automatically‬‏ ‏‮monthly‬‏ ‏‮until‬‏ ‏‮you‬‏ ‏‮cancel.‬‏ ‏‮You‬‏ ‏‮may‬‏ ‏‮cancel‬‏ ‏‮anytime.‬‏ + ‏‮By‬‏ ‏‮purchasing‬‏ ‏‮a‬‏ ‏‮Discord‬‏ ‏‮subscription,‬‏ ‏‮you‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮our‬‏ ‏‮[Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsUrl}‬‏‏‮),‬‏ ‏‮[Paid‬‏ ‏‮Services‬‏ ‏‮Terms](‬‏‏‮{paidURL}‬‏‏‮),‬‏ ‏‮and‬‏ ‏‮[Privacy‬‏ ‏‮Policy](‬‏‏‮{privacyUrl}‬‏‏‮).‬‏ ‏‮Nitro‬‏ ‏‮and‬‏ ‏‮Server‬‏ ‏‮Boost‬‏ ‏‮are‬‏ ‏‮auto-recurring‬‏ ‏‮subscriptions.‬‏ ‏‮You‬‏ ‏‮authorize‬‏ ‏‮Discord‬‏ ‏‮to‬‏ ‏‮immediately‬‏ ‏‮charge‬‏ ‏‮the‬‏ ‏‮payment‬‏ ‏‮method‬‏ ‏‮provided‬‏ ‏‮at‬‏ ‏‮!!‬‏‏‮{price}‬‏‏‮!!‬‏ ‏‮and‬‏ ‏‮to‬‏ ‏‮continue‬‏ ‏‮to‬‏ ‏‮do‬‏ ‏‮so‬‏ ‏‮automatically‬‏ ‏‮yearly‬‏ ‏‮until‬‏ ‏‮you‬‏ ‏‮cancel.‬‏ ‏‮You‬‏ ‏‮may‬‏ ‏‮cancel‬‏ ‏‮anytime.‬‏ ‏‮This‬‏ ‏‮payment‬‏ ‏‮source‬‏ ‏‮is‬‏ ‏‮invalid.‬‏ ‏‮Payment‬‏ ‏‮Methods‬‏ ‏‮Amount‬‏ @@ -1104,10 +1112,13 @@ ‏‮Swoosh.‬‏ ‏‮Notifications‬‏ ‏‮are‬‏ ‏‮a‬‏ ‏‮go!‬‏ ‏‮Output‬‏ ‏‮devices‬‏ ‏‮cannot‬‏ ‏‮be‬‏ ‏‮changed‬‏ ‏‮while‬‏ ‏‮using‬‏ ‏‮the‬‏ ‏‮browser.‬‏ ‏‮[Download](onDownloadClick)‬‏ ‏‮the‬‏ ‏‮desktop‬‏ ‏‮application‬‏ ‏‮to‬‏ ‏‮get‬‏ ‏‮full‬‏ ‏‮control‬‏ ‏‮over‬‏ ‏‮output‬‏ ‏‮devices.‬‏ ‏‮Discord‬‏ ‏‮Bug‬‏ ‏‮Hunter‬‏ + ‏‮Bug‬‏ ‏‮submitted‬‏ ‏‮Detailed‬‏ ‏‮description‬‏ ‏‮(optional)‬‏ ‏‮Issue‬‏ ‏‮name‬‏ ‏‮required‬‏ ‏‮Priority‬‏ ‏‮required‬‏ + ‏‮Failed‬‏ ‏‮to‬‏ ‏‮submit‬‏ ‏‮report‬‏ ‏‮Feature‬‏ ‏‮area‬‏ + ‏‮Bug‬‏ ‏‮reporter‬‏ ‏‮turned‬‏ ‏‮off‬‏ ‏‮What\'s‬‏ ‏‮the‬‏ ‏‮issue?‬‏ ‏‮Screenshot‬‏ ‏‮removed‬‏ ‏‮from‬‏ ‏‮report‬‏ ‏‮Priority‬‏ @@ -1119,10 +1130,16 @@ ‏‮Low‬‏ ‏‮(P2)‬‏ ‏‮**Not‬‏ ‏‮urgent‬‏ ‏‮and‬‏ ‏‮not‬‏ ‏‮important.**‬‏ ‏‮P3‬‏ ‏‮allows‬‏ ‏‮us‬‏ ‏‮to‬‏ ‏‮acknowledge‬‏ ‏‮that‬‏ ‏‮something‬‏ ‏‮is‬‏ ‏‮an‬‏ ‏‮issue,‬‏ ‏‮but‬‏ ‏‮these‬‏ ‏‮kinds‬‏ ‏‮of‬‏ ‏‮issues‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮need‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮fixed‬‏ ‏‮until‬‏ ‏‮other‬‏ ‏‮more‬‏ ‏‮pressing‬‏ ‏‮concerns‬‏ ‏‮are‬‏ ‏‮dealt‬‏ ‏‮with.‬‏ ‏‮Very‬‏ ‏‮Low‬‏ ‏‮(P3)‬‏ + ‏‮Remove‬‏ ‏‮screenshot‬‏ ‏‮Select‬‏ ‏‮Feature‬‏ ‏‮Area‬‏ + ‏‮Something‬‏ ‏‮is‬‏ ‏‮broken‬‏ ‏‮on‬‏ ‏‮this‬‏ ‏‮screen‬‏ ‏‮Sending‬‏ ‏‮report‬‏ ‏‮Report‬‏ ‏‮sent‬‏ + ‏‮Submitting‬‏ + ‏‮Submitting‬‏ ‏‮Bug‬‏ ‏‮Submit‬‏ ‏‮a‬‏ ‏‮Bug‬‏ ‏‮Report‬‏ + ‏‮Turn‬‏ ‏‮this‬‏ ‏‮thing‬‏ ‏‮off‬‏ ‏‮for‬‏ ‏‮me‬‏ + ‏‮What‬‏ ‏‮did‬‏ ‏‮you‬‏ ‏‮expect‬‏ ‏‮to‬‏ ‏‮see?‬‏ ‏‮Build‬‏ ‏‮Override‬‏ ‏‮Apply‬‏ ‏‮Clear‬‏ @@ -1326,16 +1343,6 @@ ‏‮You‬‏ ‏‮will‬‏ ‏‮only‬‏ ‏‮be‬‏ ‏‮notified‬‏ ‏‮when‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮mentioned‬‏ ‏‮because‬‏ ‏‮**!!‬‏‏‮{name}‬‏‏‮!!**‬‏ ‏‮is‬‏ ‏‮set‬‏ ‏‮to‬‏ ‏‮**Only‬‏ ‏‮@mentions**.‬‏ ‏‮Channel‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮deleted.‬‏ ‏‮Channel‬‏ ‏‮header‬‏ - ‏‮Channel‬‏ ‏‮Info‬‏ - ‏‮Muting‬‏ ‏‮prevents‬‏ ‏‮unread‬‏ ‏‮indicators‬‏ ‏‮and‬‏ ‏‮notifications‬‏ ‏‮from‬‏ ‏‮appearing‬‏ ‏‮unless‬‏ ‏‮mentioned.‬‏ - ‏‮Name‬‏ - ‏‮Notifications‬‏ - ‏‮Details‬‏ - ‏‮Topic‬‏ - ‏‮Edit‬‏ - ‏‮Your‬‏ ‏‮settings‬‏ - ‏‮Hide‬‏ ‏‮Channel‬‏ ‏‮Information‬‏ - ‏‮Show‬‏ ‏‮Channel‬‏ ‏‮Information‬‏ ‏‮Your‬‏ ‏‮role‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮permission‬‏ ‏‮to‬‏ ‏‮access‬‏ ‏‮this‬‏ ‏‮channel.‬‏ ‏‮Channel‬‏ ‏‮Locked‬‏ ‏‮Permissions‬‏ ‏‮synced‬‏ ‏‮with‬‏ ‏‮category:‬‏ ‏‮**‬‏‏‮{categoryName}‬‏‏‮**‬‏ @@ -2111,6 +2118,7 @@ ‏‮Cancel‬‏ ‏‮Event‬‏ ‏‮This‬‏ ‏‮message‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮deleted‬‏ ‏‮in‬‏ ‏‮all‬‏ ‏‮servers‬‏ ‏‮following‬‏ ‏‮this‬‏ ‏‮channel.‬‏ ‏‮It‬‏ ‏‮may‬‏ ‏‮take‬‏ ‏‮some‬‏ ‏‮time‬‏ ‏‮before‬‏ ‏‮it’s‬‏ ‏‮removed‬‏ ‏‮from‬‏ ‏‮all‬‏ ‏‮servers.‬‏ ‏‮Delete‬‏ ‏‮Post‬‏ + ‏‮Are‬‏ ‏‮you‬‏ ‏‮sure‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮to‬‏ ‏‮delete‬‏ ‏‮this‬‏ ‏‮post?‬‏ ‏‮Delete‬‏ ‏‮Message‬‏ ‏‮Are‬‏ ‏‮you‬‏ ‏‮sure‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮to‬‏ ‏‮delete‬‏ ‏‮this‬‏ ‏‮message?‬‏ ‏‮You‬‏ ‏‮can‬‏ ‏‮hold‬‏ ‏‮down‬‏ ‏‮shift‬‏ ‏‮when‬‏ ‏‮clicking‬‏ ‏‮**delete‬‏ ‏‮message**‬‏ ‏‮to‬‏ ‏‮bypass‬‏ ‏‮this‬‏ ‏‮confirmation‬‏ ‏‮entirely.‬‏ @@ -2352,6 +2360,7 @@ ‏‮Have‬‏ ‏‮feedback?‬‏ ‏‮[Take‬‏ ‏‮the‬‏ ‏‮survey](‬‏‏‮{surveyURL}‬‏‏‮)‬‏ ‏‮Catch‬‏ ‏‮some‬‏ ‏‮fish‬‏ ‏‮with‬‏ ‏‮your‬‏ ‏‮friends‬‏ ‏‮in‬‏ ‏‮our‬‏ ‏‮new‬‏ ‏‮game‬‏ ‏‮Fishington.io!‬‏ ‏‮Play‬‏ ‏‮Fishington‬‏ ‏‮with‬‏ ‏‮your‬‏ ‏‮friends!‬‏ + ‏‮Preview‬‏ ‏‮In‬‏ ‏‮Activity‬‏ ‏‮In‬‏ ‏‮!!‬‏‏‮{applicationName}‬‏‏‮!!‬‏ ‏‮Coming‬‏ ‏‮soon‬‏ ‏‮to‬‏ ‏‮mobile‬‏ @@ -2541,6 +2550,7 @@ ‏‮Maybe‬‏ ‏‮try‬‏ ‏‮mentioning‬‏ ‏‮a‬‏ ‏‮role‬‏ ‏‮or‬‏ ‏‮individual‬‏ ‏‮users‬‏ ‏‮instead?‬‏ ‏‮Send‬‏ ‏‮Now‬‏ ‏‮Examples‬‏ + ‏‮[attachment]‬‏ ‏‮Exit‬‏ ‏‮Stage‬‏ ‏‮Exit‬‏ ‏‮Full‬‏ ‏‮Screen‬‏ ‏‮Enable‬‏ ‏‮subtitles‬‏ @@ -2940,13 +2950,22 @@ ‏‮This‬‏ ‏‮channel‬‏ ‏‮isn’t‬‏ ‏‮fully‬‏ ‏‮built‬‏ ‏‮yet‬‏ ‏‮for‬‏ ‏‮Android‬‏ ‏‮devices.‬‏ ‏‮Log‬‏ ‏‮on‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮desktop‬‏ ‏‮client‬‏ ‏‮for‬‏ ‏‮the‬‏ ‏‮full‬‏ ‏‮experience.‬‏ ‏‮Forum‬‏ ‏‮Channel‬‏ ‏‮Start‬‏ ‏‮discussions‬‏ ‏‮by‬‏ ‏‮topics‬‏ + ‏‮Guidelines‬‏ + ‏‮Create‬‏ ‏‮Guidelines‬‏ + ‏‮Help‬‏ ‏‮your‬‏ ‏‮members‬‏ ‏‮understand‬‏ ‏‮what‬‏ ‏‮this‬‏ ‏‮channel‬‏ ‏‮is‬‏ ‏‮for,‬‏ ‏‮and‬‏ ‏‮set‬‏ ‏‮rules‬‏ ‏‮to‬‏ ‏‮keep‬‏ ‏‮it‬‏ ‏‮civil!‬‏ + ‏‮Create‬‏ ‏‮Guidelines‬‏ ‏‮for‬‏ ‏‮this‬‏ ‏‮channel!‬‏ + ‏‮Show‬‏ ‏‮More‬‏ + ‏‮There’s‬‏ ‏‮a‬‏ ‏‮post‬‏ ‏‮that’s‬‏ ‏‮pinned‬‏ ‏‮already.‬‏ ‏‮Pinning‬‏ ‏‮this‬‏ ‏‮post‬‏ ‏‮will‬‏ ‏‮remove‬‏ ‏‮the‬‏ ‏‮existing‬‏ ‏‮pinned‬‏ ‏‮post.‬‏ + ‏‮Pin‬‏ ‏‮this‬‏ ‏‮post?‬‏ ‏‮Post‬‏ ‏‮{title}‬‏‏‮,‬‏ ‏‮{count}‬‏ ‏‮This‬‏ ‏‮post‬‏ ‏‮was‬‏ ‏‮archived‬‏ ‏‮by‬‏ ‏‮a‬‏ ‏‮moderator.‬‏ ‏‮Only‬‏ ‏‮moderators‬‏ ‏‮can‬‏ ‏‮unarchive‬‏ ‏‮it.‬‏ ‏‮There’s‬‏ ‏‮no‬‏ ‏‮one‬‏ ‏‮in‬‏ ‏‮this‬‏ ‏‮post.‬‏ ‏‮{count}‬‏ + ‏‮{count}‬‏ ‏‮New‬‏ ‏‮Enter‬‏ ‏‮a‬‏ ‏‮message…‬‏ ‏‮Post‬‏ ‏‮Settings‬‏ - ‏‮Enter‬‏ ‏‮a‬‏ ‏‮Title…‬‏ + ‏‮Start‬‏ ‏‮a‬‏ ‏‮conversation…‬‏ + ‏‮Title‬‏ ‏‮Typing…‬‏ ‏‮Older‬‏ ‏‮Posts‬‏ ‏‮Sort‬‏ ‏‮by:‬‏ ‏‮Latest‬‏ ‏‮Activity‬‏ @@ -3343,28 +3362,35 @@ ‏‮Anyone‬‏ ‏‮with‬‏ ‏‮access‬‏ ‏‮to‬‏ ‏‮this‬‏ ‏‮text‬‏ ‏‮channel‬‏ ‏‮will‬‏ ‏‮see‬‏ ‏‮the‬‏ ‏‮alert.‬‏ ‏‮Select‬‏ ‏‮a‬‏ ‏‮text‬‏ ‏‮channel‬‏ ‏‮Choose‬‏ ‏‮a‬‏ ‏‮channel‬‏ ‏‮to‬‏ ‏‮post‬‏ ‏‮the‬‏ ‏‮alert‬‏ ‏‮message‬‏ ‏‮to.‬‏ ‏‮The‬‏ ‏‮alert‬‏ ‏‮will‬‏ ‏‮contain‬‏ ‏‮the‬‏ ‏‮flagged‬‏ ‏‮message‬‏ ‏‮contents,‬‏ ‏‮user,‬‏ ‏‮and‬‏ ‏‮channel‬‏ ‏‮it‬‏ ‏‮was‬‏ ‏‮originally‬‏ ‏‮posted‬‏ ‏‮to.‬‏ + ‏‮Edit‬‏ ‏‮Channel‬‏ ‏‮Add‬‏ ‏‮Action‬‏ ‏‮Post‬‏ ‏‮Alert‬‏ ‏‮To‬‏ ‏‮Channel‬‏ ‏‮Then‬‏ ‏‮take‬‏ ‏‮these‬‏ ‏‮action(s)‬‏ - ‏‮Add‬‏ ‏‮Another‬‏ ‏‮Rule‬‏ + ‏‮Add‬‏ ‏‮Another‬‏ ‏‮{ruleName}‬‏ ‏‮Your‬‏ ‏‮message‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮prevented‬‏ ‏‮from‬‏ ‏‮editing‬‏ ‏‮because‬‏ ‏‮it‬‏ ‏‮triggered‬‏ ‏‮AutoMod‬‏ ‏‮filters‬‏ ‏‮this‬‏ ‏‮community‬‏ ‏‮uses.‬‏ ‏‮reverted‬‏ ‏‮•‬‏ ‏‮[Learn‬‏ ‏‮More](‬‏‏‮{helpUrl}‬‏‏‮)‬‏ ‏‮Your‬‏ ‏‮message‬‏ ‏‮was‬‏ ‏‮not‬‏ ‏‮sent‬‏ ‏‮because‬‏ ‏‮it‬‏ ‏‮triggered‬‏ ‏‮AutoMod‬‏ ‏‮filters‬‏ ‏‮this‬‏ ‏‮community‬‏ ‏‮uses.‬‏ ‏‮Please‬‏ ‏‮add‬‏ ‏‮at‬‏ ‏‮least‬‏ ‏‮one‬‏ ‏‮action‬‏ ‏‮to‬‏ ‏‮this‬‏ ‏‮rule.‬‏ + ‏‮Filter‬‏ ‏‮Name‬‏ ‏‮(Optional)‬‏ + ‏‮Enter‬‏ ‏‮a‬‏ ‏‮name‬‏ ‏‮for‬‏ ‏‮this‬‏ ‏‮filter‬‏ ‏‮(optional)‬‏ ‏‮Keywords‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮comma‬‏ ‏‮separated‬‏ ‏‮(Ex:‬‏ ‏‮cat,‬‏ ‏‮dog,‬‏ ‏‮tiger…)‬‏ ‏‮{keyword}‬‏ ‏‮has‬‏ ‏‮an‬‏ ‏‮invalid‬‏ ‏‮length.‬‏ ‏‮Keywords‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮between‬‏ ‏‮{min}‬‏ ‏‮and‬‏ ‏‮{max}‬‏ ‏‮characters.‬‏ ‏‮Please‬‏ ‏‮enter‬‏ ‏‮at‬‏ ‏‮least‬‏ ‏‮one‬‏ ‏‮keyword.‬‏ ‏‮Please‬‏ ‏‮enter‬‏ ‏‮no‬‏ ‏‮more‬‏ ‏‮than‬‏ ‏‮{limit}‬‏ ‏‮keywords.‬‏ ‏‮Filter‬‏ ‏‮messages‬‏ ‏‮containing‬‏ ‏‮these‬‏ ‏‮terms‬‏ ‏‮or‬‏ ‏‮phrases‬‏ ‏‮from‬‏ ‏‮your‬‏ ‏‮server.‬‏ ‏‮No‬‏ ‏‮keywords‬‏ ‏‮have‬‏ ‏‮been‬‏ ‏‮added.‬‏ - ‏‮Custom‬‏ ‏‮Keyword‬‏ ‏‮Filter‬‏ + ‏‮Keyword‬‏ ‏‮Filter‬‏ ‏‮If‬‏ ‏‮these‬‏ ‏‮keywords‬‏ ‏‮are‬‏ ‏‮sent…‬‏ ‏‮{count}‬‏ ‏‮words‬‏ ‏‮Enter‬‏ ‏‮your‬‏ ‏‮keywords‬‏ ‏‮here!‬‏ ‏‮Filter‬‏ ‏‮messages‬‏ ‏‮containing‬‏ ‏‮malicious‬‏ ‏‮links‬‏ ‏‮from‬‏ ‏‮your‬‏ ‏‮server.‬‏ - ‏‮Spam‬‏ ‏‮Link‬‏ ‏‮Filter‬‏ + ‏‮Harmful‬‏ ‏‮Link‬‏ ‏‮Filter‬‏ ‏‮If‬‏ ‏‮harmful‬‏ ‏‮links‬‏ ‏‮are‬‏ ‏‮detected…‬‏ + ‏‮Channel:‬‏ ‏‮$[**!!‬‏‏‮{channelName}‬‏‏‮!!**](channelHook)‬‏ + ‏‮Rule:‬‏ ‏‮{ruleName}‬‏ + ‏‮has‬‏ ‏‮blocked‬‏ ‏‮a‬‏ ‏‮message‬‏ + ‏‮AutoMod‬‏ ‏‮Want‬‏ ‏‮this‬‏ ‏‮server‬‏ ‏‮to‬‏ ‏‮feel‬‏ ‏‮unique?‬‏ ‏‮Unlock‬‏ ‏‮custom‬‏ ‏‮server‬‏ ‏‮banners‬‏ ‏‮with‬‏ ‏‮**‬‏‏‮{boostsNeeded}‬‏ ‏‮more‬‏ ‏‮{boostsNeeded}‬‏‏‮.**‬‏ ‏‮Boost‬‏ ‏‮This‬‏ ‏‮Server‬‏ ‏‮You’ll‬‏ ‏‮also‬‏ ‏‮help‬‏ ‏‮unlock‬‏ ‏‮more‬‏ ‏‮customization‬‏ ‏‮features‬‏ ‏‮and‬‏ ‏‮utility‬‏ ‏‮upgrades‬‏ ‏‮for‬‏ ‏‮everyone‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮like:‬‏ @@ -3857,6 +3883,11 @@ ‏‮Your‬‏ ‏‮membership‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮restarted!‬‏ ‏‮Search‬‏ ‏‮channels‬‏ ‏‮Monetize‬‏ ‏‮your‬‏ ‏‮server‬‏ ‏‮by‬‏ ‏‮offering‬‏ ‏‮exclusive‬‏ ‏‮channels‬‏ ‏‮and‬‏ ‏‮benefits.‬‏ + ‏‮Apply‬‏ ‏‮for‬‏ ‏‮Access‬‏ + ‏‮Only‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮owner‬‏ ‏‮can‬‏ ‏‮apply‬‏ ‏‮for‬‏ ‏‮Premium‬‏ ‏‮Membership.‬‏ ‏‮Give‬‏ ‏‮’em‬‏ ‏‮a‬‏ ‏‮heads‬‏ ‏‮up!‬‏ + ‏‮Application‬‏ ‏‮Pending‬‏ + ‏‮To‬‏ ‏‮apply,‬‏ ‏‮refer‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮requirements‬‏ ‏‮below.‬‏ ‏‮Note‬‏ ‏‮that‬‏ ‏‮these‬‏ ‏‮are‬‏ ‏‮just‬‏ ‏‮the‬‏ ‏‮minimum‬‏ ‏‮requirements‬‏ ‏‮to‬‏ ‏‮apply,‬‏ ‏‮and‬‏ ‏‮acceptance‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮guaranteed.‬‏ + ‏‮To‬‏ ‏‮learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮Premium‬‏ ‏‮Membership,‬‏ ‏‮check‬‏ ‏‮out‬‏ ‏‮the‬‏ ‏‮FAQ.‬‏ ‏‮Get‬‏ ‏‮Started‬‏ ‏‮Advanced‬‏ ‏‮Basic‬‏ ‏‮Info‬‏ @@ -3882,7 +3913,7 @@ ‏‮Offer‬‏ ‏‮the‬‏ ‏‮opportunity‬‏ ‏‮to‬‏ ‏‮take‬‏ ‏‮this‬‏ ‏‮tier‬‏ ‏‮for‬‏ ‏‮a‬‏ ‏‮spin‬‏ ‏‮without‬‏ ‏‮upfront‬‏ ‏‮payment.‬‏ ‏‮You‬‏ ‏‮can‬‏ ‏‮set‬‏ ‏‮limits‬‏ ‏‮on‬‏ ‏‮how‬‏ ‏‮many‬‏ ‏‮free‬‏ ‏‮trials‬‏ ‏‮are‬‏ ‏‮available‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮Advanced‬‏ ‏‮tab.‬‏ ‏‮Disabled‬‏ ‏‮Free‬‏ ‏‮Trial‬‏ - ‏‮TODO:‬‏ ‏‮Think‬‏ ‏‮of‬‏ ‏‮a‬‏ ‏‮tooltip‬‏ + ‏‮Offer‬‏ ‏‮different‬‏ ‏‮groups‬‏ ‏‮of‬‏ ‏‮tiers‬‏ ‏‮that‬‏ ‏‮users‬‏ ‏‮can‬‏ ‏‮subscribe‬‏ ‏‮to‬‏ ‏‮separately.‬‏ ‏‮Edit‬‏ ‏‮Image‬‏ ‏‮Upload‬‏ ‏‮Image‬‏ ‏‮We‬‏ ‏‮recommend‬‏ ‏‮an‬‏ ‏‮image‬‏ ‏‮that’s‬‏ ‏‮at‬‏ ‏‮least‬‏ ‏‮1600px‬‏ ‏‮by‬‏ ‏‮400px.‬‏ ‏‮You‬‏ ‏‮can‬‏ ‏‮upload‬‏ ‏‮a‬‏ ‏‮PNG‬‏ ‏‮or‬‏ ‏‮JPG‬‏ ‏‮under‬‏ ‏‮10‬‏ ‏‮MB.‬‏ @@ -4121,10 +4152,10 @@ ‏‮Set‬‏ ‏‮system‬‏ ‏‮channel‬‏ ‏‮flags‬‏ ‏‮to‬‏ ‏‮**!!‬‏‏‮{newValue}‬‏‏‮!!**‬‏ ‏‮Set‬‏ ‏‮the‬‏ ‏‮welcome‬‏ ‏‮notification‬‏ ‏‮channel‬‏ ‏‮to‬‏ ‏‮**!!‬‏‏‮{newValue}‬‏‏‮!!**‬‏ ‏‮**Disabled**‬‏ ‏‮the‬‏ ‏‮welcome‬‏ ‏‮notification‬‏ ‏‮messages‬‏ - ‏‮Set‬‏ ‏‮system‬‏ ‏‮channel‬‏ ‏‮welcome‬‏ ‏‮stickers‬‏ ‏‮to‬‏ ‏‮**!!‬‏‏‮{newValue}‬‏‏‮!!**‬‏ - ‏‮Set‬‏ ‏‮system‬‏ ‏‮channel‬‏ ‏‮welcome‬‏ ‏‮messages‬‏ ‏‮to‬‏ ‏‮**!!‬‏‏‮{newValue}‬‏‏‮!!**‬‏ - ‏‮Set‬‏ ‏‮system‬‏ ‏‮channel‬‏ ‏‮boost‬‏ ‏‮notifications‬‏ ‏‮to‬‏ ‏‮**!!‬‏‏‮{newValue}‬‏‏‮!!**‬‏ - ‏‮Set‬‏ ‏‮system‬‏ ‏‮channel‬‏ ‏‮server‬‏ ‏‮setup‬‏ ‏‮tips‬‏ ‏‮to‬‏ ‏‮**!!‬‏‏‮{newValue}‬‏‏‮!!**‬‏ + ‏‮Set‬‏ ‏‮system‬‏ ‏‮channel‬‏ ‏‮welcome‬‏ ‏‮stickers‬‏ ‏‮to‬‏ ‏‮**!!‬‏‏‮{newValue}‬‏‏‮!!**‬‏ + ‏‮Set‬‏ ‏‮system‬‏ ‏‮channel‬‏ ‏‮welcome‬‏ ‏‮messages‬‏ ‏‮to‬‏ ‏‮**!!‬‏‏‮{newValue}‬‏‏‮!!**‬‏ + ‏‮Set‬‏ ‏‮system‬‏ ‏‮channel‬‏ ‏‮boost‬‏ ‏‮notifications‬‏ ‏‮to‬‏ ‏‮**!!‬‏‏‮{newValue}‬‏‏‮!!**‬‏ + ‏‮Set‬‏ ‏‮system‬‏ ‏‮channel‬‏ ‏‮server‬‏ ‏‮setup‬‏ ‏‮tips‬‏ ‏‮to‬‏ ‏‮**!!‬‏‏‮{newValue}‬‏‏‮!!**‬‏ ‏‮$[**!!‬‏‏‮{user}‬‏‏‮!!**](userHook)‬‏ ‏‮made‬‏ ‏‮changes‬‏ ‏‮to‬‏ ‏‮$[**!!‬‏‏‮{target}‬‏‏‮!!**](targetHook)‬‏ ‏‮Set‬‏ ‏‮the‬‏ ‏‮Community‬‏ ‏‮server‬‏ ‏‮updates‬‏ ‏‮channel‬‏ ‏‮to‬‏ ‏‮**!!‬‏‏‮{newValue}‬‏‏‮!!**‬‏ ‏‮**Cleared**‬‏ ‏‮the‬‏ ‏‮Community‬‏ ‏‮server‬‏ ‏‮updates‬‏ ‏‮channel‬‏ @@ -4252,7 +4283,7 @@ ‏‮With‬‏ ‏‮name‬‏ ‏‮**!!‬‏‏‮{newValue}‬‏‏‮!!**‬‏ ‏‮$[**!!‬‏‏‮{user}‬‏‏‮!!**](userHook)‬‏ ‏‮updated‬‏ ‏‮the‬‏ ‏‮webhook‬‏ ‏‮$[**!!‬‏‏‮{target}‬‏‏‮!!**](targetHook)‬‏ ‏‮Setup‬‏ ‏‮rules‬‏ ‏‮for‬‏ ‏‮moderation‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮server‬‏ ‏‮to‬‏ ‏‮automatically‬‏ ‏‮filter‬‏ ‏‮content‬‏ ‏‮and‬‏ ‏‮alert‬‏ ‏‮moderators‬‏ ‏‮so‬‏ ‏‮that‬‏ ‏‮you‬‏ ‏‮can‬‏ ‏‮keep‬‏ ‏‮your‬‏ ‏‮server‬‏ ‏‮safe‬‏ ‏‮around-the-clock‬‏ - ‏‮Automod‬‏ + ‏‮AutoMod‬‏ ‏‮The‬‏ ‏‮recommended‬‏ ‏‮minimum‬‏ ‏‮size‬‏ ‏‮is‬‏ ‏‮960x540‬‏ ‏‮and‬‏ ‏‮recommended‬‏ ‏‮aspect‬‏ ‏‮ratio‬‏ ‏‮is‬‏ ‏‮16:9.‬‏ ‏‮[Learn‬‏ ‏‮more](‬‏‏‮{articleURL}‬‏‏‮).‬‏ ‏‮Community‬‏ ‏‮Settings‬‏ ‏‮Only‬‏ ‏‮server‬‏ ‏‮administrators‬‏ ‏‮are‬‏ ‏‮allowed‬‏ ‏‮to‬‏ ‏‮do‬‏ ‏‮this‬‏ @@ -5229,6 +5260,9 @@ ‏‮Uh-oh.‬‏ ‏‮Looks‬‏ ‏‮like‬‏ ‏‮you\'ve‬‏ ‏‮been‬‏ ‏‮banned.‬‏ ‏‮Accepting‬‏ ‏‮this‬‏ ‏‮invite‬‏ ‏‮will‬‏ ‏‮add‬‏ ‏‮**!!‬‏‏‮{username}‬‏‏‮!!**‬‏ ‏‮as‬‏ ‏‮your‬‏ ‏‮friend‬‏ ‏‮on‬‏ ‏‮Discord.‬‏ ‏‮Create‬‏ ‏‮an‬‏ ‏‮account‬‏ ‏‮and‬‏ ‏‮add‬‏ ‏‮**!!‬‏‏‮{username}‬‏‏‮!!**‬‏ ‏‮as‬‏ ‏‮your‬‏ ‏‮friend‬‏ ‏‮on‬‏ ‏‮Discord.‬‏ + ‏‮Download‬‏ ‏‮the‬‏ ‏‮Android‬‏ ‏‮App‬‏ + ‏‮Download‬‏ ‏‮the‬‏ ‏‮App‬‏ + ‏‮Download‬‏ ‏‮the‬‏ ‏‮iOS‬‏ ‏‮App‬‏ ‏‮The‬‏ ‏‮invite‬‏ ‏‮is‬‏ ‏‮invalid‬‏ ‏‮or‬‏ ‏‮has‬‏ ‏‮expired.‬‏ ‏‮Expires‬‏ ‏‮Failed‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮an‬‏ ‏‮invite‬‏ ‏‮link.‬‏ @@ -5241,6 +5275,7 @@ ‏‮Invite‬‏ ‏‮Code‬‏ ‏‮Inviter‬‏ ‏‮Looks‬‏ ‏‮like‬‏ ‏‮you‬‏ ‏‮can\'t‬‏ ‏‮make‬‏ ‏‮an‬‏ ‏‮invite‬‏ ‏‮for‬‏ ‏‮this‬‏ ‏‮server.‬‏ + ‏‮You‬‏ ‏‮successfully‬‏ ‏‮created‬‏ ‏‮an‬‏ ‏‮account‬‏ ‏‮and‬‏ ‏‮joined‬‏ ‏‮**‬‏‏‮{guildName}‬‏‏‮**.‬‏ ‏‮Why,‬‏ ‏‮hello‬‏ ‏‮there.‬‏ ‏‮Resolving‬‏ ‏‮Invite‬‏ ‏‮Uses‬‏ @@ -5614,6 +5649,7 @@ ‏‮Hold‬‏ ‏‮to‬‏ ‏‮temporarily‬‏ ‏‮enable‬‏ ‏‮your‬‏ ‏‮microphone‬‏ ‏‮while‬‏ ‏‮in‬‏ ‏‮Push‬‏ ‏‮to‬‏ ‏‮Talk‬‏ ‏‮mode.‬‏ ‏‮Hold‬‏ ‏‮to‬‏ ‏‮temporarily‬‏ ‏‮enable‬‏ ‏‮your‬‏ ‏‮microphone‬‏ ‏‮while‬‏ ‏‮in‬‏ ‏‮Push‬‏ ‏‮to‬‏ ‏‮Talk‬‏ ‏‮mode.‬‏ ‏‮Other‬‏ ‏‮speakers‬‏ ‏‮who‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮also‬‏ ‏‮transmitting‬‏ ‏‮with‬‏ ‏‮priority‬‏ ‏‮will‬‏ ‏‮temporarily‬‏ ‏‮have‬‏ ‏‮their‬‏ ‏‮volume‬‏ ‏‮lowered‬‏ ‏‮while‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮speaking.‬‏ ‏‮Activate‬‏ ‏‮soundboard‬‏ ‏‮at‬‏ ‏‮mouse‬‏ ‏‮location‬‏ + ‏‮Hold‬‏ ‏‮to‬‏ ‏‮activate‬‏ ‏‮soundboard‬‏ ‏‮at‬‏ ‏‮mouse‬‏ ‏‮location‬‏ ‏‮Toggle‬‏ ‏‮your‬‏ ‏‮speaker\'s‬‏ ‏‮playback‬‏ ‏‮on‬‏ ‏‮and‬‏ ‏‮off.‬‏ ‏‮Also‬‏ ‏‮disables‬‏ ‏‮your‬‏ ‏‮microphone‬‏ ‏‮while‬‏ ‏‮deafened.‬‏ ‏‮Toggle‬‏ ‏‮to‬‏ ‏‮start/stop‬‏ ‏‮streaming‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮current‬‏ ‏‮voice‬‏ ‏‮channel.‬‏ ‏‮Streams‬‏ ‏‮can‬‏ ‏‮only‬‏ ‏‮be‬‏ ‏‮started‬‏ ‏‮with‬‏ ‏‮this‬‏ ‏‮keybind‬‏ ‏‮if‬‏ ‏‮Discord‬‏ ‏‮recognizes‬‏ ‏‮the‬‏ ‏‮game‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮currently‬‏ ‏‮playing.‬‏ ‏‮Toggle‬‏ ‏‮your‬‏ ‏‮microphone\'s‬‏ ‏‮transmission‬‏ ‏‮on‬‏ ‏‮and‬‏ ‏‮off.‬‏ @@ -5630,6 +5666,7 @@ ‏‮Push‬‏ ‏‮to‬‏ ‏‮Talk‬‏ ‏‮(Normal)‬‏ ‏‮Push‬‏ ‏‮to‬‏ ‏‮Talk‬‏ ‏‮(Priority)‬‏ ‏‮Activate‬‏ ‏‮Soundboard‬‏ + ‏‮Activate‬‏ ‏‮Soundboard‬‏ ‏‮(Hold)‬‏ ‏‮Toggle‬‏ ‏‮Deafen‬‏ ‏‮Toggle‬‏ ‏‮Screen‬‏ ‏‮Share‬‏ ‏‮Toggle‬‏ ‏‮Mute‬‏ @@ -5774,6 +5811,9 @@ ‏‮Select‬‏ ‏‮Language‬‏ ‏‮You‬‏ ‏‮can‬‏ ‏‮change‬‏ ‏‮this‬‏ ‏‮later.‬‏ ‏‮Hi!‬‏ ‏‮Select‬‏ ‏‮language‬‏ + ‏‮We‬‏ ‏‮lowered‬‏ ‏‮prices‬‏ ‏‮in‬‏ ‏‮Australia‬‏ ‏‮and‬‏ ‏‮accept‬‏ ‏‮payments‬‏ ‏‮in‬‏ ‏‮$AU.‬‏ ‏‮[Learn‬‏ ‏‮More](‬‏‏‮{helpCenterLink}‬‏‏‮)‬‏ + ‏‮G’day,‬‏ ‏‮indeed‬‏ + ‏‮[Learn‬‏ ‏‮More](‬‏‏‮{helpCenterLink}‬‏‏‮)‬‏ ‏‮**Hooray!**‬‏ ‏‮As‬‏ ‏‮a‬‏ ‏‮resident‬‏ ‏‮of‬‏ ‏‮{country}‬‏‏‮,‬‏ ‏‮you\'re‬‏ ‏‮now‬‏ ‏‮paying‬‏ ‏‮the‬‏ ‏‮discounted‬‏ ‏‮price‬‏ ‏‮of‬‏ ‏‮{newPrice}‬‏ ‏‮for‬‏ ‏‮Nitro!‬‏ ‏‮[Learn‬‏ ‏‮More](‬‏‏‮{helpCenterLink}‬‏‏‮).‬‏ ‏‮**Hooray!**‬‏ ‏‮As‬‏ ‏‮a‬‏ ‏‮resident‬‏ ‏‮of‬‏ ‏‮{country}‬‏‏‮,‬‏ ‏‮you‬‏ ‏‮can‬‏ ‏‮now‬‏ ‏‮get‬‏ ‏‮Nitro‬‏ ‏‮for‬‏ ‏‮a‬‏ ‏‮discounted‬‏ ‏‮price‬‏ ‏‮of‬‏ ‏‮{newPrice}‬‏‏‮!‬‏ ‏‮[Learn‬‏ ‏‮More](‬‏‏‮{helpCenterLink}‬‏‏‮).‬‏ ‏‮Announcing‬‏ ‏‮new‬‏ ‏‮Nitro‬‏ ‏‮pricing‬‏ ‏‮for‬‏ ‏‮our‬‏ ‏‮Aussie‬‏ ‏‮friends!‬‏ @@ -5947,6 +5987,7 @@ ‏‮Server‬‏ ‏‮Rules‬‏ ‏‮Short‬‏ ‏‮Answer‬‏ ‏‮Connections‬‏ + ‏‮Passed‬‏ ‏‮Verification‬‏ ‏‮Level‬‏ ‏‮This‬‏ ‏‮field‬‏ ‏‮is‬‏ ‏‮required‬‏ ‏‮Read‬‏ ‏‮and‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮rules‬‏ ‏‮To‬‏ ‏‮change‬‏ ‏‮this,‬‏ ‏‮[go‬‏ ‏‮to‬‏ ‏‮Moderation‬‏ ‏‮settings](onSettingsClick)‬‏ @@ -6160,8 +6201,8 @@ ‏‮Members‬‏ ‏‮with‬‏ ‏‮this‬‏ ‏‮permission‬‏ ‏‮can‬‏ ‏‮drag‬‏ ‏‮other‬‏ ‏‮members‬‏ ‏‮out‬‏ ‏‮of‬‏ ‏‮this‬‏ ‏‮channel.‬‏ ‏‮They‬‏ ‏‮can‬‏ ‏‮only‬‏ ‏‮move‬‏ ‏‮members‬‏ ‏‮between‬‏ ‏‮channels‬‏ ‏‮both‬‏ ‏‮they‬‏ ‏‮and‬‏ ‏‮the‬‏ ‏‮member‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮moving‬‏ ‏‮have‬‏ ‏‮access.‬‏ ‏‮Move‬‏ ‏‮To‬‏ ‏‮User‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮moved‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮selected‬‏ ‏‮channel.‬‏ - ‏‮Alert‬‏ ‏‮Cleared‬‏ - ‏‮No‬‏ ‏‮Alert‬‏ ‏‮Showing‬‏ + ‏‮Alert‬‏ ‏‮Cleared‬‏ + ‏‮No‬‏ ‏‮Alert‬‏ ‏‮Showing‬‏ ‏‮New‬‏ ‏‮notification‬‏ ‏‮Remove‬‏ ‏‮%1$s‬‏ ‏‮More‬‏ ‏‮than‬‏ %1$d ‏‮new‬‏ ‏‮notifications‬‏ @@ -6267,7 +6308,7 @@ ‏‮I‬‏ ‏‮understand‬‏ ‏‮and‬‏ ‏‮agree‬‏ ‏‮with‬‏ ‏‮these‬‏ ‏‮terms.‬‏ ‏‮Continue‬‏ ‏‮to‬‏ ‏‮Discord‬‏ ‏‮To‬‏ ‏‮continue‬‏ ‏‮using‬‏ ‏‮Discord,‬‏ ‏‮please‬‏ ‏‮read‬‏ ‏‮and‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮our‬‏ ‏‮updated‬‏ ‏‮Terms‬‏ ‏‮of‬‏ ‏‮Service‬‏ ‏‮and‬‏ ‏‮Privacy‬‏ ‏‮Policy.‬‏ - ‏‮Terms‬‏ ‏‮of‬‏ ‏‮Service‬‏ ‏‮and‬‏ ‏‮Privacy‬‏ ‏‮Update‬‏ + ‏‮Terms‬‏ ‏‮of‬‏ ‏‮Service‬‏ ‏‮and‬‏ ‏‮Privacy‬‏ ‏‮Updates‬‏ ‏‮New‬‏ ‏‮Thread‬‏ ‏‮New‬‏ ‏‮Unreads‬‏ ‏‮Announcement‬‏ ‏‮Channel‬‏ @@ -6407,6 +6448,7 @@ ‏‮We‬‏ ‏‮suggest‬‏ ‏‮adding‬‏ ‏‮a‬‏ ‏‮phone‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮2‬‏ ‏‮factor‬‏ ‏‮authentication‬‏ ‏‮settings‬‏ ‏‮as‬‏ ‏‮a‬‏ ‏‮backup.‬‏ ‏‮Add‬‏ ‏‮Phone‬‏ ‏‮Want‬‏ ‏‮to‬‏ ‏‮take‬‏ ‏‮full‬‏ ‏‮advantage‬‏ ‏‮of‬‏ ‏‮Discord‬‏ ‏‮with‬‏ ‏‮better‬‏ ‏‮performance,‬‏ ‏‮in-game‬‏ ‏‮overlay,‬‏ ‏‮and‬‏ ‏‮more?‬‏ ‏‮Get‬‏ ‏‮the‬‏ ‏‮desktop‬‏ ‏‮app!‬‏ + ‏‮We‬‏ ‏‮updated‬‏ ‏‮prices‬‏ ‏‮in‬‏ ‏‮{countryName}‬‏‏‮.‬‏ ‏‮You’re‬‏ ‏‮now‬‏ ‏‮paying‬‏ ‏‮less‬‏ ‏‮for‬‏ ‏‮Nitro.‬‏ ‏‮Well,‬‏ ‏‮it‬‏ ‏‮looks‬‏ ‏‮like‬‏ ‏‮Discord‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮detecting‬‏ ‏‮any‬‏ ‏‮input‬‏ ‏‮from‬‏ ‏‮your‬‏ ‏‮mic.‬‏ ‏‮Let\'s‬‏ ‏‮fix‬‏ ‏‮that…‬‏ ‏‮together.‬‏ ‏‮Help!‬‏ ‏‮Well,‬‏ ‏‮it‬‏ ‏‮looks‬‏ ‏‮like‬‏ ‏‮Discord‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮detecting‬‏ ‏‮any‬‏ ‏‮input‬‏ ‏‮from‬‏ ‏‮your‬‏ ‏‮mic.‬‏ ‏‮Let\'s‬‏ ‏‮fix‬‏ ‏‮that!‬‏ @@ -6656,8 +6698,10 @@ ‏‮Page‬‏ ‏‮{pageNumber}‬‏ ‏‮Page‬‏ ‏‮{page}‬‏ ‏‮of‬‏ ‏‮{totalPages}‬‏ ‏‮Previous‬‏ + ‏‮Slide‬‏ ‏‮{pageNumber}‬‏ ‏‮Page‬‏ ‏‮!!‬‏‏‮{currentPage}‬‏‏‮!!‬‏ ‏‮Page‬‏ ‏‮!!‬‏‏‮{currentPage}‬‏‏‮!!‬‏ ‏‮of‬‏ ‏‮!!‬‏‏‮{numPages}‬‏‏‮!!‬‏ + ‏‮[Paid‬‏ ‏‮Services‬‏ ‏‮Terms](‬‏‏‮{url}‬‏‏‮)‬‏ ‏‮{count}‬‏ ‏‮{count}‬‏ ‏‮Discord\'s‬‏ ‏‮Twitter‬‏ ‏‮should‬‏ ‏‮have‬‏ ‏‮more‬‏ ‏‮information.‬‏ ‏‮Partnered‬‏ ‏‮Server‬‏ ‏‮Owner‬‏ @@ -6695,6 +6739,8 @@ ‏‮Paste‬‏ ‏‮Pause‬‏ ‏‮Connecting‬‏ ‏‮with‬‏ ‏‮your‬‏ ‏‮payment‬‏ ‏‮source‬‏ + ‏‮Please‬‏ ‏‮try‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮the‬‏ ‏‮purchase‬‏ ‏‮again.‬‏ + ‏‮If‬‏ ‏‮you‬‏ ‏‮followed‬‏ ‏‮this‬‏ ‏‮link‬‏ ‏‮after‬‏ ‏‮trying‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮a‬‏ ‏‮purchase‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮desktop‬‏ ‏‮or‬‏ ‏‮mobile‬‏ ‏‮app,‬‏ ‏‮please‬‏ ‏‮go‬‏ ‏‮back‬‏ ‏‮and‬‏ ‏‮try‬‏ ‏‮again.‬‏ ‏‮Continue‬‏ ‏‮Cancel‬‏ ‏‮Payment‬‏ ‏‮Your‬‏ ‏‮payment‬‏ ‏‮for‬‏ ‏‮**!!‬‏‏‮{item}‬‏‏‮!!**‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮canceled.‬‏ @@ -6705,6 +6751,9 @@ ‏‮Payment‬‏ ‏‮Canceled‬‏ ‏‮Payment‬‏ ‏‮Authentication‬‏ ‏‮Failed‬‏ ‏‮Payment‬‏ ‏‮Authenticated‬‏ + ‏‮Payment‬‏ ‏‮authorization‬‏ ‏‮link‬‏ ‏‮has‬‏ ‏‮expired.‬‏ + ‏‮Payment‬‏ ‏‮Authorized‬‏ + ‏‮Authorizing‬‏ ‏‮Currency‬‏ ‏‮Paying‬‏ ‏‮in‬‏ ‏‮Unable‬‏ ‏‮to‬‏ ‏‮confirm‬‏ ‏‮payment‬‏ ‏‮method‬‏ @@ -6817,11 +6866,13 @@ ‏‮Discord‬‏ ‏‮is‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮pin‬‏ ‏‮that‬‏ ‏‮message.‬‏ ‏‮You‬‏ ‏‮may‬‏ ‏‮have‬‏ ‏‮hit‬‏ ‏‮the‬‏ ‏‮limit‬‏ ‏‮of‬‏ ‏‮{maxPins}‬‏ ‏‮pins‬‏ ‏‮in‬‏ ‏‮channel‬‏ ‏‮#!!‬‏‏‮{channelName}‬‏‏‮!!.‬‏ ‏‮Discord‬‏ ‏‮is‬‏ ‏‮unable‬‏ ‏‮to‬‏ ‏‮pin‬‏ ‏‮that‬‏ ‏‮message.‬‏ ‏‮You‬‏ ‏‮may‬‏ ‏‮have‬‏ ‏‮hit‬‏ ‏‮the‬‏ ‏‮limit‬‏ ‏‮of‬‏ ‏‮{maxPins}‬‏ ‏‮pins‬‏ ‏‮in‬‏ ‏‮this‬‏ ‏‮channel.‬‏ ‏‮The‬‏ ‏‮Pin‬‏ ‏‮Broke‬‏ + ‏‮Pin‬‏ ‏‮Post‬‏ ‏‮Pinned‬‏ ‏‮Messages‬‏ ‏‮PROTIP:‬‏ ‏‮Users‬‏ ‏‮with‬‏ ‏‮\'Manage‬‏ ‏‮Messages\'‬‏ ‏‮can‬‏ ‏‮pin‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮cog‬‏ ‏‮menu.‬‏ ‏‮You‬‏ ‏‮and‬‏ ‏‮!!‬‏‏‮{other}‬‏‏‮!!‬‏ ‏‮can‬‏ ‏‮pin‬‏ ‏‮a‬‏ ‏‮message‬‏ ‏‮from‬‏ ‏‮its‬‏ ‏‮cog‬‏ ‏‮menu.‬‏ ‏‮Any‬‏ ‏‮group‬‏ ‏‮member‬‏ ‏‮can‬‏ ‏‮pin‬‏ ‏‮a‬‏ ‏‮message‬‏ ‏‮from‬‏ ‏‮its‬‏ ‏‮cog‬‏ ‏‮menu.‬‏ + ‏‮Pinned‬‏ ‏‮Pins‬‏ ‏‮This‬‏ ‏‮channel‬‏ ‏‮is‬‏ ‏‮NSFW‬‏ ‏‮and‬‏ ‏‮due‬‏ ‏‮to‬‏ ‏‮its‬‏ ‏‮content‬‏ ‏‮its‬‏ ‏‮pins‬‏ ‏‮should‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮viewed‬‏ ‏‮by‬‏ ‏‮anyone.‬‏ ‏‮Pins,‬‏ ‏‮unread‬‏ @@ -7222,7 +7273,9 @@ ‏‮Manage‬‏ ‏‮Nitro‬‏ ‏‮Your‬‏ ‏‮**!!‬‏‏‮{price}‬‏‏‮!!**‬‏ ‏‮subscription‬‏ ‏‮is‬‏ ‏‮past‬‏ ‏‮due.‬‏ ‏‮Please‬‏ ‏‮update‬‏ ‏‮your‬‏ ‏‮payment‬‏ ‏‮info‬‏ ‏‮or‬‏ ‏‮your‬‏ ‏‮subscription‬‏ ‏‮will‬‏ ‏‮end‬‏ ‏‮on‬‏ ‏‮**‬‏‏‮{endDate}‬‏‏‮**.‬‏ ‏‮Your‬‏ ‏‮subscription‬‏ ‏‮is‬‏ ‏‮past‬‏ ‏‮due.‬‏ ‏‮Please‬‏ ‏‮[update‬‏ ‏‮your‬‏ ‏‮payment‬‏ ‏‮info‬‏ ‏‮for‬‏ ‏‮!!‬‏‏‮{paymentGatewayName}‬‏‏‮!!](‬‏‏‮{paymentSourceLink}‬‏‏‮)‬‏ ‏‮or‬‏ ‏‮your‬‏ ‏‮subscription‬‏ ‏‮will‬‏ ‏‮end‬‏ ‏‮on‬‏ ‏‮**‬‏‏‮{endDate}‬‏‏‮**.‬‏ + ‏‮**Your‬‏ ‏‮payment‬‏ ‏‮is‬‏ ‏‮processesing.**‬‏ ‏‮Please‬‏ ‏‮be‬‏ ‏‮patient,‬‏ ‏‮this‬‏ ‏‮can‬‏ ‏‮take‬‏ ‏‮up‬‏ ‏‮to‬‏ ‏‮{maxProcessingTimeInDays}‬‏ ‏‮days.‬‏ ‏‮We‬‏ ‏‮will‬‏ ‏‮email‬‏ ‏‮you‬‏ ‏‮a‬‏ ‏‮confirmation‬‏ ‏‮when‬‏ ‏‮it’s‬‏ ‏‮complete.‬‏ ‏‮Boosts‬‏ + ‏‮Your‬‏ ‏‮**Nitro**‬‏ ‏‮subscription‬‏ ‏‮is‬‏ ‏‮prepaid‬‏ ‏‮through‬‏ ‏‮**‬‏‏‮{prepaidEndDate}‬‏‏‮**.‬‏ ‏‮You‬‏ ‏‮can‬‏ ‏‮extend‬‏ ‏‮your‬‏ ‏‮plan‬‏ ‏‮by‬‏ ‏‮editing‬‏ ‏‮your‬‏ ‏‮payment‬‏ ‏‮method.‬‏ ‏‮Your‬‏ ‏‮subscriptions‬‏ ‏‮will‬‏ ‏‮automatically‬‏ ‏‮renew‬‏ ‏‮on‬‏ ‏‮**‬‏‏‮{renewalDate}‬‏‏‮**‬‏ ‏‮and‬‏ ‏‮you\'ll‬‏ ‏‮be‬‏ ‏‮charged‬‏ ‏‮**!!‬‏‏‮{price}‬‏‏‮!!**.‬‏ ‏‮Your‬‏ ‏‮subscriptions‬‏ ‏‮will‬‏ ‏‮automatically‬‏ ‏‮renew‬‏ ‏‮on‬‏ ‏‮**‬‏‏‮{renewalDate}‬‏‏‮**.‬‏ ‏‮Please‬‏ ‏‮[visit‬‏ ‏‮your‬‏ ‏‮!!‬‏‏‮{paymentGatewayName}‬‏‏‮!!‬‏ ‏‮Subscription‬‏ ‏‮settings](‬‏‏‮{subscriptionManagementLink}‬‏‏‮)‬‏ ‏‮for‬‏ ‏‮more‬‏ ‏‮details.‬‏ ‏‮Your‬‏ ‏‮subscription‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮upgraded‬‏ ‏‮on‬‏ ‏‮**‬‏‏‮{upgradeDate}‬‏‏‮**‬‏ ‏‮and‬‏ ‏‮you\'ll‬‏ ‏‮be‬‏ ‏‮charged‬‏ ‏‮an‬‏ ‏‮estimated‬‏ ‏‮price‬‏ ‏‮**!!‬‏‏‮{upgradePrice}‬‏‏‮!!**.‬‏ ‏‮After,‬‏ ‏‮it‬‏ ‏‮will‬‏ ‏‮renew‬‏ ‏‮on‬‏ ‏‮**‬‏‏‮{renewalDate}‬‏‏‮**‬‏ ‏‮and‬‏ ‏‮you\'ll‬‏ ‏‮be‬‏ ‏‮charged‬‏ ‏‮**!!‬‏‏‮{renewalPrice}‬‏‏‮!!**.‬‏ @@ -7292,6 +7345,7 @@ ‏‮Hold‬‏ ‏‮up!‬‏ ‏‮You‬‏ ‏‮need‬‏ ‏‮Nitro‬‏ ‏‮to‬‏ ‏‮get‬‏ ‏‮this‬‏ ‏‮loot.‬‏ ‏‮Show‬‏ ‏‮Subscription‬‏ ‏‮Details‬‏ ‏‮Trying‬‏ ‏‮to‬‏ ‏‮manage‬‏ ‏‮your‬‏ ‏‮Nitro‬‏ ‏‮subscription?‬‏ ‏‮Go‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮[Subscriptions](onSubscriptionsClick)‬‏ ‏‮page.‬‏ + ‏‮By‬‏ ‏‮purchasing‬‏ ‏‮a‬‏ ‏‮Nitro‬‏ ‏‮subscription,‬‏ ‏‮you‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮our‬‏ ‏‮[Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsURL}‬‏‏‮),‬‏ ‏‮[Paid‬‏ ‏‮Services‬‏ ‏‮Terms](‬‏‏‮{paidURL}‬‏‏‮),‬‏ ‏‮and‬‏ ‏‮[Privacy‬‏ ‏‮Policy](‬‏‏‮{privacyURL}‬‏‏‮).‬‏ ‏‮Payment‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮charged‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮Apple‬‏ ‏‮ID‬‏ ‏‮account‬‏ ‏‮at‬‏ ‏‮the‬‏ ‏‮confirmation‬‏ ‏‮of‬‏ ‏‮purchase.‬‏ ‏‮Subscription‬‏ ‏‮automatically‬‏ ‏‮renews‬‏ ‏‮unless‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮canceled‬‏ ‏‮at‬‏ ‏‮least‬‏ ‏‮24‬‏ ‏‮hours‬‏ ‏‮before‬‏ ‏‮the‬‏ ‏‮end‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮current‬‏ ‏‮period.‬‏ ‏‮Your‬‏ ‏‮account‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮charged‬‏ ‏‮for‬‏ ‏‮renewal‬‏ ‏‮within‬‏ ‏‮24‬‏ ‏‮hours‬‏ ‏‮prior‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮end‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮current‬‏ ‏‮period.‬‏ ‏‮You‬‏ ‏‮can‬‏ ‏‮manage‬‏ ‏‮and‬‏ ‏‮cancel‬‏ ‏‮your‬‏ ‏‮subscriptions‬‏ ‏‮by‬‏ ‏‮going‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮account‬‏ ‏‮settings‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮App‬‏ ‏‮Store‬‏ ‏‮after‬‏ ‏‮purchase.‬‏ ‏‮Subscription‬‏ ‏‮Updates‬‏ ‏‮Thank‬‏ ‏‮you!‬‏ ‏‮Thanks‬‏ ‏‮for‬‏ ‏‮your‬‏ ‏‮feedback.‬‏ ‏‮We‬‏ ‏‮appreciate‬‏ ‏‮it!‬‏ @@ -8463,6 +8517,7 @@ ‏‮Viewer‬‏ ‏‮Join‬‏ ‏‮Viewer‬‏ ‏‮Leave‬‏ ‏‮Voice‬‏ ‏‮Disconnected‬‏ + ‏‮Open‬‏ ‏‮Soundboard‬‏ ‏‮Discord‬‏ ‏‮Soundboard‬‏ ‏‮Add‬‏ ‏‮Sound‬‏ ‏‮Browse‬‏ @@ -8763,6 +8818,8 @@ ‏‮This‬‏ ‏‮stream‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮hidden.‬‏ ‏‮Your‬‏ ‏‮network‬‏ ‏‮connection‬‏ ‏‮may‬‏ ‏‮be‬‏ ‏‮causing‬‏ ‏‮a‬‏ ‏‮decrease‬‏ ‏‮in‬‏ ‏‮video‬‏ ‏‮and‬‏ ‏‮audio‬‏ ‏‮quality.‬‏ ‏‮To‬‏ ‏‮improve‬‏ ‏‮voice‬‏ ‏‮audio,‬‏ ‏‮disable‬‏ ‏‮the‬‏ ‏‮stream.‬‏ ‏‮Stream‬‏ ‏‮just‬‏ ‏‮started.‬‏ ‏‮Get‬‏ ‏‮in‬‏ ‏‮here!‬‏ + ‏‮Sends‬‏ ‏‮a‬‏ ‏‮desktop‬‏ ‏‮and/or‬‏ ‏‮mobile‬‏ ‏‮push‬‏ ‏‮notification‬‏ ‏‮when‬‏ ‏‮someone‬‏ ‏‮starts‬‏ ‏‮sharing‬‏ ‏‮their‬‏ ‏‮screen‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮servers.‬‏ + ‏‮Enable‬‏ ‏‮Notifications‬‏ ‏‮for‬‏ ‏‮Screen‬‏ ‏‮Share‬‏ ‏‮Activity‬‏ ‏‮Participants‬‏ ‏‮without‬‏ ‏‮video‬‏ ‏‮are‬‏ ‏‮currently‬‏ ‏‮hidden.‬‏ ‏‮Would‬‏ ‏‮you‬‏ ‏‮like‬‏ ‏‮to‬‏ ‏‮show‬‏ ‏‮them?‬‏ ‏‮Playing‬‏ ‏‮!!‬‏‏‮{game}‬‏‏‮!!‬‏ ‏‮Stream‬‏ ‏‮HD‬‏ ‏‮resolutions‬‏ ‏‮at‬‏ ‏‮60‬‏ ‏‮frames‬‏ ‏‮per‬‏ ‏‮second,‬‏ ‏‮get‬‏ ‏‮access‬‏ ‏‮to‬‏ ‏‮chat‬‏ ‏‮perks,‬‏ ‏‮[and‬‏ ‏‮more‬‏ ‏‮with‬‏ ‏‮Discord‬‏ ‏‮Nitro!](onPressMore)‬‏ @@ -9127,6 +9184,7 @@ ‏‮Friend‬‏ ‏‮requests‬‏ ‏‮sent!‬‏ ‏‮Copied‬‏ ‏‮Command‬‏ ‏‮Feedback‬‏ ‏‮Sent!‬‏ + ‏‮Copied‬‏ ‏‮Post‬‏ ‏‮ID‬‏ ‏‮Friend‬‏ ‏‮invites‬‏ ‏‮revoked‬‏ ‏‮Gif‬‏ ‏‮Saved‬‏ ‏‮Copied‬‏ ‏‮ID‬‏ @@ -9284,6 +9342,7 @@ ‏‮Discord‬‏ ‏‮failed‬‏ ‏‮to‬‏ ‏‮unpin‬‏ ‏‮that‬‏ ‏‮message‬‏ ‏‮for‬‏ ‏‮some‬‏ ‏‮reason.‬‏ ‏‮Sorry‬‏ ‏‮about‬‏ ‏‮that.‬‏ ‏‮The‬‏ ‏‮Pin‬‏ ‏‮Is‬‏ ‏‮Stuck!‬‏ ‏‮Unpin‬‏ ‏‮Message‬‏ + ‏‮Unpin‬‏ ‏‮Post‬‏ ‏‮This‬‏ ‏‮will‬‏ ‏‮mark‬‏ ‏‮all‬‏ ‏‮your‬‏ ‏‮unmuted‬‏ ‏‮channels‬‏ ‏‮as‬‏ ‏‮read.‬‏ ‏‮Are‬‏ ‏‮you‬‏ ‏‮sure‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮to‬‏ ‏‮continue?‬‏ ‏‮Mark‬‏ ‏‮all‬‏ ‏‮as‬‏ ‏‮read?‬‏ ‏‮You\'re‬‏ ‏‮all‬‏ ‏‮caught‬‏ ‏‮up!‬‏ diff --git a/app/src/main/res/values-bg/plurals.xml b/app/src/main/res/values-bg/plurals.xml index da1d805209..41a4fd07be 100644 --- a/app/src/main/res/values-bg/plurals.xml +++ b/app/src/main/res/values-bg/plurals.xml @@ -944,6 +944,14 @@ {#} усилване е приложено {#} усилвания са приложени + + {#} месец + {#} месеца + + + {#} месец + {#} месеца + {#} усилване {#} усилвания @@ -1040,6 +1048,10 @@ {#} усилване {#} усилвания + + усилване на сървър е отменено + усилвания на сървър са отменени + {#} месец {#} месеца @@ -1432,6 +1444,10 @@ 1 друг {count} други + + 1 употреба + {uses} използвания + 1 ползване {uses} ползвания diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index b863e48c2c..7d979ce7d8 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -1196,6 +1196,7 @@ Промяна на аватара за сървъра Промяна на иконата Редактиране на профил в сървър + Аватар и банер на профила Биография на сървъра Ако оставиш празно, ще се използва основната ти биография. Разкажи на този сървър нещо за себе си @@ -1203,6 +1204,7 @@ Използвай различен аватар във всеки от своите сървъри и още много с Discord Nitro! Псевдоним (деактивирано) Можеш да промениш как другите те виждат в този сървър, като зададеш псевдоним и аватар за сървъра. + Нулирай до аватара по подразбиране Неизвестна грешка Промени аватара за сървъра Използвай различен аватар във всеки от своите сървъри и още много с **Discord Nitro!** @@ -1225,6 +1227,7 @@ Смяна на паролата Смяна на телефонен номер? Промени фона + Персонализираната връзка за покана не можа да бъде променена, защото съдържа невалидни символи, защото е бил твърде кратка или вече е заета. Персонализираните връзка за покана могат да съдържат само букви, цифри или тирета. Съдържание на хронологията на промените Покажи на приятел нашата нова начална страница! Тук сме, за да направим добро впечатление. Научи повече @@ -1240,16 +1243,6 @@ Участници Каналът беше изтрит. Заглавие на канал - Информация за канала - Заглушаването не позволява появата на непрочетени индикатори и известия, освен ако няма споменавания. - Име - Известия - Подробности - Тема - Редактирай - Твоите настройки - Скриване на информацията за канала - Показване на информация за канала Твоята роля няма разрешение за достъп до този канал. Каналът е заключен Разрешенията са синхронизирани с категория: **{categoryName}** @@ -1357,6 +1350,7 @@ Заяви Изчистване Изчисти прикачени файлове + Изчистване на заместване на компилация Изчистване на текста Кликни, за да научиш повече Клониране на канал @@ -1933,6 +1927,7 @@ !!{a}!! !!{b}!! и {n} в момента са в гласов канал. В момента никой не е в гласовия канал. Персонализиран цвят + Запомни, че за да работят, персонализираните връзки за покана изискват един от текстовите канали да е достъпен за всички членове. Персонален статус Изчисти след Изчисти статус @@ -2261,6 +2256,7 @@ активност Започнете да играете заедно сега в гласов чат! НОВО! Активности + Играйте заедно безплатно в който и да е гласов канал. Отключете повече дейности с усилване! друга активност Емотикони Добави към любими @@ -2310,6 +2306,7 @@ Този емотикон е от сървър, който е личен или е недостъпен. [Научи повече](openPremiumSettings) за използването на персонализирани емотикони. Премахни от любими {count} + Това емоджи беше твърде голямо! Емоджитата трябва да са под {maxSize} KB. Кликни, за да научиш повече {count} @mention потребители, които да добавиш към частната тема. @@ -2482,10 +2479,18 @@ Копиране на връзката Отваряне в браузър Споделяне на връзката + Любим канал + Любимо директно съобщение + Любимо директно съобщение към група Не можеш да имаш повече любими. Любимо + Добре дошъл(ла) в любимата си нова функция на Discord! Добавяй разни неща в категория „Любими“, като отбелязваш със звезда канали, гласови чатове и директни съобщения (DM) от съответните им контекстови менюта. + Любими + Към оригиналния сървър + Любими Не можеш да имаш повече от {count} любими. О, не! + Това име ще се появява само в твоите „Любими“. Разни Опиши проблема си Твоят проблем @@ -2547,6 +2552,7 @@ Намалява звука на останалите приложения с този процент, когато някой говори. Задай 0%%, ако искаш да изключиш затихването. Темите ще бъдат архивирани след посочения времеви период на неактивност. Когато индикаторът е зелен, това означава, че Discord предава меденото ти гласче. + ИСКАМЕ ВСИЧКИТЕ БИТОВЕ! Надвишаването на {bitrate} kbps може да повлияе негативно на хората с по-слаби връзки. Докато използваш Discord Certified микрофон, определени функции за гласова обработка вече не се изпълняват от Discord, но по-скоро микрофона. Промени настройките за поверителност и персонализирай как членовете могат да взаимодействат с този канал. Записва всички получени RTP данни за следващата гласова/видео връзка с цел отстраняване на грешки. @@ -2739,6 +2745,7 @@ Тествай моя микрофон Text-to-Speech Известия за Text-to-Speech + Премахване на заглушаването за нови събития Включване на звука на **!!{name}!!** Текстово поле Ограничение за потребители @@ -2778,6 +2785,7 @@ Сървърни членове Приемане Отказ + Поканата за приятелство беше отменена. Нещо се обърка при изпращането на покани за приятелство. Винаги можеш да опиташ по-късно от списъка с приятели. Нещо се обърка при изпращането на покана за приятелство към !!{name}!!. Винаги можеш да опиташ по-късно от списъка с приятели. Неуспешна покана за приятелство @@ -3097,6 +3105,9 @@ Гледа {username} Към канала Разбрах + Възникна проблем с твоята покупка. Моля, изчакай и опитай отново. + О, не! + Неуспешно свързване с услугите на Google Play. Изчакай и опитай отново. Предоставяне на временно членство Зелено Сиво @@ -3144,8 +3155,8 @@ Това изглежда супер! Научи повече Може би по-късно - Усили до ниво 1 днес и подобри аудиокачеството си от 96 kbps до 128 kbps. - Усили до ниво 2 днес и подобри аудиокачеството си от 128 kbps до 256 kbps. + Усили до ниво 1 за по-качествено аудио, за да може всички да се чувствате сякаш сте заедно в стаята. + Усили до ниво 2 за по-качествено аудио, за да може всички да се чувствате сякаш сте заедно в стаята. Усили до ниво 3 днес и подобри аудиокачеството си от 256 kbps до 384 kbps. Знаеше ли, че с усилванията можеш да се сдобиеш с по-добро аудиокачество? На границата си от 100 сървъра @@ -3196,6 +3207,7 @@ От игри, до музика, до учене – има място за теб. Намери своята общност в Discord Следване на актуализациите + Намери общността си Търсене на общности Популярни общности !!{username}!!, тези сървъри може да ти харесат @@ -3314,18 +3326,40 @@ Създаване {count} {number} + Можеш обаче да напишеш няколко! + В този сървър все още няма топ съобщения. + Презареди страницата или провери нашата [страница за статуса]({url}). + Ами сега! Попадна на супер рядко срещана грешка. + Презареди страницата, за да видиш какво става + Засега това е всичко! О, един момент, май има още нещо… + Отваряне на съобщенията от !!{channelName}!! в страничната лента + над {maxReplies} отговора {numReplies} - Най-горни съобщения + Презареждане + Топ съобщения + Видя всички топ съобщения от последните 2 седмици. + Наваксахме с всичко Цвят на папка Име на папка !!{folderName}!!, папка {mentions} !!{folderName}!!, папка {mentions}, !!{expandedState}!! Папка на сървъра без име Настройките на папка са запазени! + Начало Има нова платформа, която е в бета–тестове, с чиято помощ ще можеш да следиш какво става в сървъра ти. Начало - !!{guildName}!! + Промени банера на профила на сървъра + Докосни, за да редактираш „За мен“ за този сървър + Редактирай „За мен“ за този сървър + Ако оставиш полето празно, ще се използва информацията „За мен“ по подразбиране. + Докосни, за да добавиш раздел „За мен“ за този сървър Биография на сървъра за !!{guildName}!! + Промени банера на профила на сървъра + Изтрий аватар за сървъра + Банер на профила за сървъра + Нулирай до банера по подразбиране Искаш още? Получи пълна персонализация на профила на сървъра с Nitro. + Качи банер за профила за сървъра Бъди какъвто си и използвай различен аватар, банер и био за всеки от сървърите си, отключи анимирани аватари и други чрез [Discord Nitro!](onAndMore) Изразявай себе си без спирачки с профили на сървъра Покани в сървъри @@ -3359,6 +3393,8 @@ Валидността на връзката за потвърждение е изтекла. Успешно потвърждение. Потвърждаване на заявката ти. + Преглед на настройките на сървъра + Нещата тук са под пара! Помисли дали да не промениш настройките за известия по подразбиране на този сървър на **@mentions**, за да помогнеш на членовете си. Извести всички с @everyone Също така кажете на @everyone, че събитието стартира. $[Кажи на @everyone, че сцената стартира.](tooltipHook) [Активирай](toggleClick) @@ -3582,6 +3618,8 @@ $[**!!{user}!!**](userHook) направи промени по $[**!!{target}!!**](targetHook) Настрой канала за актуализации на сървър на общност на **!!{newValue}!!** **Изчисти** канала за актуализации на сървър на общност + Задай персонализираната връзка за покана да е **!!{newValue}!!** + **Премахна** персонализираната връзка за покана Задай нивото на потвърждение за сървъра като **Високо** Задай нивото на потвърждение за сървъра като **Ниско** Задай нивото на потвърждение за сървъра като **Средно** @@ -3741,7 +3779,6 @@ Горещо препоръчваме да зададете това само на @mentions за публичен Discord. Поради големината на този сървър членовете му няма да получават Мобилни насочени известия за не-@mention съобщения. Деактивирай Откриване - Ако деактивираш изискванията за членове, това ще означава, че хората могат да се присъединяват към общността ти, без да са се съгласили с правила и без да са ръчно одобрени. Сигурен/на ли си? Само администраторите на сървъра могат да активират и деактивират Откриване. Активирано 2FA изискване за модериране @@ -3794,6 +3831,10 @@ Деактивирането на общността ще отстрани твоя сървър и от Откриване на сървър. Този сървър е премахнат от Откриване. Този сървър не е отговорил на изискванията по-долу и е бил автоматично премахнат от Откриване. Не се притеснявай, можеш да се присъединиш отново, след като сървърът отговори на всички изисквания. Изискванията за активност се преизчисляват всяка седмица. + Това дава възможност да се показва информация, когато даден потребител кликне върху персонализирано емоджи или стикер от твоя сървър в който и да е чат. Потребителите ще могат да видят и да се присъединят към сървъра ти чрез показаната информация. + Деактивиране на информация за емоджи/стикер + Активиране на информация за емоджи/стикер + Показване на инфо за емоджи/стикер при кликване Разшири общността си с Откриване на сървър Discord ще даде приоритет на този сървър при търсене за потребители, които говорят избрания език. Включването в [Откриване на сървър](onLinkClick) позволява на всички да намират твоя сървър и да се присъединяват към него. @@ -3808,6 +3849,7 @@ Подкатегории Псевдоним Въведи псевдоним + Добави до {count} персонализирани емоджита, които всички могат да използват в сървъра. Анимираните GIF емоджита могат да се използват от членове с Discord Nitro. Имената на емоджитата трябва да бъдат дълги поне 2 знака и могат да съдържат само буквено-цифрови символи и долни тирета. Емоджитата трябва да са по-малки от {maxSize} KB. Усили сървъра си до ниво {level}, за да отключиш още слотове за емоджита! Емоджитата от ниво {level} са изгубени Усили сървъра си до ниво {level} или купи ниво, за да отключиш емоджитата си! @@ -3854,6 +3896,8 @@ Опция за 1-седмично архивиране на теми Създаване на частни теми Анимиран банер на сървъра + Персонализирана връзка за покана за сървъра + {bitrate} kbps аудио качество +{adding} слотове за сървър емотикони (общо {total}) +{adding} слота за персонализирани стикери (за общо {total}) {fileSize} ограничение за качване за всички членове @@ -4593,6 +4637,14 @@ !!{name}!! Емотикони !!{name}!! Икона !!{name}!! Лого + Какво представляват каналите? + Каналите са място, където можеш да разговаряш, да се включваш с глас, да играеш игри и други. Всеки сървър има списък с канали, през които можеш да скролваш, за да видиш какво се случва. + Директни съобщения + Директните съобщения са отделни от сървъра. Можеш да изпращаш частно директно съобщение на приятел за бърз чат, без други да го виждат, както и да създадеш директни съобщения към група с до 10 човека. + Трябва ти още помощ? + Не намираш каквото ти трябва? [Посети нашия Център за поддръжка]({helpCenterUrl}) за повече информация. + Какво е сървър? + Сървърите са място, където можеш да си прекарваш времето с приятели и да се запознаваш с нови хора. Повече сървъри са частни и само с покани. в !!{categoryName}!! Гласови настройки в играта В гласовия канал @@ -4611,6 +4663,7 @@ Проявяват интерес Не, благодаря Когато се качват директно в Discord + Изображения, по-големи от {maxSize} MB, няма да имат предварителен изглед. Когато се публикуват като връзки в чат Показване на изображения, видеа и забавни картинки с котки Входно устройство @@ -4682,6 +4735,7 @@ Това приложение няма команди. Това приложение няма уебкуки в този сървър. Достигна максималния брой замествания на разрешения. + Достигна максималния брой разрешения. Премахни {removeCount} от тях, за да можеш да правиш по-нататъшни промени. Премахни интеграция Наистина ли искаш да премахнеш **!!{applicationName}!!**? Възникна вътрешна грешка в сървъра. @@ -4841,6 +4895,7 @@ Нека добавим някои приятели! Покани хора Внимание! Приятелите, които каниш, могат да видят предишната история на съобщенията ти. + Този канал е частен, само избрани членове и роли могат да виждат този канал. Търсене на приятели Изпратена покана !!{maxAge}!!, !!{maxUses}!! @@ -4851,6 +4906,7 @@ Или изпрати връзка за покана за стрийм на приятел Покана за стриймване Покани в сървъра + Покани приятели в **!!{name}!!** URL за покана Присъедини се към гласово обаждане Добре дошъл в новия си сървър! @@ -5002,6 +5058,7 @@ Изритване Изритване Изритване на членове + Изритвай, одобрявай и отхвърляй членове Изритване !!{user}!! Наистина ли искаш да изриташ !!{user}!! от сървъра? Той/тя ще може да се присъедини отново с нова покана. „!!{user}!!“ беше изритан от сървъра. @@ -6182,9 +6239,21 @@ Отказ на !!{planPremiumType}!!? Анулирането ще влезе в сила незабавно за всички абонаменти за Nitro и усилвания на сървър. Твоят Discord Tag ще бъде рандомизиран, ако си го променил(а). Няма значение, задръж Nitro + Няма значение, задържане на Nitro Твоите **2 безплатни усилвания** и **30%% отстъпка за усилване** {boostCount} Твоята **30%% отстъпка за усилване** + 2 безплатни усилвания и 30%% отстъпка + Използване на персонализирани емоджита и стикери навсякъде + SWAG за профила и персонализиран таг + Високо качество, 60 FPS при стрийминг на видео + стриймваше в {month} + часа + HD видео стрийм + Увеличи лимита за качване до 100 MB + големи файлове + изпращаше в {month} + Качване на по-големи файлове Достъп до **персонализирани емотикони** и **стикери** във всички твои сървъри Достъп до **персонализирани емотикони** във всички твои сървъри **Анимиран аватар**, **банер на профила** и персонализиран **таг на Discord** @@ -6305,15 +6374,21 @@ Активни усилвания на сървър {numSubscriptions} в наличност Съжаляваме, но в момента не поддържаме анулирането на усилвания, закупени през !!{paymentGatewayName}!!. Можеш да анулираш усилването си през Управлението на абонаментите на !!{paymentGatewayName}!!]({subscriptionManagementLink}). + Наистина ли искаш да се откажеш от това усилване на сървър? Ще разбием тази скъпоценност на пух и прах. Усилването ще бъде премахнато от свързаните сървъри и отменено от абонамента ти в края на периода на таксуване: **{endDate}**. + Наистина ли искаш да отмениш усилването на сървър от инвентара си? Ще разбием тази скъпоценност на пух и прах. Усилването ще бъде премахнато от свързаните сървъри и отменено от абонамента ти в края на периода на таксуване: **{endDate}**. Да, отмени усилването Твоят абонамент е просрочен. Трябва да актуализираш информацията си за плащане, преди да управляваш усилванията. Това усилване е включено в твоя абонамент за Nitro Отмяна на усилването Появи се грешка при опит за отмяна на усилването. + **{subscriptionCount}** {subscriptionCount} + Този абонамент за усилване на сървър ще бъде отменен в края на периода на таксуване за Nitro или Nitro Classic, **{endDate}**. Промените в абонамента ти са отразени по-долу: Отмяна на усилването на сървъра Отмяна на усилване на сървър от сървър Отмяна на усилване на сървър от инвентара Изчакваща отмяна на усилването + Добре, готови сме да разбием на пух и прах това усилване за теб. Анулирането на това усилване е планирано за: **{endDate}**. **Все още можеш да използваш това усилване до разрушаването му!** + Усилването е отменено! {date} Усилване от {date} ({months}) Появи се грешка при опит за усилване. Моля те, опитай пак. @@ -6385,13 +6460,18 @@ Увеличи лимита на качване до 100 MB Покажи на всички за какво иде реч в твоя сървър чрез банер за сървъра Мощни актуализации: възможност за качване на файлове с по-големи размери, по-добро аудиокачество и още! + Мощно надграждания: анимирана икона на сървъра, допълнителни опции за теми и още много други! + Мощни надграждания: по-големи размери за качване, банер за сървъра, персонализирани икони за роли и още много други! + Мощни надграждания: персонализирана връзка за покана, допълнителни слотове за емоджита и анимирани банери за сървъра. Задай уникална икона за всяка роля в сървъра Споделяне на екрана при 1080p/60fps Споделяне на екрана при 720p/60fps Качване на персонализирани стикери, които всеки може да види Качване на до {numStickers} персонализирани стикера и {numEmojis} персонализирани емотикона + Качване на до {numStickers} персонализирани стикера Опции за по-дълго архивиране на теми Създаване на частни теми + Лесно добавяне на нови членове с персонализирана връзка за покана Цел: {levelName} Купи усилвания за по-лесно отключване на бонуси от {levelName}! Този сървър е отключил всички усилващи бонуси! @@ -6530,6 +6610,7 @@ Твоите абонаменти Тази корекция включва разпределяния, отстъпки и възстановени суми. Това са твоите настоящи абонаменти. Те ще бъдат таксувани на същия цикъл на таксуване. + План {planName} е анулиран !!{planName}!! кредит Този кредит ще бъде приложен, след като се регистрираш за абонамент за !!{planName}!!. Този кредит може да бъде приложен към абонамент !!{planName}!!, закупен от настолен компютър. @@ -6711,8 +6792,11 @@ Действия за профил Качи свой собствен персонализиран банер и много други с Discord Nitro! $[](renderTimeHook) изминали + Препоръчаните минимален размер и аспектно съотношение са 600х240 и 5:2. Допустимите типове файлове включват PNG, JPG и анимирани GIF-ове. Разкажи на този сървър нещо за себе си + Да не се запазват Да се запазят ли промените? + Въведе промени. Искаш ли да ги запазиш, преди да затвориш страницата? Ексклузивно за Nitro Визуализация Значки за потребител @@ -6873,6 +6957,7 @@ Премахване на таймаута Премахване на таймаута от „!!{user}!!“ Премахване на !!{user}!! от темата + Премахване на персонализирана връзка за покана Да се показват вградените връзки и предварителен изглед на връзки към уебсайтове, поставяни в чат Вграждане на връзки и визуализация на връзки Покажи реакции на емотикони в съобщения @@ -7009,11 +7094,13 @@ Разрешения по подразбиране за всички членове на сървъра Икона за ролята, {name} Избор на изображение + Качи изображение под 256 KB или избери персонализирано емоджи от този сървър. Препоръчваме най-малко 64x64 пиксела. Членовете ще виждат иконата за най-високата си роля, ако имат различни роли. Научи повече Персонализирана икона за роля за {name}. Тази функция е част от усилването на сървъра. Емотикон Качване на изображение Разглеждане на файлове + О, не! Файлът е твърде голям. Моля, избери .png или .jpg от 256 KB или по-малък. Избери PNG или JPG файл за качване Копиран ИД за роля: {role} Членовете използват цвета за най-високата роля, която имат в този списък. Плъзнете ролите, за да ги пренаредите. @@ -7089,6 +7176,7 @@ Разрешава връзки, които членовете споделят, за да показват вградено съдържание в тези канали. Разрешава връзки, които членовете споделят, за да показват вградено съдържание в този канал. Не са намерени разрешения + Опцията за изритване ще премахне членове от този сървър. Изританите членове ще могат да се присъединят отново, ако получат друга покана. Ако сървърът е с активирани изисквания за членовете, това разрешение дава възможност за одобряване или отхвърляне на членове, които са изпратили заявка за присъединяване. Разрешава на членовете да премахват други членове от този сървър. Изгонените членове ще могат да се присъединят отново, ако получат друга покана. Разрешава на членовете да променят името, описанието и текстовите/гласовите настройки за канала. Те могат също така да изтрият тези канали. (Задължително за модератор на сцена) Разреши на членовете да задават тема за стартиране на сцената и да активират или деактивират заявки за говорене. Те могат също така да изтрият канала на сцената. @@ -7561,11 +7649,15 @@ Тиретата са единственият позволен специален знак. Тук е мястото за тагове. В „Откриване на сървър“ можеш да търсиш по име, описание и тагове. Можеш да добавиш до 10. + Сървъри с над {count} членове вече отговарят на условията за присъединяване към „Откриване на сървър“. + Разшири общността си по-бързо Сървърни емотикони Затваряне на всички папки Маркирай папката като прочетена + Заглушаване на всички сървъри в папка Папка на сървъра Настройки на папка + Премахване на заглушаването на всички сървъри в папка Показатели на сървър Този сървър в момента е пълен. Изкл. микрофона в сървъра @@ -7588,6 +7680,9 @@ Промяната на настройката за регистрирането на отстраняване на грешки ще затвори и стартира отново Discord. Сигурен/на ли си, че искаш да го направиш? Задай тази връзка никога да не изтича Задаване на статус + Сървърът ти няма достъп до тази функция. + Нямаш достъп до тази функция. + За да конфигурираш персонализирана връзка за покана, трябва първо да конфигурираш текстови канал, който да е достъпен за всички членове. Настройки Разширени Добави я! @@ -8408,6 +8503,9 @@ Нерегистриран акаунт Премахване на заглушаване Отмяна + Нелюбим канал + Нелюбимо директно съобщение + Нелюбимо директно съобщение към група Нелюбимо Премахни фокуса от този човек Съжаляваме, на устройството ти не бяха намерени приложения, които да обработят тази връзка: @@ -8806,6 +8904,10 @@ Опцията Push to Talk трябва да е разрешена, за да говориш в този канал. Изисква се Push-to-Talk Персонализиран линк за покана + Запомни, че за да работят, персонализираните връзки за покана изискват един от текстовите канали да е достъпен за всички членове. + Персонализирана връзка за покана ({uses}) + Направи сървъра си лесно достъпен със специална персонализирана връзка за покана по твой избор. Имай предвид, че това прави сървъра ти публично достъпен за всеки, който използва този линк. + Имай предвид, че можем да изтеглим обратно персонализираните връзки за покана, ако установим злоупотреби или ако има конфликт, свързан с интелектуална собственост. Този сървър вече е достъпен за всички в **!!{url}!!** Този сървър вече е достъпен за всички в [!!{urlText}!!]({urlValue}) твоят-url-адрес-тук diff --git a/app/src/main/res/values-cs/plurals.xml b/app/src/main/res/values-cs/plurals.xml index 79f40c75b7..a5866bec64 100644 --- a/app/src/main/res/values-cs/plurals.xml +++ b/app/src/main/res/values-cs/plurals.xml @@ -1091,6 +1091,16 @@ {#} využitá vylepšení {#} využitých vylepšení + + {#} měsíc + {#} měsíce + {#} měsíců + + + {#} měsíc + {#} měsíce + {#} měsíců + {#} vylepšení {#} vylepšení @@ -1192,6 +1202,10 @@ {#} vylepšení {#} vylepšení + + vylepšení serveru + vylepšení serveru + {#} měsíc {#} měsíce @@ -1649,6 +1663,10 @@ {count} další {count} dalších + + 1 použití + {uses} použití + 1 použití {uses} použití diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index a9a25d2d1a..c6910625e9 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -1196,6 +1196,7 @@ Změnit avatar pro server Změnit ikonu Upravit profil serveru + Avatar a banner profilu „O mně“ pro tento server Když to necháš prázdné, ukáže se text z hlavního profilu. Řekni tomuto serveru něco málo o sobě @@ -1203,6 +1204,7 @@ Na každém serveru jiný avatar a další výhody s Discordem Nitro! Přezdívka (vypnuto) Můžeš změnit, jak tě ostatní na tomto serveru vidí, nastavením přezdívky a avataru pro konkrétní server. + Obnovit výchozí avatar Neznámá chyba Změnit avatar pro server Na každém ze svých serverů používej různé avatary a více s **Discordem Nitro!** @@ -1225,6 +1227,7 @@ Změnit heslo Změnit telefonní číslo? Změnit pozadí + Nemohli jsme změnit vlastní zvací odkaz, protože obsahuje neplatné znaky, je příliš krátký nebo už je zabraný. Vlastní zvací odkazy můžou obsahovat pouze písmena, čísla nebo spojovníky. Obsah protokolu změn Ukaž přátelům naši novou domovskou stránku! Určitě uděláš skvělý dojem. Zjistit více @@ -1240,16 +1243,6 @@ Účastníci Kanál byl smazán. Hlavička kanálu - Informace o kanálu - Pokud tě někdo nezmíní, tak po ztlumení se ti nebudou zobrazovat upozornění na nepřečtené zprávy ani oznámení. - Název - Oznámení - Podrobnosti - Téma - Upravit - Tvoje nastavení - Skrýt informace o kanálu - Zobrazit informace o kanálu Tvoje role nemá oprávnění k přístupu na tento kanál. Kanál je uzamčený Oprávnění byla synchronizována s kategorií: **{categoryName}** @@ -1357,6 +1350,7 @@ Přihlásit Smazat Vymazat přílohy + Zruš prioritní pravidlo verze Vymazat text Kliknutím zobrazíš více informací Klonovat kanál @@ -1938,6 +1932,7 @@ !!{a}!!, !!{b}!! a {n} jsou právě v hlasovém kanálu. V hlasovém kanálu teď nikdo není. Vlastní barva + Pamatuj, že vlastní zvací odkazy vyžadují, aby byl jeden textový kanál přístupný všem členům, jinak nebudou fungovat. Vlastní status Vymazat po Smazat status @@ -2266,6 +2261,7 @@ aktivitě Povídejte si při hraní! NOVÉ! Aktivity + Hraj zdarma s ostatními v libovolném hlasovém kanálu. Odemkni další aktivity pomocí vylepšení! jiná aktivity Smajlíci Přidat do oblíbených @@ -2315,6 +2311,7 @@ Tenhle smajlík je ze serveru, který je soukromý nebo nedostupný. [Zjisti víc](openPremiumSettings) o používání vlastních smajlíků. Odebrat z oblíbených {count} k dispozici + Tenhle smajlík byl moc velký! Smajlíci musí mít pod {maxSize} kB. Kliknutím zobrazíš více informací {count} Pomocí @zmínky můžeš přidat uživatele do tohoto soukromého vlákna. @@ -2487,10 +2484,18 @@ Kopírovat odkaz Otevřít v prohlížeči Sdílet odkaz + Přidat kanál do oblíbených + Přidat PZ do oblíbených + Přidat skupinovou PZ do oblíbených Nemůžeš jich mít víc. Přidat do oblíbených + Vítáme tě v nové funkci Discordu s přiléhavým názvem Oblíbené. Klikni na hvězdičku v kontextové nabídce kanálu, hlasového chatu nebo PZ, a přidej si je tak do oblíbených. + Oblíbené + Přejít na původní server + Oblíbené Maximální počet oblíbených je {count}. Ale ne! + Tento název se zobrazí jenom v tvých oblíbených položkách. Různé Popiš svůj problém Tvůj problém @@ -2552,6 +2557,7 @@ Sníží hlasitost ostatních aplikací o stanovené procento, když někdo mluví. Nastavením na 0 %% útlum zcela vypneš. Vlákna budou po uplynutí stanovené doby nečinnosti archivována. Pokud kontrolka svítí zeleně tak Discord přenáší tvůj krásný hlas. + U VŠECH BITŮ! Rychlost nad {bitrate} kb/s může negativně ovlivnit uživatele s pomalým připojením. Když používáš Discordem certifikovaný mikrofon, nestará se o některé prvky zpracování hlasu Discord, ale přímo samotný mikrofon. Změň nastavení soukromí a uprav, co mohou členové v tomto kanálu dělat. Zaznamenává veškerá data RTP přijatá během dalšího hlasového/video připojení pro účely ladění. @@ -2744,6 +2750,7 @@ Otestovat můj mikrofon Převod textu na řeč Oznámení převedená z textu na řeč + Zrušit ztlumení nových událostí Zrušit ztlumení **!!{name}!!** Textové pole Limit Uživatelů @@ -2783,6 +2790,7 @@ Členové serveru Přijmout Zrušit + Žádost o přátelství byla zrušena. Jejda! Při odesílání žádostí o přátelství se něco pokazilo. Můžeš to kdykoli zkusit znovu ze seznamu přátel. Jejda! Při odesílání žádosti o přátelství pro !!{name}!! se něco pokazilo. Můžeš to kdykoli zkusit znovu ze seznamu přátel. Žádost o přátelství se nepodařilo odeslat @@ -3102,6 +3110,9 @@ Sleduje {username} Přejít do kanálu Rozumím + Během tvého nákupu došlo k problému. Chvíli počkej a zkus to znovu. + Ale ne! + Nemůžeme se připojit ke službám Google Play. Chvíli počkej a pak to zkus znovu. Udělit dočasné členství Zelená Šedá @@ -3149,8 +3160,8 @@ To vypadá skvěle! Zjistit více Možná později - Vylepši na úroveň 1 ještě dnes a vyšvihni kvalitu zvuku z 96 kb/s na 128 kb/s. - Vylepši na úroveň 2 ještě dnes a vyšvihni kvalitu zvuku ze 128 kb/s na 256 kb/s. + Vylepši na úroveň 1 a užívej si plynulejší zvuk, díky kterému budeš mít pocit, že jsi s ostatními v jedné místnosti. + Vylepši na úroveň 2 a užívej si plynulejší zvuk, díky kterému budeš mít pocit, že jsi s ostatními v jedné místnosti. Vylepši na úroveň 3 ještě dnes a vyšvihni kvalitu zvuku z 256 kb/s na 384 kb/s. Víš o tom, že díky vylepšením můžeš získat zvuk ve vyšší kvalitě? Dosáhl/a jsi limitu 100 serverů @@ -3201,6 +3212,7 @@ Od hraní přes hudbu po vzdělávání – i ty zde najdeš své místo. Najdi na Discordu svou komunitu Sledovat aktualizace + Najdi svou komunitu Hledat komunity Oblíbené komunity !!{username}!!, tyhle servery by se ti mohly líbit @@ -3318,18 +3330,40 @@ Vytvořit {count} {number} + Můžeš nějakou napsat! + Tento server ještě nemá žádné připnuté zprávy. + Načti stránku znovu nebo mrkni na naši [stavovou stránku]({url}). + Jejda! Odhalil/a jsi výjimečně vzácnou chybu. + Obnov stránku a zjisti, co se právě teď děje + To je zatím všechno! Moment, může tu toho být mnohem víc… + Otevřít zprávu ze serveru !!{channelName}!! v postranním panelu + {maxReplies} a více odpovědí {numReplies} + Načíst znovu Nejlepší zprávy + Viděl/a jsi nejlepší zprávy za poslední 2 týdny. + Nic ti neuteklo Barva složky Název složky !!{folderName}!!, složka {mentions} !!{folderName}!!, složka {mentions}, !!{expandedState}!! Nepojmenovaná serverová složka Nastavení složky uloženo! + Úvod Toto je nová stránka v testovací beta verzi, která ti má pomoct udržet si přehled o tom, co se děje na tvém serveru. Úvod – !!{guildName}!! + Změnit banner profilu pro server + Klepnutím uprav informace o sobě pro tento server + Upravit sekci O mně pro tento server + Pokud necháš toto pole prázdné, použijí se tvé výchozí informace o tobě. + Klepnutím přidej informace o sobě pro tento server „O mně“ na serveru !!{guildName}!! + Změnit banner profilu pro server + Odstranit avatar serveru + Banner profilu serveru + Obnovit výchozí banner Je toho málo? S Nitrem si můžeš serverový profil přizpůsobit na maximum. + Nahrát banner profilu serveru Buď tím, kým chceš být, a na každém ze svých serverů používej jiný avatar, banner a informace o sobě, odemkni animované avatary a získej spoustu dalších výhod [s Discordem Nitro!](onAndMore) Vyjádři se naplno v profilu serveru Pozvat na servery @@ -3363,6 +3397,8 @@ Platnost ověřovacího odkazu vypršela. Ověření proběhlo úspěšně. Ověřujeme tvou žádost. + Zobrazit nastavení serveru + Tady to pěkně žije! Zvaž změnu výchozího nastavení oznámení pro tento server na **pouze @zmínky** a pomoz svým členům vyznat se v této džungli informací. Informovat @everyone Děj také vědět @everyone, že událost začíná. $[Dej vědět na @everyone, že se pódium otevírá.](tooltipHook) [Zapnout](toggleClick) @@ -3586,6 +3622,8 @@ $[**!!{user}!!**](userHook) upravil/a $[**!!{target}!!**](targetHook) Nastavit kanál aktualizací o komunitních serverech na **!!{newValue}!!** Kanál aktualizací o komunitních serverech **vymazán** + Nastavil/a vlastní zvací odkaz na **!!{newValue}!!** + **Odebral/a** vlastní zvací odkaz Úroveň ověření serveru nastavena na **vysoké** Úroveň ověření serveru nastavena na **nízké** Úroveň ověření serveru nastavena na **střední** @@ -3745,7 +3783,6 @@ Na veřejném Discordu toto výrazně doporučujeme nastavit pouze pro @zmínky. Vzhledem k velikosti serveru nebudou uživatelé dostávat vyskakovací oznámení v mobilní aplikaci pro zprávy bez @zmínky. Zrušit Vyhledávání - Když požadavky na členy zrušíš, lidé se budou moct připojovat k tvojí komunitě bez toho, aby museli přijmout její pravidla nebo museli být ručně schválení. Určitě to chceš udělat? Povolit nebo zrušit Vyhledávání mohou pouze správci serveru. Moderátor musí mít dvoufázové ověření @@ -3798,6 +3835,10 @@ Pokud zrušíš nastavení serveru jako komunitní, zároveň ho odebereme z Vyhledávání serverů. Tento server byl odebrán z Vyhledávání. Tento server nesplňuje požadavky uvedené níže, a proto byl automaticky odebrán z Vyhledávání. Ale žádný strach, můžeš ho tam zase přidat, jakmile opět splní všechny požadavky. Požadavky na aktivitu přepočítáváme každý týden. + Toto nastavení umožňuje zobrazovat informace po kliknutí na vlastní smajlík nebo samolepku z tvého serveru v libovolném chatu. Uživatelé uvidí tvůj server ve zobrazených informacích a budou se k němu moct připojit. + Zakázat informace o smajlících/samolepkách + Povolit informace o smajlících/samolepkách + Po kliknutí zobrazit informace o smajlíkovi/samolepce Rozšiřuj svou komunitu pomocí Vyhledávání serverů Discord upřednostní tento server, když budou hledat servery uživatelé mluvící vybraným jazykem. Zařazení do [Vyhledávání serverů](onLinkClick) umožní komukoliv tvůj server najít a přidat se. @@ -3812,6 +3853,7 @@ Podkategorie Přezdívka Zadej přezdívku + Přidej až {count} vlastních smajlíků, které může používat kdokoliv na tomto serveru. Animované GIF smajlíky mohou používat členové s předplatným Discord Nitro. Názvy smajlíků musí mít alespoň 2 znaky a mohou obsahovat pouze alfanumerické znaky a podtržítka. Velikost smajlíků musí být do {maxSize} kB. Vylepšením serveru na úroveň {level} si odemkneš dalších pozice pro smajlíky! Přicházíš o smajlík úrovně {level} Vylepši server na úroveň {level} nebo si úroveň kup a odemkni své smajlíky! @@ -3858,6 +3900,8 @@ Možnost archivace vláken na 1 týden Zakládání soukromých vláken Animovaný banner serveru + Vlastní zvací odkaz pro tento server + Kvalita zvuku {bitrate} kb/s Další pozice (+{adding}) pro smajlíky serveru (celkem pro {total}) Další pozice (+{adding}) pro vlastní samolepky (celkem pro {total}) Limit nahrávání {fileSize} pro všechny členy @@ -4597,6 +4641,14 @@ Smajlík !!{name}!! Ikona !!{name}!! Logo !!{name}!! + Co jsou to kanály? + V kanálech si můžeš povídat, klábosit, hrát hry a mnohem více. Každý server má seznam kanálů, který si můžeš projít a zjistit, co se právě děje. + Přímé zprávy + Přímé zprávy (PZ) nejsou spojeny s žádným serverem. PZ můžeš posílat soukromě jednomu člověku nebo vytvořit skupinovou PZ až s 10 lidmi. + Potřebuješ ještě další pomoc? + Nepodařilo se ti najít potřebné informace? Ještě více informací najdeš v našem [Centru nápovědy]({helpCenterUrl}). + Co je to server? + Servery jsou místa, kde se můžeš scházet s přáteli a potkávat nové lidi. Většina serverů je soukromých a připojit se k nim můžeš jen na základě pozvánky. v !!{categoryName}!! Nastavení hlasu ve hře V hlasovém kanálu @@ -4615,6 +4667,7 @@ Mám zájem Ne, díky Při nahrání přímo do Discordu + Obrázky větší než {maxSize} MB nebudou mít náhled. Při odeslání odkazu do chatu Zobrazit obrázky, videa a lolcaty Vstupní zařízení @@ -4686,6 +4739,7 @@ Tato aplikace nemá žádné příkazy. Tato aplikace nemá na tomto serveru žádné webhooky. Dosáhl/a jsi maximálního počtu přepsání oprávnění. + Dosáhl/a jsi maximálního počtu oprávnění. Když {removeCount} odebereš, budeš moct dělat další změny. Odebrat integraci Určitě chceš odebrat **!!{applicationName}!!**? Došlo k chybě serveru. @@ -4845,6 +4899,7 @@ Přidej si nějaké přátele! Pozvat lidi Malá rada: přátelé, které pozveš, uvidí historii předchozích zpráv. + Tento kanál je soukromý. Mohou si ho zobrazit jen vybraní členové a role. Hledat přátele Pozvánka odeslána !!{maxAge}!!, !!{maxUses}!! @@ -4855,6 +4910,7 @@ Nebo pošli kamarádovi odkaz s pozvánkou do streamu Pozvat do streamu Pozvat na server + Pozvat přátele do **!!{name}!!** Zvací URL Přidat se k hlasovému hovoru Vítej na svém novém serveru! @@ -5006,6 +5062,7 @@ Vyhodit Vyhodit Vyhodit člena + Vyhazuj, schvaluj a odmítej členy Vyhodit !!{user}!! Určitě chceš uživatele !!{user}!! vyhodit ze serveru? Návrat mu umožní nová pozvánka. „!!{user}!!“ byl vyhozen ze serveru. @@ -6186,9 +6243,21 @@ Zrušit !!{planPremiumType}!!? Předplatné Nitro a vylepšení serveru budou zrušeny okamžitě. Pokud sis změnil/a svůj Discord tag, bude opět náhodný. Tak nic, nechám si Nitro + Tak nic, nechám si Nitro Tvá **dvě vylepšení zdarma** a **30%% sleva na vylepšení** {boostCount} Tvou **30%% slevu na vylepšení** + 2 vylepšení zdarma a 30%% sleva + Možnost používat vlastní smajlíky a samolepky kdekoli + Vystajlovaný profil a vlastní tag + Streamování videa ve vysokém rozlišení s 60 FPS + jsi streamoval/a za {month} + hodiny + Streamování HD videa + Nahrávání souborů o velikosti až 100 MB + velké soubory + jsi odeslal/a za {month} + Nahrávání větších souborů Přístup k **vlastním smajlíkům** a **samolepkám** na všech tvých serverech Přístup k **vlastním smajlíkům** na všech tvých serverech **Animovaný avatar**, **banner profilu** a **vlastní Discord tag** @@ -6309,15 +6378,21 @@ Aktivní vylepšení serveru K dispozici je {numSubscriptions} Je nám líto, momentálně neumožňujeme rušit vylepšení zakoupená přes !!{paymentGatewayName}!!. Vylepšení můžeš zrušit přes správu předplatného [!!{paymentGatewayName}!!]({subscriptionManagementLink}). + Opravdu chceš zrušit toto vylepšení serveru? Rozdrtíme tenhle poklad na prach. Odebereme ho z přidružených serverů a na konci zúčtovacího období **{endDate}** taky z tvého předplatného. + Opravdu chceš odebrat vylepšení serveru ze svého inventáře? Rozdrtíme tenhle poklad na prach. Odebereme ho z přidružených serverů a na konci zúčtovacího období **{endDate}** taky z tvého předplatného. Ano, zrušit vylepšení Tvoje předplatné je po splatnosti. Než začneš spravovat svá vylepšení, aktualizuj prosím platební údaje. Toto vylepšení je součástí tvého předplatného Nitro Zrušit vylepšení Při pokusu o zrušení tohoto vylepšení došlo k chybě. + **{subscriptionCount}** {subscriptionCount} bylo zrušeno + Toto předplacené vylepšení serveru zrušíme na konci zúčtovacího období tvého předplatného Nitro nebo Nitro Classic **{endDate}**. Změny tvého předplatného jsou uvedeny níže: Zrušit vylepšení serveru Zrušit vylepšení serveru na serveru Zrušit vylepšení serveru v inventáři Nevyřízené zrušení vylepšení + Dobrá, jsme připraveni pro tebe tento klenot mezi vylepšeními zničit. Zrušení vylepšení je naplánované na **{endDate}**. **Než ho úplně zlikvidujeme, můžeš toto vylepšení stále využívat.** + Vylepšení zrušeno! {date} Vylepšuješ už {date} ({months}) Při pokusu o vylepšení došlo k chybě. Zkus to prosím znovu. @@ -6389,13 +6464,18 @@ Vyšší limit pro nahrávání souborů o velikosti až 100 MB Ukaž pomocí banneru celému světu, o čem tvůj server je Skvělé výhody: možnost nahrávat větší soubory, kvalitnější zvuk a další! + Skvělé výhody: animovaná ikona serveru, více možností pro vlákna a další! + Skvělé výhody: možnost nahrávat větší soubory, banner serveru, vlastní ikony rolí a další! + Skvělé výhody: vlastní zvací odkaz, extra pozice pro smajlíky a animovaný banner serveru. Nastav si unikátní ikonu pro každou roli na serveru Sdílej obrazovku v rozlišení 1080p s 60 snímky za sekundu Sdílení obrazovky v rozlišení 720p s 60 snímky za sekundu Nahrávání vlastních samolepek, které mohou používat všichni Nahrávej až {numStickers} vlastních samolepek a {numEmojis} vlastních smajlíků + Nahrávej až {numStickers} vlastních samolepek Možnost delší archivace vláken Zakládání soukromých vláken + Přidávej nové členy jednoduše pomocí vlastního zvacího odkazu Cíl: {levelName} Kupuj vylepšení a pomoz odemknout výhody {levelName}! Tento server odemknul všechny výhody z vylepšování! @@ -6534,6 +6614,7 @@ Tvoje předplatné Tato úprava zahrnuje poměrné rozdělení, slevy a náhrady. Toto jsou tvá stávající předplatná. Budeme ti je účtovat ve stejném platebním období. + {planName} – zrušeno Kredit !!{planName}!! Kredit se uplatní, jakmile se přihlásíš k předplatnému !!{planName}!!. Tento kredit lze uplatnit na předplatné !!{planName}!! zakoupené v aplikaci pro počítač. @@ -6715,8 +6796,11 @@ Akce profilu Pořiď si vlastní přizpůsobený banner a další výhody s Discordem Nitro! uběhlo $[](renderTimeHook) + Doporučená minimální velikost je 600 × 240 px a doporučený poměr stran je 5 : 2. Podporovány jsou soubory ve formátu PNG, JPG a animovaný GIF. Řekni tomuto serveru něco málo o sobě + Neukládat Uložit změny? + Vidíme tu nějaké změny. Chceš je před opuštěním této stránky uložit? Exkluzivní pro Nitro Náhled Odznaky uživatele @@ -6877,6 +6961,7 @@ Ukončit pauzu Ukončit pauzu pro „!!{user}!!“ Odebrat !!{user}!! z vlákna + Odebrat vlastní zvací odkaz Zobrazovat náhledy vložení a odkazů na webové stránky vložených do chatu Náhledy vložení a odkazů Zobrazit smajlíky reakcí na zprávy @@ -7013,11 +7098,13 @@ Výchozí oprávnění pro všechny členy serveru Ikona role, {name} Vybrat obrázek + Nahraj obrázek do velikosti 256 kB nebo si vyber vlastní smajlík z tohoto serveru. Doporučujeme rozlišení alespoň 64 × 64 pixelů. Členové, kteří mají více rolí, uvidí ikonu té nejvyšší z nich. Zjistit víc Vlastní ikona role pro {name}. Tato funkce je součástí vylepšování serveru. Smajlíci Nahrát obrázek Procházet soubory + Ale ne! Soubor je moc veliký. Vyber prosím soubor ve formátu PNG nebo JPG do velikosti 256 kB. Vyber obrázek ve formátu PNG nebo JPG pro nahrání Zkopírováno ID pro roli: {role} Uživatelé používají barvu nejvyšší role, kterou mají na tomto seznamu. Přesunutím rolí je můžete uspořádat. @@ -7093,6 +7180,7 @@ Odkazy sdílené členy v těchto kanálech mohou zobrazovat vložený obsah. Odkazy sdílené členy v tomto kanále mohou zobrazovat vložený obsah. Nebyla nalezena žádná oprávnění + Pomocí vyhození můžeš odebrat ostatní členy z tohoto serveru. Vyhození členové se budou moci opět přidat, pokud dostanou novou pozvánku. Pokud server dovoluje používat požadavky na členy, toto oprávnění ti umožní schvalovat nebo zamítat žádosti členů o připojení. Umožní členům odebírat z tohoto serveru jiné členy. Vyhození členové se budou moci opět přidat, pokud dostanou novou pozvánku. Umožní členům měnit název, popis a nastavení textu / hlasu těchto kanálů. Také mohou kanály odstranit. (Nezbytné pro moderátora pódia) Umožňuje členům nastavit téma, otevřít pódium a zapínat či vypínat žádosti o slovo. Tito členové mohou řečnický kanál také smazat. @@ -7565,11 +7653,15 @@ Pomlčky jsou jediné povolené zvláštní znaky. Tagy patří sem. Ve Vyhledávání serverů můžeš hledat podle názvu, popisu a tagů. Můžeš jich přidat až 10. + Servery s {count} a více členy se nyní mohou zapojit do vyhledávání serverů. + Rozšiřuj svou komunitu rychleji Smajlíci serveru Zavřít všechny složky Označit složku jako přečtenou + Ztlumit všechny servery ve složce Serverová složka Nastavení složky + Zrušit ztlumení všech serverů ve složce Přehledy serveru Na tomto serveru je právě plno. Ztlumit mikrofon na serveru @@ -7592,6 +7684,9 @@ Změna protokolování při ladění zavře a restartuje Discord. Určitě to chceš udělat? Nastavit tento odkaz na nekonečno Nastavit stav + Tvůj server nemá přístup k této funkci. + K této funkci nemáš přístup. + Než budeš moct nastavit vlastní zvací odkaz, musíš nejprve nastavit textový kanál, který bude přístupný pro všechny členy. Nastavení Pokročilé Přidej ji! @@ -8412,6 +8507,9 @@ Neregistrovaný účet Zrušit ztlumení zvuk Vrátit + Odebrat kanál z oblíbených + Odebrat PZ z oblíbených + Odebrat skupinovou PZ z oblíbených Odebrat z oblíbených Zrušit zvýraznění této osoby Je nám líto, ale nenašli jsme na tvém zařízení žádné aplikace, které by tento odkaz mohly otevřít: @@ -8810,6 +8908,10 @@ Jestli chceš v tomto kanálu něco říct, musíš povolit Push to Talk. Vyžadována funkce Push to Talk Vlastní zvací odkaz + Pamatuj, že vlastní zvací odkazy vyžadují, aby byl jeden textový kanál přístupný všem členům, jinak nebudou fungovat. + Vlastní zvací odkaz ({uses}) + S vlastním vymazleným zvacím odkazem dle tvého výběru bude tvůj server dostupnější. Hlavně nezapomeň, že pak server bude veřejně přístupný každému, kdo odkaz použije. + Zvací odkaz můžeme odebrat v případě, že zjistíme zneužití nebo spor ohledně duševního vlastnictví. Tento servery je nyní přístupný všem na adrese **!!{url}!!** Tento servery je nyní přístupný všem na adrese [!!{urlText}!!]({urlValue}) zde-tva-url diff --git a/app/src/main/res/values-da/plurals.xml b/app/src/main/res/values-da/plurals.xml index b3a8b86b22..31fa8d8a51 100644 --- a/app/src/main/res/values-da/plurals.xml +++ b/app/src/main/res/values-da/plurals.xml @@ -944,6 +944,14 @@ {#} Boost anvendt {#} Boosts anvendt + + {#} måned + {#} måneder + + + {#} måned + {#} måneder + {#} Boost {#} Boosts @@ -1040,6 +1048,10 @@ {#} Boost {#} Boosts + + Serverboost + Serverboosts + {#} Måned {#} Måneder @@ -1432,6 +1444,10 @@ 1 anden {count} andre + + 1 bruger + {uses} bruger + 1 brug {uses} brug diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 633c2cec29..1bdc9c7ff1 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -1196,6 +1196,7 @@ Ændre server-avatar Skift ikon Rediger serverprofil + Avatar og profilbanner Serverbio Hvis den er tom, anvendes din primære bio. Fortæl denne server en smule om dig selv @@ -1203,6 +1204,7 @@ Brug en anden avatar på hver af dine servere og meget mere med Discord Nitro! Kaldenavn (Deaktiveret) Du kan ændre, hvordan andre ser dig inde på denne server ved at angive et kaldenavn og avatar. + Nulstil til standard-avatar Ukendt fejl Ændr Server- avatar Brug en anden avatar på hver af dine servere og meget mere med **Discord Nitro!** @@ -1225,6 +1227,7 @@ Ændr adgangskode Skift telefonnummer? Skift baggrund + Det tilpassede invitationslink kan ikke ændres, fordi det indeholder ugyldige tegn, var for kort, eller at det allerede er taget. Det tilpassede invitationslink kan kun indeholde bogstaver, tal og bindestreger. Ændringslog Vis en ven din nye hjemmeside! Vi er her kun for at gøre et godt indtryk. Få mere at vide @@ -1240,16 +1243,6 @@ Deltagere Kanalen er blevet slettet. Kanaloverskrift - Kanal-info - Stumhed forhindrer ulæste indikatorer og meddelelser i at blive vist, medmindre de er nævnt. - Navn - Meddelelser - Detaljer - Emne - Rediger - Dine indstillinger - Skjul kanaloplysninger - Vis kanaloplysninger Din rolle har ikke adgangstilladelse til denne kanal. Kanal låst Tilladelser synkroniseret med kategorien: **{categoryName}** @@ -1357,6 +1350,7 @@ Indløs Ryd Ryd vedhæftede filer + Ryd tilsidesættelse af opbygning Ryd tekst Klik for at få mere at vide Klon kanal @@ -1933,6 +1927,7 @@ !!{a}!!, !!{b}!!, og {n} er i talekanalen nu. Der er ingen i talekanalen nu. Brugerdefineret farve + Husk, at tilpassede invitationslinks kræver én tekstkanal, der skal være tilgængelig for alle medlemmer, for at de kan fungere. Skræddersyet status Fjern efter Fjern status @@ -2261,6 +2256,7 @@ en aktivitet Begynd at spille sammen nu med tale! NYT! Aktiviteter + Spil sammen gratis i en hvilken som helst talekanal. Lås op for flere aktiviteter med Boost! en anden aktivitet Emoji Tilføj til favoritter @@ -2310,6 +2306,7 @@ Denne emoji er fra en server, der enten er privat eller ikke tilgængelig. [Få mere at vide](openPremiumSettings) om, hvordan du anvender brugertilpassede emojis. Fjern fra favoritter {count} tilgængelige + Emojien var for stor. Emojier skal være mindre end {maxSize} kb. Klik for at få mere at vide {count} @mention brugere for at tilføje dem til denne private tråd. @@ -2482,10 +2479,18 @@ Kopiér link Åbn i browser Del link + Gør kanal til favorit + Gør DM til favorit + Gør Gruppe DM til favorit Du kan ikke have flere favoritter. Gør til favorit + Velkommen til din nye Discord-favoritfunktion! Tilføj favoritter ved at stjernemarkere kanaler, stemmechats og direkte beskeder via deres kontekstmenuer. + Favoritter + Gå til original server + Favoritter Du kan ikke have flere end {count} favoritter. Åh nej! + Dette navn vil kun blive vist under dine favoritter. Diverse Beskriv dit problem Dit problem @@ -2547,6 +2552,7 @@ Sænk lydstyrken på andre programmer med denne procent, når nogen taler. Sæt den til 0 %% for helt at fjerne dæmpning. Nye tråde arkiveres efter den angivne varighed af inaktivitet. Hvis indikatoren har en solid grøn farve, udsender Discord din smukke stemme. + ALLE STUMPERNE! Hvis du går over {bitrate} kbps, kan det have modsatte virkning med dårlig forbindelse. Når du bruger en Discord-certificeret mikrofon, så håndteres visse stemmebehandlende funktioner ikke længere af Discord, men snarere af mikrofonen. Ændr indstillinger for privatliv og tilpas hvordan medlemmer kan interagere med denne kanal. Optager alle RTP data der er modtaget, til brug for fejlsøgning ved den næste tale/video-forbindelse. @@ -2739,6 +2745,7 @@ Test min mikrofon Tekst-til-tale Tekst-til-tale meddelelser + Ophæv stumhed for ny begivenhed Ophæv stumhed for **!!{name}!!** Tekstboks Brugerbegrænsning @@ -2778,6 +2785,7 @@ Servermedlemmer Acceptér Annuller + Venneanmodning er blevet annulleret. Hm, noget gik galt, da du sendte venneanmodninger. Du kan altid prøve igen senere fra vennelisten. Hm, noget gik galt, da du sendte en venneanmodning til !!{name}!!. Du kan altid prøve igen senere fra vennelisten. Venneanmodning mislykkedes @@ -3097,6 +3105,9 @@ Ser {username} Gå til kanal Forstået + Der er opstået et proble med dit køb. Vent venligst og prøv igen senere. + Åh nej! + Det lykkedes ikke at forbinde til Google Play-tjenester. Vent venligst, og prøv igen. Giv midlertidigt medlemskab Grøn Grå @@ -3144,9 +3155,9 @@ Det ser godt ud! Få mere at vide Måske senere - Boost til level 1 i dag, så din lydkvalitet øges fra 96 kbps til 128 kbps. - Boost til level 2 i dag, så din lydkvalitet øges fra 128 kbps til 256 kbps. - Boost til level 3 i dag, så din lydkvalitet øges fra 256 kbps til 384 kbps. + Boost til niveau 1 for lyd uden driftsforstyrrelser, så alle føler, de er i samme rum. + Boost til niveau 2 for lyd uden driftsforstyrrelser, så alle føler, de er i samme rum. + Boost til niveau 3 i dag, så din lydkvalitet øges fra 256 kbps til 384 kbps. Vidste du, at du kan få bedre lydkvalitet med boosts? Du har nået grænsen på maksimalt 100 servere Fordobl antallet af servere du kan joine med op til 200. @@ -3196,6 +3207,7 @@ Alt lige fra gaming til musik og uddannelse. Der er altid plads til dig. Find dit fællesskab på Discord Følg opdateringer + Find dit community Søg efter communities Populære fællesskaber !!{username}!!, du vil synes om disse servere @@ -3313,18 +3325,40 @@ Opret {count} {number} + Men du kunne skrive nogle! + Denne server har endnu ikke nogen topbeskeder. + Genindlæs siden, eller kig på vores [statusside]({url}). + Hov! Du fandt en ultrasjælden fejl. + Opdatér siden for at se, hvad der sker + Det var alt for nu! Men vent, der kan være mere … + Åbn beskeder fra !!{channelName}!! i sidepanelet + {maxReplies}+ svar {numReplies} + Genindlæs Top-beskeder + Du har set alle topbeskeder fra de sidste 2 uger. + Du er helt ajour Mappefarve Mappenavn !!{folderName}!!, mappe {mentions} !!{folderName}!!, mappe {mentions}, !!{expandedState}!! Unavngivet servermappe Indstillinger for mappe blev gemt! + Start Dette er en ny brugerflade, som vi beta-tester for at hjælpe dig med at holde dig ajour med, hvad der sker på din server. Start - !!{guildName}!! + Skift serverprofilbanner + Tryk for redigere “om mig” for denne server + Rediger “om mig” for denne server + Hvis den er tom, anvendes din standardiserede “om mig”. + Tryk for at tilføje en “om mig” for denne server Serverbio for !!{guildName}!! + Skift serverprofilbanner + Slet server-avatar + Serverprofilbanner + Nulstil til standardbanner Har du brug for mere? Få fuld tilpasning af serverprofilen med Nitro. + Upload serverprofilbanner Vær den, du ønsker at være, og brug en anden avatar, et andet banner og en anden bio på hver af dine servere, lås op for animerede avatarer og meget mere med [Discord Nitro!](onAndMore) Udtryk dig selv fuldt ud med serverprofiler Inviter til servere @@ -3358,6 +3392,8 @@ Bekræftelseslink udløbet. Bekræftelsen lykkedes. Verificerer din anmodning. + Se Serverindstillinger + Her er temmelig travlt! Overvej at ændre denne servers standardmeddelelsesindstillinger til kun **@mentions** for at hjælpe dine medlemmer. Giv besked til @everyone Giv også @everyone besked om, at event starter. $[Fortæl @everyone, at podiet begynder.](tooltipHook) [Aktiver](toggleClick) @@ -3581,6 +3617,8 @@ $[**!!{user}!!**](userHook) lavede ændringer til $[**!!{target}!!**](targetHook) Angiv kanal for community-opdateringer til at være **!!{newValue}!!** **Fjernede** kanalen for community-serveropdateringer + Indstil tilpasset invitationslink til **!!{newValue}!!** + **Fjernede** det tilpassede invitationslink Indstil serverbekræftelsesniveauet til **Højt** Indstil serverbekræftelsesniveauet til **Lavt** Indstil serverbekræftelsesniveauet til **Mellem** @@ -3740,7 +3778,6 @@ Vi anbefaler kraftigt kun at sætte dette til @mentions på en offentlig Discord. Grundet serverens størrelse, vil medlemmer ikke få mobile pushmeddelelser for ikke-@mention beskeder. Slå Opdagelse fra - Hvis du slår medlemskrav fra, betyder det, at folk kan tilmelde sig dit community uden at acceptere reglerne og uden din manuelle godkendelse. Er du sikker? Kun server-administratorer kan aktivere og deaktivere Serveropdagelse. 2FA er et krav før moderering aktiveres @@ -3793,6 +3830,10 @@ Hvis du deaktiverer community-status, fjernes din server også fra serveropdagelse. Denne server er blevet fjernet fra Opdagelse. Denne server opfyldte ikke kravene nedenfor og er automatisk fjernet fra opdagelsen. Bare rolig, du kan være med igen, når du består igen. Vi kontrollerer kravene en gang om ugen. + Dette tillader info at blive vist, når der klikkes på en brugerdefineret emoji eller sticker fra din server i enhver chat. Brugere vil være i stand til at se og tilslutte sig til din server via den information, der vises. + Deaktivér info om emoji/sticker + Aktivér info om emoji/sticker + Vis info om emoji/sticker, når der klikkes på den Øg dit fællesskab med Serveropdagelse Discord vil prioritere denne server i søgninger til brugere, der taler det valgte sprog. Ved at blive opført i [Serveropdagelse](onLinkClick) kan alle finde og tilslutte dig din server. @@ -3807,6 +3848,7 @@ Underkategorier Alias Indtast alias + Tilføj op til {count} brugerdefinerede emojier, som alle kan bruge på denne server. Animerede GIF-emojier kan bruges af brugere med Discord Nitro. Emoji-navne skal være på mindst 2 tegn og må kun indeholde alfanumeriske tegn og understregninger. Emoji skal være under {maxSize} KB i størrelse. Boost din server til Level {level} for at oplåse flere emojipladser! Niveau {level} -emojier tabt Boost din server til niveau {level} , eller køb et niveau for at låse op for dine emojier! @@ -3853,6 +3895,8 @@ 1-uges arkiveringsmulighed for tråde Opret private tråde Animeret serverbanner + Tilpasset invitationslink til serveren + {bitrate} kbps lydkvalitet +{adding} server-emoji felter (til et total på {total}) +{adding} brugertilpassede sticker-pladser (for i alt {total}) {fileSize} uploadbegrænsning for alle medlemmer @@ -4592,6 +4636,14 @@ !!{name}!! Emoji !!{name}!! Ikon !!{name}!! Logo + Hvad er kanaler? + Kanaler er steder, hvor du kan tale, hoppe i stemmer, spille spil og meget mere. Hver server har en kanalliste, du kan rulle igennem for at se, hvad der sker. + Direkte beskeder + Direkte beskeder er uafhængige af servere. Du kan skrive direkte beskeder til en ven privat for en hurtig snak, eller du kan oprette en gruppe DM med op til 10 personer. + Har du stadig brug for hjælp? + Fandt du ikke, hvad du ledte efter? [Besøg vores Hjælpecenter]({helpCenterUrl}) for yderligere oplysninger. + Hvad er en server? + Servere er steder, hvor du kan hænge ud med venner og møde mennesker. De fleste servere er private og kun tilgængelige ved invitation. i !!{categoryName}!! Stemmeindstillinger i spillet I talekanalen @@ -4610,6 +4662,7 @@ Interesseret Nej tak Når uploadet direkte til Discord + Billeder, der er større end {maxSize} MB vil ikke blive forhåndsvist. Når opslået som links i chatten Vis billeder, videoer og lol-katte Indgangsenhed @@ -4681,6 +4734,7 @@ Denne applikation har ingen kommandoer. Denne applikation har ingen webhooks på denne server. Du har nået det maksimale antal overskrivninger af tilladelser. + Du har nået maks. antal tilladelser. Fjern {removeCount} af dem for at lave yderligere ændringer. Fjern integration Er du sikker på, at du vil fjerne **!!{applicationName}!!**? Der opstod en intern serverfejl. @@ -4840,6 +4894,7 @@ Lad os tilføje nogle venner! Inviter folk Pas på! Venner, du inviterer, kan se din tidligere beskedhistorik. + Denne kanal er privat, kun udvalgte medlemmer og roller kan se denne kanal. Søg efter venner Invitation sendt !!{maxAge}!!, !!{maxUses}!! @@ -4850,6 +4905,7 @@ Eller, send et stream-invitationslink til en ven Inviter til stream Inviter til server + Inviter venner til **!!{name}!!** Invitations-URL Deltag i opkald Velkommen til din nye server! @@ -5001,6 +5057,7 @@ Smid ud Smid ud Smid medlemmer ud + Smid ud, godkend og afvis medlemmer Smid !!{user}!! ud Er du sikker på, at du vil smide !!{user}!! ud fra serveren? De vil kunne vende tilbage igen med en ny invitation. \'!!{user}!!\' er blevet smidt ud fra serveren. @@ -6181,9 +6238,21 @@ Afmeld !!{planPremiumType}!! Afmelding træder i kraft omgående for alle Nitro og Serverboost abonnementer. Dit Discord-tag vil blive vilkårligt, hvis du har ændret det. Nevermind, behold Nitro + Det er lige meget, behold Nitro Dine **2 gratis Boosts** og **30%% Boost rabat** {boostCount} Din **boost-rabat på 30 %%** + 2 gratis Boost og 30 %% rabat + Anvende brugerdefinerede emojier og stickers overalt + Profil-swag og brugerdefineret tag + Høj definition, 60 FPS videostreaming + du har streamet i {month} + timer + HD-videostreaming + Forøget filupload til 100 MB + store filer + du har sendt i {month} + Større filoverførsler Adgang til **brugerdefinerede emojier** og **stickere** på tværs af alle dine servere Adgang til **brugerdefinerede emojier** på tværs af alle dine servere Et **animeret avatar**, **profilbanner** og brugerdefineret **Discord-tag** @@ -6304,15 +6373,21 @@ Aktive Serverboosts {numSubscriptions} til rådighed Beklager, vi understøtter i øjeblikket ikke annullering af boosts købt via !!{paymentGatewayName}!!. Du kan annullere dit boost via [!!{paymentGatewayName}!!\'s Abonnementsstyring]({subscriptionManagementLink}). + Er du sikker på, at du ønsker at annullere denne Serverboost? Vi vil smadre denne perle til atomer. Den vil blive fjernet fra alle tilknyttede servere og annulleret på dit abonnement ved udløbet af din abonnementsperiode: **{endDate}**. + Er du sikker på, at du vil annullere en Serverboost fra din lagerbeholdning? Vi vil smadre denne perle til atomer. Den vil blive fjernet fra alle tilknyttede servere og annulleret på dit abonnement ved udløbet af din abonnementsperiode: **{endDate}**. Ja, annuller boost Dit abonnement er forfaldent til betaling. Du skal opdatere din betalingsinformation, før du håndterer boosts. Denne boost er inkluderet i dit Nitro-abonnement Annuller boost Der opstod en fejl under annullering af dette boost. + **{subscriptionCount}** × {subscriptionCount} annulleret + Dette Serverboost-abonnement vil blive annulleret ved udløbet af din Nitro eller Nitro Classic-abonnementsperiode **{endDate}**. Ændringerne i dit abonnement kan ses nedenfor: Fjern Serverboost Annuller Serverboost fra en server Annuller Serverboost fra lagerbeholdning Boost afventer annullering + Nuvel, vi er klar til at totalsmadre denne Boost-perle for dig. Boost er planlagt til at blive annulleret d.: **{endDate}**. **Du kan stadig anvende dette Boost, indtil det bliver revet ned!** + Boost annulleret! {date} Boosting siden {date} ({months}) Der opstod en fejl ved forsøg på boost. Prøv venligst igen. @@ -6384,13 +6459,18 @@ Forøgede filupload-grænsen til 100 MB Vis alle, hvad din server handler om, med et serverbanner Kraftfulde opgraderinger: større fil-uploads, øget lydkvalitet og meget mere! + Kraftfulde opgraderinger: animeret serverikon, yderligere trådmuligheder og meget mere! + Kraftfulde opgraderinger: større fil-uploadsstørrelser, serverbanner, brugerdefinerede rolleikoner og meget mere! + Kraftfulde opgraderinger: Tilpasset invitationslink, extra emoji-pladser og animeret serverbanner. Indstil et unikt ikon for hver rolle på serveren Skærmdeling i 1080p/60fps Skærmdeling i 720p/60fps Upload private stickere som alle kan bruge Upload op til {numStickers} brugerdefinerede stickers og {numEmojis} brugerdefinerede emojier + Upload op til {numStickers} brugerdefinerede stickere Længere arkiveringsmuligheder for tråde Opret private tråde + Du kan nemt tilføje nye medlemmer med et tilpasset invitationslink Mål: {levelName} Køb boosts for at låse op for {levelName}-frynsegoder! Denne server har nu låst op for alle Boosting-frynsegoder! @@ -6529,6 +6609,7 @@ Dine abonnementer Denne justering inkluderer forholdsmæssige beregninger, rabatter og refusioner. Disse er dine nuværende abonnementer. De faktureres under den samme faktureringscyklus. + {planName} Annulleret !!{planName}!! Kredit Denne kredit gælder, når du tilmelder dig et !!{planName}!! abonnement. Denne kredit kan tildeles til et !!{planName}!! abonnement, der er købt via skrivebords-appen. @@ -6710,8 +6791,11 @@ Profilhandlinger Upload dit eget personligt tilpassede banner og mere med Discord Nitro! $[](renderTimeHook) gået + Den anbefalede minimumsstørrelse og billedformat er 600x240 og 5:2. De accepterede filtyper omfatter PNG, JPG og animerede GIF-filer. Fortæl denne server en smule om dig selv + Gem ikke Gem ændringer? + Du har foretaget ændringer. Vil du gemme dem, før du forlader denne side? Eksklusivt for Nitro Forhåndsvisning Bruger-badges @@ -6872,6 +6956,7 @@ Fjern timeout Fjern timeout fra \'!!{user}!!\' Fjern !!{user}!! fra tråden + Fjern tilpasset invitationslink Vis indlejringer og forhåndsvisning af links til websteder, der er indsat i chatten Indlejringer og forhåndsvisninger af links Vis emoji-reaktioner i beskeder @@ -7008,11 +7093,13 @@ Standard-tilladelser for alle medlemmer på serveren Rolleikon, {name} Vælg billede + Upload et billede på under 256 KB, eller vælg en brugerdefineret emoji fra denne server. Vi anbefaler mindst 64 x 64 pixels. Medlemmer vil se ikonet for deres højeste rolle, hvis de har flere roller. Få mere at vide Tilpasset rolleikon for {name} Denne funktion er en del af Serverboosting Emoji Upload billede Gennemse filer + Åh nej! Filen er for stor. Vælg en .png eller .jpg på højst 256 KB. Vælg en PNG- eller JPG-fil, du vil uploade Kopierede id for rollen: {role} Medlemmer bruger farven fra den højeststående rolle, de har på denne liste. Træk i rollerne for at ændre rækkefølgen. @@ -7088,6 +7175,7 @@ Tillader links, som medlemmer deler, at vise integreret indhold i disse kanaler. Tillader links, som medlemmer deler, at vise integreret indhold i denne kanal. Der blev ikke fundet nogle tilladelser + Funktionen smid ud giver medlemmer mulighed for at fjerne andre medlemmer fra denne server. Medlemmer, der er blevet smidt ud, kan komme med igen ved en ny invitation. Hvis serveren aktiverer medlemskrav, er det muligt at godkende og afvise medlemmer, der anmoder om at blive medlem. Giver medlemmer mulighed for at fjerne andre medlemmer fra denne server. Medlemmer der er blevet sparket ud, vil være i stand til at kunne joine igen, hvis de har en anden invitation. Giver medlemmerne mulighed for at ændre denne kanals navn, beskrivelse, samt tekst / stemmeindstillinger. De kan også slette kanalen. (Påkrævet for podiemoderator) Tillad medlemmer at angive et emne for at starte podiet og aktiver eller deaktiver anmodninger om at få ordet. De kan også slette podiekanalen. @@ -7559,11 +7647,15 @@ Bindestreger er det eneste tilladte specialtegn. Tags skal være her. I Serveropdagelse kan du søge efter navn, beskrivelse og tags. Du kan tilføje op til 10. + Server med {count}+ medlemmer er nu berettiget til at deltage i Serveropdagelse. + Få dit community til at vokse hurtigere Server-emoji Luk alle mapper Marker mappe som læst + Gør alle servere i mappen stumme Servermappe Mappeindstillinger + Ophæv stumhed for alle servere i mappen Server Insights Serveren er fyldt lige nu. Gør server stum @@ -7586,6 +7678,9 @@ En ændring af fejlrettelseslogning vil afslutte og genstarte Discord. Er du sikker på, at du vil gøre dette? Sæt dette link til aldrig at udløbe Sæt status + Din server har ikke adgang til denne funktion. + Du har ikke adgang til denne funktion. + Du skal indstille en tekstkanal, der er tilgængelig for alle medlemmer, før du indstiller et tilpasset invitationslink. Indstillinger Avanceret Tilføj det! @@ -8406,6 +8501,9 @@ Uafkrævet konto Ophæv døvhed Fortryd + Fjern kanal som favorit + Fjern DM som favorit + Fjern gruppe DM som favorit Fjern som favorit Fjern denne person fra fokus Desværre blev der ikke fundet noget program på din enhed, der kunne håndtere dette link. @@ -8804,6 +8902,10 @@ Du skal have Tryk-og-tal aktiveret for at tale i denne kanal. Tryk-og-tal påkrævet Tilpasset invitationslink + Husk, at tilpassede invitationslinks kræver én tekstkanal, der skal være tilgængelig for alle medlemmer, for at de kan fungere. + Tilpasset invitationslink ({uses}) + Gør din server let tilgængelig med et smart, brugerdefineret invitationslink efter eget valg. Vær opmærksom på, at dette gør din server offentligt tilgængelig for alle, der bruger dette link. + Husk på, at vi kan tage tilpassede invitationslinks tilbage, hvis vi opdager misbrug, eller hvis der er en konflikt om intellektuel ejendomsret. Denne server er nu tilgængelig for alle på **!!{url}!!** Denne server er nu tilgængelig for alle på [!!{urlText}!!]({urlValue}) din-url-her diff --git a/app/src/main/res/values-de/plurals.xml b/app/src/main/res/values-de/plurals.xml index b766368e1f..eb06629b4c 100644 --- a/app/src/main/res/values-de/plurals.xml +++ b/app/src/main/res/values-de/plurals.xml @@ -944,6 +944,14 @@ {#} verwendeten Boost {#} verwendete Boosts + + {#} Monat + {#} Monaten + + + {#} Monat + {#} Monaten + {#} Boost {#} Boosts @@ -1040,6 +1048,10 @@ {#} Boost {#} Boosts + + Server-Boost + Server-Boosts + {#} Monat {#} Monate @@ -1432,6 +1444,10 @@ 1 weiterer {count} weitere + + Eine Verwendung + {uses} Verwendungen + Eine Verwendung {uses} Verwendungen diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index c443296199..d6003930cb 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -1196,6 +1196,7 @@ Server-Avatar ändern Icon ändern Serverprofil bearbeiten + Avatar und Profilbanner Server-Bio Wenn du dieses Feld freilässt, wird deine normale Bio verwendet. Erzähl allen auf dem Server ein bisschen über dich. @@ -1203,6 +1204,7 @@ Benutze auf jedem deiner Server einen anderen Avatar und vieles mehr mit Discord Nitro! Nickname (deaktiviert) Du kannst ändern, wie andere auf diesem Server dich sehen, indem du deinen Server-Nickname und Avatar änderst. + Auf Standard-Avatar zurücksetzen Unbekannter Fehler Server -Avatar ändern Benutze auf jedem deiner Server einen anderen Avatar und vieles mehr mit **Discord Nitro!** @@ -1230,6 +1232,7 @@ Passwort ändern Telefonnummer ändern? Hintergrund ändern + Der personalisierte Einladungslink konnte nicht geändert werden, da er entweder unzulässige Zeichen enthält, zu kurz oder bereits vergeben ist. Personalisierte Einladungslinks dürfen nur Buchstaben (Keine Umlaute), Zahlen und Bindestriche enthalten. Änderungsprotokoll – Inhalte Zeige einem Freund unsere neue Website! Wir machen gerne einen guten Eindruck. Mehr erfahren @@ -1245,16 +1248,6 @@ Teilnehmer Kanal wurde gelöscht. Kanalüberschrift - Kanalinfos - Durchs Stummschalten erhältst du keine Benachrichtigungen, es sei denn, du wirst direkt erwähnt. - Name - Benachrichtigungen - Details - Thema - Bearbeiten - Deine Einstellungen - Kanalinformationen verbergen - Kanalinformationen anzeigen Deine Rolle hat keine Berechtigung, auf diesen Kanal zuzugreifen. Kanal gesperrt Berechtigungen synchronisiert mit Kategorie: **{categoryName}** @@ -1362,6 +1355,7 @@ Beanspruchen Löschen Anhänge löschen + Versionsüberschreibung löschen Text löschen Klicken, um mehr zu erfahren Kanal kopieren @@ -1943,6 +1937,7 @@ !!{a}!!, !!{b}!! und {n} sind zurzeit im Sprachchat. Niemand ist zurzeit im Sprachchat. Benutzerdefinierte Farbe + Denk daran: Personalisierte Einladungslinks erfordern einen Textkanal, der für alle Mitglieder zugänglich ist, um zu funktionieren. Personalisierter Status Löschen nach Status löschen @@ -2271,6 +2266,7 @@ eine Aktivität Spielt zusammen – jetzt auch mit Sprachchat! NEU! Aktivitäten + Spielt kostenlos zusammen in einem beliebigen Sprachkanal. Nutzt Booster, um mehr Aktivitäten freizuschalten! eine andere Aktivität Emoji Zu Favoriten hinzufügen @@ -2320,6 +2316,7 @@ Dieses Emoji ist von einem Server, der entweder privat oder nicht verfügbar ist. [Erfahre mehr](openPremiumSettings) über personalisierte Emojis. Aus Favoriten entfernen {count} verfügbar + Das Emoji war zu groß! Emojis müssen kleiner als {maxSize} kB sein. Klicken, um mehr zu erfahren {count} @Erwähne Benutzer, um sie zu diesem privaten Thread hinzuzufügen. @@ -2492,10 +2489,18 @@ Link kopieren Im Browser öffnen Link teilen + Kanal zu Favoriten hinzufügen + DM zu Favoriten hinzufügen + Gruppenchat zu Favoriten hinzufügen Du kannst nicht noch mehr Favoriten haben. Zu Favoriten hinzufügen + Willkommen bei deiner neuen „favorisierten“ Discord-Funktion! Füge Favoriten hinzu, indem du Kanäle, Sprachchats und Direktnachrichten über ihre Kontextmenüs markierst. + Favoriten + Zum ursprünglichen Server + Favoriten Du kannst nicht mehr als {count} Favoriten haben. Oh nein! + Dieser Name wird nur in deinen Favoriten angezeigt. Sonstiges Beschreibe dein Problem Dein Problem @@ -2557,6 +2562,7 @@ Verringert die Lautstärke anderer Programme um die angegebene Prozentzahl, wenn jemand spricht. Setze den Wert auf 0 %%, um diese Funktion zu deaktivieren. Threads werden nach der festgelegten Inaktivitätsdauer archiviert. Wenn die Anzeige beständig grün ist, überträgt Discord deine wohlklingende Stimme. + ALLE BITS! Die Bitrate von {bitrate} Kbps zu überschreiten, kann sich nachteilig auf Benutzer mit schlechter Verbindung auswirken. Bei Einsatz eines Discord-zertifizierten Mikrofons werden bestimmte Stimmverarbeitungsfunktionen nicht mehr von Discord selbst ausgeführt, sondern vom Mikrofon. Ändere die Privatsphäreeinstellungen und passe an, wie Mitglieder mit diesem Kanal interagieren können. Speichert zu Debugging-Zwecken alle RTP-Daten, die für die nächste Sprach-/Videoverbindung empfangen werden. @@ -2749,6 +2755,7 @@ Mein Mikrofon testen Text-zu-Sprache Text-zu-Sprache-Benachrichtigungen + Stummschaltung von neuen Events aufheben Stummschaltung von **!!{name}!!** aufheben Textfeld Benutzerlimit @@ -2788,6 +2795,7 @@ Servermitglieder Annehmen Abbrechen + Freundschaftsanfrage wurde abgebrochen. Hm, beim Senden von Freundschaftsanfragen ist etwas schiefgegangen. Über die Freundesliste kannst du es später jederzeit erneut versuchen. Hm, beim Senden deiner Freundschaftsanfrage an !!{name}!! ist etwas schiefgegangen. Über die Freundesliste kannst du es später jederzeit erneut versuchen. Freundschaftsanfrage fehlgeschlagen @@ -3107,6 +3115,9 @@ Bei {username} im Stream Zum Kanal Alles klar + Bei deiner Zahlung ist ein Fehler aufgetreten. Bitte warte einen Moment und versuch es erneut. + Oh nein! + Verbindung zu Google Play-Diensten konnte nicht hergestellt werden. Bitte warte einen Moment und versuch es erneut. Vorübergehende Mitgliedschaft erlauben Grün Grau @@ -3154,9 +3165,9 @@ Das sieht super aus! Mehr erfahren Vielleicht später - Booste noch heute auf Level 1 und verbessere deine Audioqualität von 96 kbps auf 128 kbps. - Booste noch heute auf Level 2 und verbessere deine Audioqualität von 128 kbps auf 256 kbps. - Booste noch heute auf Level 3 und verbessere deine Audioqualität von 256 kbps auf 384 kbps. + Booste auf Level 1 für eine bessere Audioqualität, mit der es sich anfühlt, als wärt ihr alle im selben Raum. + Booste auf Level 2 für eine bessere Audioqualität, mit der es sich anfühlt, als wärt ihr alle im selben Raum. + Booste noch heute auf Level 3 und verbessere deine Audioqualität von 256 Kbps auf 384 Kbps. Wusstest du schon, dass Boosts dir eine bessere Audioqualität verschaffen können? Du hast die maximale Anzahl von 100 Servern erreicht. Verdopple die Anzahl an Servern, denen du beitreten kannst, auf bis zu 200 Server. @@ -3206,6 +3217,7 @@ Von Videospielen über Musik bis hin zu Lerngruppen – hier ist für jeden was dabei. Finde deine Community auf Discord Updates abonnieren + Finde deine Community Nach Communitys suchen Beliebte Communitys Diese Server könnten dir gefallen, !!{username}!!. @@ -3324,18 +3336,40 @@ Erstellen {count} {number} + Aber du könntest welche schreiben! + Dieser Server hat noch keine wichtigen Nachrichten. + Bitte lade die Seite neu oder wirf einen Blick auf unsere [Statusseite]({url}). + Ups! Bei dir ist ein superseltener Fehler aufgetreten. + Aktualisiere und schau, was passiert + Das war’s fürs Erste! Aber vielleicht kommt da noch was … + Nachricht von !!{channelName}!! in der Seitenleiste öffnen + Über {maxReplies} Antworten {numReplies} + Neu laden Wichtigste Nachrichten + Du hast alle wichtigen Nachrichten der letzten zwei Wochen gesehen. + Du bist auf dem neusten Stand. Ordnerfarbe Ordnername !!{folderName}!!, Ordner {mentions} !!{folderName}!!, Ordner {mentions}, !!{expandedState}!! Unbenannter Serverordner Ordnereinstellungen gespeichert! + Home Dies ist ein neues Feature, das sich in der Betaphase befindet. Es soll dir helfen, auf deinem Server den Überblick zu behalten. Home – !!{guildName}!! + Profilbanner für Server ändern + Antippen, um „Über mich“ für diesen Server zu bearbeiten + „Über mich“ für diesen Server bearbeiten + Wenn du dieses Feld freilässt, wird dein standardmäßiges „Über mich“ verwendet. + Tippen, um „Über mich“ diesem Server hinzuzufügen Server-Bio für !!{guildName}!! + Profilbanner für Server ändern + Server-Avatar löschen + Server-Profilbanner + Auf Standard-Banner zurücksetzen Willst du noch mehr? Hol dir eine komplette Serverprofilanpassung mit Nitro. + Server-Profilbanner hochladen Mit [Discord Nitro](onAndMore) zeigst du anderen, wer du wirklich bist. Benutze einen anderen Avatar, ein anderes Banner und eine andere Bio auf jedem deiner Server, schalte animierte Avatare frei und vieles mehr! Drücke deine Stimmung mit Serverprofilen aus Zu Servern einladen @@ -3369,6 +3403,8 @@ Verifizierungslink ist abgelaufen. Verifizierung erfolgreich. Verifiziere deine Anfrage. + Servereinstellungen anzeigen + Hier ist aber viel los! Denk vielleicht mal darüber nach, die Standard-Benachrichtigungseinstellungen des Servers auf **@Erwähnungen** zu begrenzen, um deinen Mitgliedern das Leben zu erleichtern. @everyone benachrichtigen Lass außerdem @everyone wissen, dass das Event beginnt. $[@everyone benachrichtigen, dass die Stage beginnt.](tooltipHook) [Aktivieren](toggleClick) @@ -3592,6 +3628,8 @@ $[**!!{user}!!**](userHook) hat Änderungen an $[**!!{target}!!**](targetHook) vorgenommen Kanal für Community-Server-Updates auf **!!{newValue}!!** gesetzt Kanal für Community-Server-Updates **entfernt** + Personalisierten Einladungslink ändern zu: **!!{newValue}!!** + Personalisierter Einladungslink wurde **entfernt** Server-Verifizierungsstufe auf **Hoch** gesetzt Server-Verifizierungsstufe auf **Niedrig** gesetzt Server-Verifizierungsstufe auf **Mittel** gesetzt @@ -3751,7 +3789,6 @@ Wir empfehlen, diese Option bei einem öffentlichen Discord auf @Erwähnungen zu beschränken. Aufgrund der Größe dieses Servers erhalten Mitglieder keine mobilen Push-Benachrichtigungen bei Nachrichten ohne @Erwähnen. Entdeckung deaktivieren - Wenn du die Beitrittsvoraussetzungen deaktivierst, ist der Beitritt zu deiner Community ohne das Akzeptieren von Regeln und ohne deine manuelle Annahme möglich. Bist du sicher? Nur Serveradministratoren können Entdeckungen aktivieren und deaktivieren. 2FA-Bedingung für Moderation aktiviert @@ -3804,6 +3841,10 @@ Durch Deaktivieren der Community-Funktion wird dein Server auch nicht mehr unter „Server entdecken“ angezeigt. Dieser Server wurde aus den Entdeckungen entfernt. Dieser Server erfüllt die unten genannten Voraussetzungen nicht und wurde automatisch aus den Entdeckungen entfernt. Aber keine Sorge, du kannst erneut beitreten, sobald der Server sie wieder erfüllt. Die Aktivitätsanforderungen werden wöchentlich überprüft. + Durch einen Klick auf ein personalisiertes Emoji oder einen personalisierten Sticker von deinem Server in einem beliebigen Chat werden Informationen angezeigt. Benutzer können deinen Server über diese Informationen sehen und ihm beitreten. + Emoji-/Sticker-Infos deaktivieren + Emoji-/Sticker-Infos aktivieren + Emoji-/Sticker-Infos bei Klick anzeigen Vergrößere deine Community mit „Server entdecken“. Discord wird diesen Server gegenüber Benutzern, die die gewählte Sprache sprechen, in der Suche priorisieren. Wenn dein Server in [Server entdecken](onLinkClick) aufgelistet wird, können alle auf Discord deinen Server finden und ihm beitreten. @@ -3818,6 +3859,7 @@ Unterkategorien Alias Alias eingeben + Füge bis zu {count} personalisierte Emojis hinzu, die jeder auf diesem Server verwenden kann. Animierte GIF-Emojis sind Mitgliedern mit Discord Nitro vorbehalten. Emoji-Namen müssen mindestens 2 Zeichen lang sein und dürfen nur alphanumerische Zeichen und Unterstriche enthalten. Außerdem müssen Emojis kleiner als {maxSize} kB sein. Booste deinen Server auf Level {level}, um zusätzliche Emoji-Plätze freizuschalten! Level-{level}-Emojis verloren Booste deinen Server auf Level {level} oder kaufe ein Level, um deine Emojis freizuschalten! @@ -3864,6 +3906,8 @@ Option zur Archivierung von Threads nach 1 Woche Private Threads erstellen Animiertes Serverbanner + Personalisierter Einladungslink für den Server + Audioqualität: {bitrate} Kbps +{adding} Plätze für Server-Emojis (also insgesamt {total}) +{adding} Plätze für benutzerdefinierte Sticker (also insgesamt {total}) {fileSize} Uploadlimit für alle Mitglieder @@ -4603,6 +4647,14 @@ !!{name}!!-Emoji !!{name}!!-Icon !!{name}!!-Logo + Was sind Kanäle? + In Kanälen kannst du reden, Sprachchats beitreten, Spiele zocken und mehr. Jeder Server verfügt über eine Kanalliste, durch die du scrollen kannst, um zu sehen, was um dich herum passiert. + Direktnachrichten + Direktnachrichten sind vom Server getrennt. Du kannst deinen Freund*innen eine private Direktnachricht senden, wenn du kurz quatschen willst, oder einen Gruppenchat mit bis zu 10 Leuten erstellen. + Du hast noch Fragen? + Du findest nicht, wonach du suchst? [In unserem Hilfe-Center]({helpCenterUrl}) findest du weitere Informationen. + Was ist ein Server? + Server sind Orte, an denen du mit Freunden abhängen und Leute treffen kannst. Die meisten Server sind privat und erfordern eine Einladung. in !!{categoryName}!! In-Game-Spracheinstellungen Im Sprachkanal @@ -4621,6 +4673,7 @@ Interessiert Nein danke Wenn direkt bei Discord hochgeladen + Bilder größer als {maxSize} MB werden nicht als Vorschau angezeigt. Wenn als Link im Chat gepostet Bilder, Videos und Lolcats anzeigen Eingabegerät @@ -4692,6 +4745,7 @@ Diese Anwendung hat keine Befehle. Diese Anwendung hat keine WebHooks auf diesem Server. Du hast die maximale Anzahl an Berechtigungsüberschreibungen erreicht. + Du hast die maximale Anzahl an Berechtigungen erreicht. Entferne {removeCount}, um weitere Änderungen vornehmen zu können. Integration entfernen Bist du sicher, dass du **!!{applicationName}!!** entfernen möchtest? Ein interner Serverfehler ist aufgetreten. @@ -4851,6 +4905,7 @@ Lass uns ein paar Freunde hinzufügen! Leute einladen Nur zur Info: Freunde, die du einlädst, können deinen vorherigen Nachrichtenverlauf sehen. + Dieser Kanal ist privat, nur ausgewählte Mitglieder und Rollen können diesen Kanal sehen. Nach Freunden suchen Einladung gesendet !!{maxAge}!!, !!{maxUses}!! @@ -4861,6 +4916,7 @@ Oder schick einen Stream-Einladungslink an einen Freund Zu Stream einladen Zu Server einladen + Freunde zu **!!{name}!!** einladen Einladungs-URL Sprachchat beitreten Willkommen auf deinem neuen Server! @@ -5012,6 +5068,7 @@ Kicken Kicken Mitglieder kicken + Mitglieder kicken, annehmen und ablehnen !!{user}!! kicken Bist du sicher, dass du !!{user}!! von deinem Server kicken möchtest? Die Person kann mit einer neuen Einladung wieder beitreten. „!!{user}!!“ wurde vom Server gekickt. @@ -6192,9 +6249,21 @@ !!{planPremiumType}!! kündigen? Die Kündigung wird sofort für sämtliche Nitro- und Server-Boost-Abonnements wirksam. Du erhältst einen zufälligen Discord-Tag, falls du ihn geändert hast. Vergiss es, Nitro behalten + Vergiss es, Nitro behalten Deine **2 kostenlosen Boosts** und **um 30 %% reduzierte Boosts** {boostCount} Deine **um 30 %% vergünstigten Boosts** + 2 kostenlose Boosts und Rabatt von 30 %% + Verwendung von personalisierten Emojis und Stickern überall + Profil-Swag und personalisierter Tag + Hohe Qualität, 60 FPS bei Videostreams + in {month} gestreamt + Stunden + HD-Videostreams + Größere Datei-Uploads von 100 MB + große Dateien + in {month} geschickt + Größere Datei-Uploads Zugriff auf **personalisierte Emojis** und **Sticker** auf allen deinen Servern Zugriff auf **personalisierte Emojis** auf allen deinen Servern Einen **animierten Avatar**, ein **Profilbanner** und einen personalisierten **Discord-Tag** @@ -6315,15 +6384,21 @@ Aktive Server-Boosts {numSubscriptions} verfügbar Leider unterstützen wir die Kündigung von Boosts über !!{paymentGatewayName}!! nicht. Du kannst deinen Boost über die Abonnementverwaltung]({subscriptionManagementLink}) von [!!{paymentGatewayName}!! kündigen. + Bist du sicher, dass du diesen Server-Boost kündigen möchtest? Dann werden wir diesen wunderschönen Boost für dich zertrümmern. Er wird von den dazugehörigen Servern entfernt und am Ende deines Abrechnungszeitraums aus deinem Abonnement gelöscht: **{endDate}**. + Bist du sicher, dass du einen Server-Boost aus deinem Inventar kündigen möchtest? Dann werden wir diesen wunderschönen Boost für dich zertrümmern. Er wird von den dazugehörigen Servern entfernt und am Ende deines Abrechnungszeitraums aus deinem Abonnement gelöscht: **{endDate}**. Ja, Boost kündigen Die Zahlung deines Abonnements ist überfällig. Bitte aktualisiere deine Zahlungsinformationen, bevor du Boosts verwaltest. Dieser Boost ist in deinem Nitro-Abonnement mit inbegriffen Boost kündigen Dieser Boost konnte nicht gekündigt werden. + **{subscriptionCount}** {subscriptionCount} gekündigt + Dieses Server-Boost-Abonnement wird am Ende deines Nitro- oder Nitro Classic-Abrechnungszeitraums gekündigt: **{endDate}**. Die Änderungen an deinem Abonnement werden unten angezeigt: Server-Boost kündigen Server-Boost von einem Server kündigen Server-Boost aus dem Inventar kündigen Ausstehende Boost-Kündigung + Alles klar, wir sind bereit diesen wunderschönen Boost für dich zu zertrümmern. Dieser Boost wird an folgendem Datum gekündigt: **{endDate}**. **Du kannst diesen Boost so lange weiterverwenden, bis er vernichtet wird!** + Boost gekündigt! {date} Boostet seit: {date} ({months}) Beim Boosten ist ein Fehler aufgetreten. Bitte versuch es noch einmal. @@ -6390,18 +6465,23 @@ Boosting schaltet fantastische Features und Upgrades frei, von denen alle auf dem Server profitieren können. Booste und erhalte: Zugriff auf noch mehr spaßige Aktivitäten! Hebe dich mit einem animierten Server-Icon ab - Audioqualität auf {targetQuality} kbps erhöht + Audioqualität auf {targetQuality} Kbps erhöht Passe deine Servereinladungen mit einem benutzerdefinierten Hintergrund an Lade Dateien von bis zu 100 MB hoch Mit einem Serverbanner zeigst du anderen, worum es auf deinem Server geht. Mächtige Upgrades: erhöhtes Uploadlimit, bessere Audioqualität und mehr! + Mächtige Upgrades: animiertes Server-Icon, zusätzliche Thread-Optionen und mehr! + Mächtige Upgrades: erhöhtes Uploadlimit, Serverbanner, benutzerdefinierte Rollenicons und mehr! + Mächtige Upgrades: personalisierter Einladungslink, zusätzliche Emoji-Plätze und ein animiertes Serverbanner. Weise jeder Rolle auf dem Server ein einzigartiges Icon zu Bildschirmübertragungen mit 1080p/60fps Bildschirmübertragungen mit 720p/60fps Hochladen benutzerdefinierter Sticker für alle Lade bis zu {numStickers} benutzerdefinierte Sticker und {numEmojis} personalisierte Emojis hoch + Lade bis zu {numStickers} benutzerdefinierte Sticker hoch Mehr Optionen für die automatische Archivierung von Threads Private Threads erstellen + Füge mit einem personalisierten Einladungslink ganz einfach neue Mitglieder hinzu Ziel: {levelName} Kaufe Boosts, um Vorteile für {levelName} freizuschalten! Für diesen Server wurden alle Boosting-Vorteile freigeschaltet! @@ -6540,6 +6620,7 @@ Deine Abonnements Diese Anpassung beinhaltet Zuteilungen, Rabatte und Rückerstattungen. Das sind deine aktuellen Abonnements. Sie werden im gleichen Zeitraum abgerechnet. + {planName} gekündigt !!{planName}!!-Guthaben Dieses Guthaben wird angerechnet, sobald du dich für ein !!{planName}!!-Abonnement angemeldet hast. Dieses Guthaben kann auf ein !!{planName}!!-Abonnement angewendet werden, das mit der Desktop-App gekauft wurde. @@ -6721,8 +6802,11 @@ Profilaktionen Mit Discord Nitro kannst du unter anderem ein personalisiertes Banner hochladen! $[](renderTimeHook) abgelaufen + Die empfohlene Mindestgröße ist 600x240 px und das empfohlene Seitenverhältnis ist 5:2. Folgende Dateitypen werden unterstützt: PNG, JPG und animierte GIFs. Erzähl allen auf dem Server ein bisschen über dich. + Nicht speichern Änderungen speichern? + Du hast Änderungen vorgenommen. Möchtest du sie speichern, bevor du die Seite verlässt? Nur mit Nitro Vorschau Nutzerabzeichen @@ -6883,6 +6967,7 @@ Timeout aufheben Timeout für !!{user}!! aufheben !!{user}!! aus dem Thread entfernen + Personalisierten Einladungslink entfernen Einbettungen und Vorschau von Webseiten im Chat anzeigen Einbettungen und Linkvorschau Emoji-Reaktionen bei Nachrichten anzeigen @@ -7019,11 +7104,13 @@ Standardberechtigungen für alle Servermitglieder Rollenicon, {name} Bild auswählen + Lade ein Bild hoch, das kleiner als 256 kB ist, oder wähle ein benutzerdefiniertes Emoji von diesem Server aus. Wir raten dir, ein Bild mit mindestens 64x64 Pixeln zu verwenden. Wenn Mitglieder mehreren Rollen zugeteilt sind, wird immer das Icon der höchsten Rolle angezeigt. Mehr erfahren Benutzerdefiniertes Rollenicon für {name}. Dieses Feature ist in Server-Boosting enthalten. Emoji Bild hochladen Dateien durchsuchen + Oh nein! Die Datei ist zu groß. Bitte wähle ein .png oder .jpg mit maximal 256 kB aus. Wähle ein PNG oder JPG zum Hochladen aus Kopierte ID für Rolle: {role} Mitglieder verwenden die Farbe der höchsten Rolle, welcher sie zugeordnet sind. Ziehe die Rollen, um sie neu anzuordnen. @@ -7099,6 +7186,7 @@ Erlaubt Links, die Mitglieder teilen, eingebettete Inhalte in diesen Kanälen anzuzeigen. Erlaubt Links, die Mitglieder teilen, eingebettete Inhalte in diesem Kanal anzuzeigen. Keine Berechtigungen gefunden + Durch „Kicken“ werden andere Mitglieder von diesem Server entfernt. Gekickte Mitglieder können erneut beitreten, wenn sie eine weitere Einladung erhalten. Wenn im Server Beitrittsvoraussetzungen aktiviert sind, können Mitglieder, die beitreten möchten, angenommen oder abgelehnt werden. Erlaubt Mitgliedern, andere Mitglieder von diesem Server zu entfernen. Gekickte Mitglieder können wieder beitreten, wenn sie eine weitere Einladung erhalten. Erlaubt Mitgliedern, den Kanalnamen, die Beschreibung und die Text-/Spracheinstellungen zu verändern. Sie können diese Kanäle auch löschen. (Für Stage-Moderator notwendig) Allen Mitgliedern erlauben, Themen festzulegen, um Stages zu erstellen, sowie Redeanfragen zu (de)aktivieren. Zudem können sie den Stage-Kanal löschen. @@ -7570,11 +7658,15 @@ Bindestriche sind die einzig erlaubten Sonderzeichen. Tags gehören hierher. In „Server entdecken“ kannst du nach Name, Beschreibung und Tags suchen. Du kannst bis zu zehn hinzufügen. + Server mit {count}+ Mitgliedern können jetzt „Server entdecken“ beitreten. + Erweitere deine Community noch schneller Server-Emojis Alle Ordner schließen Ordner als gelesen markieren + Alle Server in diesem Ordner stummschalten Serverordner Ordnereinstellungen + Stummschaltung von allen Servern in diesem Ordner aufheben Server-Einblicke Dieser Server ist derzeit voll. Server stummschalten @@ -7597,6 +7689,9 @@ Durch das Ändern der Debug-Protokollierung wird Discord neu gestartet. Bist du sicher, dass du das tun möchtest? Link auf „Niemals ablaufen“ setzen Status setzen + Dein Server hat keinen Zugriff auf diese Funktion. + Du hast keinen Zugriff auf diese Funktion. + Du musst einen Textkanal festlegen, der für alle Mitglieder zugänglich ist, bevor du einen personalisierten Einladungslink erstellen kannst. Einstellungen Erweitert Füge es hinzu! @@ -8420,6 +8515,9 @@ Noch nicht beanspruchter Account Ein- und Ausgabe aktivieren Rückgängig machen + Kanal aus Favoriten entfernen + DM aus Favoriten entfernen + Gruppenchat aus Favoriten entfernen Von Favoriten entfernen Teilnehmer nicht im Fokus Leider haben wir auf deinem Gerät keine Anwendungen gefunden, die diesen Link verarbeiten können: @@ -8818,6 +8916,10 @@ Du musst Push-to-Talk einschalten, um in diesem Kanal sprechen zu können. Push-to-Talk erforderlich Personalisierter Einladungslink + Denk daran: Personalisierte Einladungslinks erfordern einen Textkanal, der für alle Mitglieder zugänglich ist, um zu funktionieren. + Personalisierter Einladungslink ({uses}) + Mach deinen Server jetzt leichter zugänglich mit einem schicken personalisierten Einladungslink deiner Wahl. Beachte aber dabei, dass dein Server damit für jeden öffentlich zugänglich ist, der diese URL benutzt. + Beachte bitte, dass wir personalisierte Einladungslinks zurücknehmen können, wenn wir feststellen, dass es einen Missbrauch oder einen Konflikt bezüglich geistigen Eigentums gibt. Dieser Server ist jetzt für jeden unter **!!{url}!!** zugänglich. Dieser Server ist jetzt für jeden unter [!!{urlText}!!]({urlValue}) zugänglich. deine-url-hier diff --git a/app/src/main/res/values-el/plurals.xml b/app/src/main/res/values-el/plurals.xml index 476131a196..2ac523ab33 100644 --- a/app/src/main/res/values-el/plurals.xml +++ b/app/src/main/res/values-el/plurals.xml @@ -944,6 +944,14 @@ {#} Ενίσχυση που εφαρμόστηκε {#} Ενισχύσεις που εφαρμόστηκαν + + {#} μήνα + {#} μήνες + + + {#} μήνα + {#} μήνες + {#} Ενίσχυση {#} Ενισχύσεις @@ -1040,6 +1048,10 @@ {#} Ενίσχυση {#} Ενισχύσεις + + Ενίσχυση διακομιστή ακυρώθηκε + Ενισχύσεις διακομιστή ακυρώθηκαν + {#} μήνα {#} μήνες @@ -1432,6 +1444,10 @@ 1 άλλος {count} άλλοι + + 1 χρήση + {uses} χρήσεις + 1 χρήση {uses} χρήσεις diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 45edc9e3d9..a022fd046a 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -1196,6 +1196,7 @@ Αλλαγή άβαταρ διακομιστή Αλλαγή εικονιδίου Επεξεργασία προφίλ διακομιστή + Άβαταρ και banner προφίλ Βιογραφικό διακομιστή Εάν μείνει κενό, θα χρησιμοποιηθεί το κύριο βιογραφικό σου. Πες λίγα λόγια για τον εαυτό σου στον διακομιστή @@ -1203,6 +1204,7 @@ Χρησιμοποίησε διαφορετικό άβαταρ σε κάθε διακομιστή σου και πολλά άλλα με το Discord Nitro! Ψευδώνυμο (απενεργοποιημένο) Μπορείς να αλλάξεις τον τρόπο με τον οποίο σε βλέπουν οι άλλοι μέσα στον διακομιστή, ορίζοντας ψευδώνυμο και άβαταρ διακομιστή. + Επαναφορά στο προεπιλεγμένο άβαταρ Άγνωστο σφάλμα Αλλαγή Άβαταρ Διακομιστή Χρησιμοποίησε διαφορετικό άβαταρ σε κάθε διακομιστή σου και πολλά άλλα με το **Discord Nitro!** @@ -1225,6 +1227,7 @@ Αλλαγή κωδικού πρόσβασης Αλλαγή αριθμού τηλεφώνου; Αλλαγή φόντου + Ο προσαρμοσμένος σύνδεσμος πρόσκλησης δεν μπορεί να αλλάξει επειδή περιέχει μη έγκυρους χαρακτήρες, είναι πολύ μικρός ή χρησιμοποιείται ήδη. Οι προσαρμοσμένοι σύνδεσμοι πρόσκλησης μπορούν να περιέχουν μόνο γράμματα, αριθμούς ή παύλες. Περιεχόμενο καταλόγου αλλαγών Δείξε τη νέα σου αρχική σελίδα σε έναν φίλο σου! Είμαστε εδώ για να κάνουμε καλή εντύπωση. Μάθε περισσότερα @@ -1240,16 +1243,6 @@ Συμμετέχοντες Το κανάλι έχει διαγραφεί. Τίτλος καναλιού - Πληροφορίες καναλιού - Η σίγαση αποτρέπει την εμφάνιση δεικτών αδιάβαστων μηνυμάτων και ειδοποιήσεων, εκτός κι αν κάποιος σε αναφέρει. - Όνομα - Ειδοποιήσεις - Λεπτομέρειες - Θέμα - Επεξεργασία - Οι ρυθμίσεις σου - Απόκρυψη πληροφοριών καναλιού - Προβολή πληροφοριών καναλιού Ο ρόλος σου δεν έχει άδεια πρόσβασης σε αυτό το κανάλι. Κλειδωμένο κανάλι Οι άδειες συγχρονίστηκαν με αυτές της κατηγορίας: **{categoryName}** @@ -1357,6 +1350,7 @@ Διεκδίκησε Διαγραφή Εκκαθάριση συνημμένων + Διαγραφή εσωτερικής έκδοσης Διαγραφή κειμένου Κάνε κλικ για να μάθεις περισσότερα Κλωνοποίηση καναλιού @@ -1933,6 +1927,7 @@ Αυτή τη στιγμή ο χρήστης !!{a}!!, !!{b}!! και {n} βρίσκονται στο κανάλι ομιλίας. Αυτή τη στιγμή δεν βρίσκεται κανείς στο κανάλι ομιλίας. Προσαρμοσμένο χρώμα + Να θυμάσαι πως οι προσαρμοσμένοι σύνδεσμοι πρόσκλησης απαιτούν να υπάρχει ένα κανάλι κειμένου που να είναι προσβάσιμο σε όλα τα μέλη για να λειτουργήσουν. Προσαρμογή Κατάστασης Εκκαθάριση μετά Εκκαθάριση Κατάστασης @@ -2261,6 +2256,7 @@ μια δραστηριότητα Ξεκινήστε να παίζετε μαζί τώρα με ομιλία! ΝΕΟ! Δραστηριότητες + Παίξτε μαζί δωρεάν σε οποιοδήποτε Κανάλι ομιλίας. Ξεκλειδώστε περισσότερες δραστηριότητες μέσω της Ενίσχυσης! μια άλλη δραστηριότητα Emoji Προσθήκη στα αγαπημένα @@ -2310,6 +2306,7 @@ Αυτό το emoji είναι από έναν διακομιστή που είτε είναι ιδιωτικός είτε δεν είναι διαθέσιμος. [Μάθε περισσότερα](openPremiumSettings) σχετικά με τη χρήση προσαρμοσμένων emoji. Αφαίρεση από τα αγαπημένα {count} διαθέσιμες + Το emoji ήταν πολύ μεγάλο! Τα emoji πρέπει να είναι κάτω από {maxSize} KB. Κάνε κλικ για να μάθεις περισσότερα {count} Κάνε @mention χρήστες για να τους προσθέσεις σε αυτό το ιδιωτικό νήμα. @@ -2482,10 +2479,18 @@ Αντιγραφή συνδέσμου Άνοιγμα σε πρόγραμμα περιήγησης Κοινοποίηση συνδέσμου + Προσθήκη καναλιού στα αγαπημένα + Προσθήκη ΑΜ στα αγαπημένα + Προσθήκη ομαδικού ΑΜ στα αγαπημένα Δεν μπορείς να έχεις περισσότερα αγαπημένα. Αγαπημένο + Καλώς ήρθες στην αγαπημένη νέα λειτουργία του Discord! Πρόσθεσε αγαπημένα βάζοντας αστέρια σε κανάλια, φωνητικές συνομιλίες και άμεσα μηνύματα μέσω των σχετικών μενού τους. + Αγαπημένα + Μετάβαση στον αρχικό διακομιστή + Αγαπημένα Δεν μπορείς να έχεις περισσότερα από {count} αγαπημένα. Ωχ, όχι! + Αυτό το όνομα θα φαίνεται μόνο στα αγαπημένα σου. Διάφορα Περιέγραψε ζήτημά σου Το ζήτημά σου @@ -2547,6 +2552,7 @@ Χαμηλώνει την ένταση άλλων εφαρμογών κατά το ποσοστό αυτό όταν κάποιος μιλάει. Ρύθμισέ το στο 0%% για να το απενεργοποιήσεις τελείως. Τα νήματα θα αρχειοθετηθούν μετά από την καθορισμένη διάρκεια αδράνειας. Αν ο δείκτης είναι σταθερά πράσινος, τότε το Discord μεταδίδει την όμορφη φωνή σου. + ΟΛΑ ΤΑ BITS! Η υπέρβαση των {bitrate} kbps ενδέχεται να επηρεάσει αρνητικά τα άτομα που έχουν κακή ποιότητα σύνδεσης. Αν χρησιμοποιείς μικρόφωνο πιστοποιημένο από το Discord, ορισμένες λειτουργίες επεξεργασίας φωνής δεν ρυθμίζονται πια από το Discord, αλλά από το μικρόφωνο. Άλλαξε τις ρυθμίσεις απορρήτου και προσάρμοσε τον τρόπο με τον οποίο τα μέλη αλληλεπιδρούν με αυτό το κανάλι. Καταγραφή όλων των δεδομένων RTP που ελήφθησαν για την επόμενη σύνδεση ομιλίας/βίντεο για σκοπούς αποσφαλμάτωσης. @@ -2739,6 +2745,7 @@ Δοκιμή του μικροφώνου μου Κείμενο σε ομιλία Ειδοποιήσεις κειμένου σε ομιλία + Κατάργηση σίγασης νέων εκδηλώσεων Κατάργηση σίγασης **!!{name}!!** Πλαίσιο κειμένου Όριο χρηστών @@ -2778,6 +2785,7 @@ Μέλη διακομιστή Αποδοχή Ακύρωση + Το αίτημα φιλίας έχει ακυρωθεί. Χμ, κάτι πήγε στραβά κατά την αποστολή των αιτημάτων φιλίας. Μπορείς ανά πάσα στιγμή να δοκιμάσεις ξανά αργότερα από τη λίστα φίλων. Χμ, κάτι πήγε στραβά κατά την αποστολή του αιτήματος φιλίας στον χρήστη !!{name}!!. Μπορείς ανά πάσα στιγμή να δοκιμάσεις ξανά αργότερα από τη λίστα φίλων. Το αίτημα φιλίας απέτυχε @@ -3097,6 +3105,9 @@ Βλέπει {username} Μετάβαση στο κανάλι Κατάλαβα + Προέκυψε ένα πρόβλημα με την αγορά σου. Περίμενε και προσπάθησε ξανά. + Ωχ, όχι! + Αδυναμία σύνδεσης στις υπηρεσίες Google Play. Περίμενε λίγο και προσπάθησε ξανά. Χορήγηση προσωρινής ιδιότητας μέλους Πράσινο Γκρι @@ -3144,9 +3155,9 @@ Δείχνει υπέροχο! Μάθε περισσότερα Ίσως αργότερα - Ενίσχυσε σε επίπεδο 1 σήμερα και ενίσχυσε την ποιότητα ήχου από 96 kbps σε 128 kbps. - Ενίσχυσε σε επίπεδο 2 σήμερα και ενίσχυσε την ποιότητα ήχου από 128 kbps σε 256 kbps. - Ενίσχυσε σε επίπεδο 3 σήμερα και ενίσχυσε την ποιότητα ήχου από 256 kbps σε 384 kbps. + Ενίσχυσε στο επίπεδο 1 για ομαλότερο ήχο ώστε να νιώθετε όλοι σαν να βρίσκεστε στο ίδιο δωμάτιο. + Ενίσχυσε στο επίπεδο 2 για ομαλότερο ήχο ώστε να νιώθετε όλοι σαν να βρίσκεστε στο ίδιο δωμάτιο. + Ενίσχυσε στο επίπεδο 3 σήμερα και ενίσχυσε την ποιότητα ήχου από 256 kbps σε 384 kbps. Ήξερες ότι μπορείς να αποκτήσεις καλύτερη ποιότητα ήχου με ενίσχυση; Έφτασες το όριο των 100 διακομιστών Διπλασίασε τον αριθμό των διακομιστών όπου μπορείς να συμμετέχεις σε έως και 200. @@ -3196,6 +3207,7 @@ Από gaming μέχρι μουσική και μάθηση, υπάρχει σίγουρα ένα μέρος και για εσένα. Βρες την κοινότητά σου στη Discord Ακολούθησε ενημερώσεις + Βρες την κοινότητά σου Αναζήτηση κοινοτήτων Δημοφιλείς κοινότητες !!{username}!!, μπορεί να σου αρέσουν αυτοί οι διακομιστές @@ -3314,18 +3326,40 @@ Δημιουργία {count} {number} + Αλλά μπορείς να γράψεις μερικά! + Αυτός ο διακομιστής δεν έχει κορυφαία μηνύματα ακόμα. + Επαναφόρτωσε τη σελίδα ή έλεγξε τη [σελίδα κατάστασης]({url}). + Ωχ! Έπεσες σε ένα πολύ σπάνιο σφάλμα. + Ανανέωσε για να δεις τι συμβαίνει + Αυτά για την ώρα! Αλλά περίμενε, μπορεί να έχει κι άλλο… + Άνοιγμα μηνύματος από το κανάλι !!{channelName}!! στην πλαϊνή μπάρα + {maxReplies}+ απαντήσεις {numReplies} + Επαναφόρτωση Κορυφαία μηνύματα + Έχεις δει όλα τα κορυφαία μηνύματα των 2 τελευταίων εβδομάδων. + Δεν υπάρχει τίποτα νεότερο Χρώμα Φακέλου Όνομα Φακέλου !!{folderName}!!, φάκελος {mentions} !!{folderName}!!, φάκελος {mentions}, !!{expandedState}!! Φάκελος Διακομιστή χωρίς όνομα Οι ρυθμίσεις φακέλου αποθηκεύτηκαν! + Αρχική Αυτή είναι μια νέα επιφάνεια που βρίσκεται σε δοκιμαστική έκδοση, για να μπορείς να παρακολουθείς ό,τι συμβαίνει στον διακομιστή σου. Αρχική - !!{guildName}!! + Αλλαγή banner προφίλ διακομιστή + Πάτα για να επεξεργαστείς τις πληροφορίες στο Σχετικά με εμένα για αυτόν τον διακομιστή + Επεξεργασία πληροφοριών στο Σχετικά με εμένα για αυτόν τον διακομιστή + Εάν μείνει κενό, θα χρησιμοποιηθούν οι προεπιλεγμένες πληροφορίες στο Σχετικά με εμένα. + Πάτα για να προσθέσεις πληροφορίες στο Σχετικά με εμένα για αυτόν τον διακομιστή Βιογραφικό διακομιστή !!{guildName}!! + Αλλαγή banner προφίλ διακομιστή + Διαγραφή άβαταρ διακομιστή + Banner προφίλ διακομιστή + Επαναφορά στο προεπιλεγμένο banner Θέλεις περισσότερα; Απόκτησε πλήρη προσαρμογή προφίλ διακομιστή με το Nitro. + Μεταφόρτωση banner προφίλ διακομιστή Γίνε όποιος θέλεις και χρησιμοποίησε διαφορετικό άβαταρ, banner και βιογραφικό σε κάθε διακομιστή σου, ξεκλείδωσε κινούμενα άβαταρ και πολλά άλλα με το [Discord Nitro!](onAndMore) Εκφράσου πλήρως με προφίλ διακομιστή Πρόσκληση σε διακομιστές @@ -3359,6 +3393,8 @@ Ο σύνδεσμος επαλήθευσης έχει λήξει. Επαλήθευση επιτυχής. Επαλήθευση του αιτήματός σου. + Προβολή ρυθμίσεων διακομιστή + Έχει αρκετή κίνηση εδώ! Σκέψου μήπως αλλάξεις τις προεπιλεγμένες ρυθμίσεις ειδοποιήσεων του διακομιστή σε **@mentions μόνο** για να βοηθήσεις τα μέλη σου. Ειδοποίηση όλων των χρηστών (@everyone) Επίσης, πες σε όλους @everyone ότι η εκδήλωση ξεκινάει. $[Πες σε όλους @everyone ότι η Σκηνή ξεκινάει.](tooltipHook) [Ενεργοποίηση](toggleClick) @@ -3582,6 +3618,8 @@ Ο χρήστης $[**!!{user}!!**](userHook) έκανε αλλαγές στο $[**!!{target}!!**](targetHook) Όρισε το κανάλι για τις ενημερώσεις διακομιστή κοινότητας σε **!!{newValue}!!** **Καθαρισμός** καναλιού για τις ενημερώσεις διακομιστή κοινότητας + Όρισε τον προσαρμοσμένο σύνδεσμο πρόσκλησης σε **!!{newValue}!!** + **Αφαίρεσε** τον προσαρμοσμένο σύνδεσμο πρόσκλησης Ορίστε το επίπεδο επαλήθευσης διακομιστή σε **Υψηλό** Ορίστε το επίπεδο επαλήθευσης διακομιστή σε **Χαμηλό** Ορίστε το επίπεδο επαλήθευσης διακομιστή σε **Μέτριο** @@ -3741,7 +3779,6 @@ Συνιστάται ιδιαίτερα να οριστεί αυτή η ρύθμιση σε μόνο @mentions για έναν δημόσιο διακομιστή Discord. Λόγω του μεγέθους του διακομιστή, τα μέλη δεν θα λαμβάνουν ειδοποιήσεις push στο κινητό τους για μηνύματα που δεν είναι @mention. Απενεργοποίηση Ανακάλυψης - Η απενεργοποίηση των απαιτήσεων μελών σημαίνει ότι τα άτομα μπορούν να πάρουν μέρος στην κοινότητά σου χωρίς να αποδεχτούν τους κανόνες ή χωρίς τη χειροκίνητη έγκρισή σου. Σίγουρα; Μόνο οι διαχειριστές μπορούν να ενεργοποιήσουν και να απενεργοποιήσουν την Ανακάλυψη. Προϋπόθεση Ελέγχου Ταυτότητας Δύο Παραγόντων για διαχείριση Ενεργοποιημένη @@ -3794,6 +3831,10 @@ Αν απενεργοποιήσεις την κοινότητα, θα αφαιρεθεί ο διακομιστής σου από την Ανακάλυψη Διακομιστή. Αυτός ο διακομιστής αφαιρέθηκε από την Ανακάλυψη. Αυτός ο διακομιστής δεν πληροί τις παρακάτω προϋποθέσεις και αφαιρέθηκε αυτόματα από την Ανακάλυψη. Μην ανησυχείς, μπορείς να συμπεριληφθείς ξανά μόλις συμμορφωθείς επιτυχώς με όλες τις προϋποθέσεις. Οι προϋποθέσεις δραστηριότητας ελέγχονται ξανά κάθε εβδομάδα. + Αυτό επιτρέπει την εμφάνιση πληροφοριών κάνοντας κλικ σε ένα προσαρμοσμένο emoji ή αυτοκόλλητο από τον διακομιστή σου σε οποιαδήποτε συνομιλία. Οι χρήστες θα μπορούν να δουν και να μπουν στον διακομιστή σου μέσω των πληροφοριών που εμφανίζονται. + Απενεργοποίηση πληροφοριών emoji/αυτοκόλλητου + Ενεργοποίηση πληροφοριών emoji/αυτοκόλλητου + Εμφάνιση πληροφοριών emoji/αυτοκόλλητου με κλικ Διεύρυνε την κοινότητά σου με την Ανακάλυψη Διακομιστή Η Discord θα δώσει προτεραιότητα σε αυτόν τον διακομιστή σε αναζητήσεις χρηστών που μιλούν την επιλεγμένη γλώσσα. Το να βρίσκεσαι στην [Ανακάλυψη διακομιστή](onLinkClick) επιτρέπει σε όλους να βρίσκουν και να συνδέονται στον διακομιστή σου. @@ -3808,6 +3849,7 @@ Υποκατηγορίες Ψευδώνυμο Εισαγωγή ψευδωνύμου + Πρόσθεσε μέχρι {count} προσαρμοσμένα emoji που μπορούν να χρησιμοποιήσουν όλοι σε αυτόν τον διακομιστή. Τα μέλη με Discord Nitro μπορούν να χρησιμοποιήσουν κινούμενα GIF emoji. Τα ονόματα των emoji πρέπει να έχουν τουλάχιστον 2 χαρακτήρες και να περιέχουν μόνο αλφαριθμητικούς χαρακτήρες και κάτω παύλες. Το emoji πρέπει να έχει μέγεθος μικρότερο από {maxSize} KB. Ενίσχυσε τον διακομιστή σου στο επίπεδο {level} για να ξεκλειδώσεις περισσότερες θέσεις για emoji! Χάθηκαν emoji επιπέδου {level} Ενίσχυσε τον διακομιστή σου στο επίπεδο {level} ή αγόρασε επίπεδο για να ξεκλειδώσεις τα emoji σου! @@ -3854,6 +3896,8 @@ Επιλογή αρχειοθέτησης 1 εβδομάδας για τα νήματα Δημιουργία ιδιωτικών νημάτων Κινούμενο banner διακομιστή + Προσαρμοσμένος σύνδεσμος πρόσκλησης για τον διακομιστή + Ποιότητα ήχου {bitrate} kbps +{adding} θέσεις για Emoji διακομιστή (για το σύνολο των {total}) +{adding} θέσεις για προσαρμοσμένα αυτοκόλλητα (σύνολο {total}) {fileSize} όριο ανεβάσματος για όλα τα μέλη @@ -4593,6 +4637,14 @@ !!{name}!! Emoji !!{name}!! Εικονίδιο !!{name}!! Λογότυπο + Τι είναι τα κανάλια; + Τα κανάλια είναι το μέρος όπου μπορείς να μιλάς, να κάνεις φωνητικές κλήσεις, να παίζεις παιχνίδια και άλλα. Ο κάθε διακομιστής έχει μια λίστα καναλιών που μπορείς να περιηγηθείς για να δεις τι συμβαίνει. + Άμεσα μηνύματα + Τα άμεσα μηνύματα είναι ξεχωριστά από τους διακομιστές. Μπορείς να στείλεις ένα ΑΜ ιδιωτικά σε έναν φίλο για να τα πείτε στα γρήγορα ή να δημιουργήσεις ένα ομαδικό ΑΜ με έως 10 άτομα. + Εξακολουθείς να χρειάζεσαι βοήθεια; + Δεν βρίσκεις αυτό που ψάχνεις; [Επισκέψου το κέντρο βοήθειας]({helpCenterUrl}) για περισσότερες πληροφορίες. + Τι είναι ο διακομιστής; + Οι διακομιστές είναι μέρη όπου μπορείς να αράξεις με φίλους και να γνωρίσεις άτομα. Οι περισσότεροι διακομιστές είναι ιδιωτικοί και τα μέλη έχουν πρόσβαση μόνο με πρόσκληση. στην κατηγορία !!{categoryName}!! Ρυθμίσεις φωνής εντός του παιχνιδιού Στο κανάλι φωνής @@ -4611,6 +4663,7 @@ Ενδιαφέρομαι Όχι, ευχαριστώ Όταν ανεβαίνουν απευθείας στη Discord + Δεν θα γίνεται προεπισκόπηση εικόνων μεγαλύτερων από {maxSize} MB. Όταν δημοσιεύονται ως σύνδεσμοι στη συνομιλία Να εμφανίζονται εικόνες, βίντεο και lolcats Συσκευή εισόδου @@ -4682,6 +4735,7 @@ Αυτή η εφαρμογή δεν διαθέτει εντολές. Αυτή η εφαρμογή δεν διαθέτει webhook σε αυτόν τον διακομιστή. Έχεις φτάσει τον μέγιστο αριθμό αντικαταστάσεων αδειών. + Έφτασες τον μέγιστο αριθμό αδειών. Αφαίρεσε {removeCount} από αυτές για να κάνεις περαιτέρω αλλαγές. Αφαίρεση ενσωμάτωσης Σίγουρα θέλεις να αφαιρέσεις το **!!{applicationName}!!**; Παρουσιάστηκε ένα εσωτερικό σφάλμα διακομιστή. @@ -4841,6 +4895,7 @@ Ας προσθέσουμε μερικούς φίλους! Προσκάλεσε άτομα Έχε τον νου σου! Οι φίλοι που προσκαλείς μπορούν να δουν το ιστορικό των μηνυμάτων σου. + Αυτό το κανάλι είναι ιδιωτικό, μόνο επιλεγμένα μέλη και ρόλοι μπορούν να δουν αυτό το κανάλι. Αναζήτησε φίλους Η πρόσκληση στάλθηκε !!{maxAge}!!, !!{maxUses}!! @@ -4851,6 +4906,7 @@ Ή στείλτε έναν σύνδεσμο πρόσκλησης για ζωντανή σύνδεση σε ένα φίλο Πρόσκληση στη ζωντανή μετάδοση Πρόσκληση στον διακομιστή + Προσκάλεσε φίλους στο **!!{name}!!** URL πρόσκλησης Συμμετοχή στη Φωνή Καλώς ήρθες στον νέο σου διακομιστή! @@ -5002,6 +5058,7 @@ Εκδίωξη Εκδίωξη Αποβολή Μελών + Εκδίωξε, έγκρινε και απόρριψε μέλη Εκδίωξη !!{user}!! Θέλεις σίγουρα να διώξεις τον χρήστη !!{user}!! από τον διακομιστή; Θα έχει τη δυνατότητα επανασύνδεσης με μια νέα πρόσκληση. Ο χρήστης \'!!{user}!!\' έχει εκδιωχθεί από τον διακομιστή. @@ -6182,9 +6239,21 @@ Ακύρωση !!{planPremiumType}!!; Η ακύρωση θα τεθεί σε ισχύ αμέσως για όλες τις συνδρομές Nitro και ενισχύσεις διακομιστή. Το Discord Tag σου θα είναι τυχαίο, σε περίπτωση που το αλλάξεις. Δεν πειράζει, διατήρηση του Nitro + Δεν πειράζει, διατήρηση του Nitro Τις **2 δωρεάν Ενισχύσεις** σου και **30%% έκπτωση Ενίσχυσης** {boostCount} **30%% έκπτωση Ενίσχυσης** + 2 δωρεάν Ενισχύσεις και 30%% έκπτωση + Χρήση προσαρμοσμένων emoji και αυτοκόλλητων οπουδήποτε + Στυλ προφίλ και προσαρμοσμένο tag + Υψηλή ανάλυση, 60FPS ζωντανή μετάδοση βίντεο + έκανες ζωντανή μετάδοση {month} + ώρες + Ζωντανή μετάδοση βίντεο υψηλής ευκρίνειας + Αυξημένο όριο μεταφόρτωσης αρχείων στα 100MB + μεγάλα αρχεία + που έστειλες σε {month} + Μεγαλύτερα μεγέθη μεταφόρτωσης αρχείων Πρόσβαση σε **προσαρμοσμένα emoji** και **αυτοκόλλητα** σε όλους τους διακομιστές σου Πρόσβαση σε **προσαρμοσμένα emoji** σε όλους τους διακομιστές σου Ένα **κινούμενο άβαταρ**, **banner προφίλ** και προσαρμοσμένο **Discord Tag** @@ -6305,15 +6374,21 @@ Ενεργές ενισχύσεις διακομιστή {numSubscriptions} Διαθέσιμη/Διαθέσιμες Σόρρυ, αυτή τη στιγμή δεν υποστηρίζεται από το σύστημα η ακύρωση ενισχύσεων που αγοράστηκαν από !!{paymentGatewayName}!!. Μπορείς να ακυρώσεις τις ενισχύσεις σου στη Διαχείριση Συνδρομών του [!!{paymentGatewayName}!!]({subscriptionManagementLink}). + Θέλεις σίγουρα να ακυρώσεις αυτή την Ενίσχυση διακομιστή; Θα κάνουμε αυτόν τον θησαυρό χίλια κομμάτια. Θα αφαιρεθεί από τους συνδεδεμένους διακομιστές και θα ακυρωθεί από τη συνδρομή σου στο τέλος της περιόδου χρέωσής σου: **{endDate}**. + Θέλεις σίγουρα να ακυρώσεις μια Ενίσχυση διακομιστή από το απόθεμά σου; Θα κάνουμε αυτόν τον θησαυρό χίλια κομμάτια. Θα αφαιρεθεί από τους συνδεδεμένους διακομιστές και θα ακυρωθεί από τη συνδρομή σου στο τέλος της περιόδου χρέωσής σου: **{endDate}**. Ναι, ακύρωση ενίσχυσης Η συνδρομή σου είναι ληξιπρόθεσμη. Ενημέρωσε τις πληροφορίες πληρωμής σου πριν διαχειριστείς τις ενισχύσεις. Αυτή η ενίσχυση περιλαμβάνεται με τη συνδρομή Nitro Ακύρωση ενίσχυσης Υπήρξε ένα πρόβλημα κατά την προσπάθεια της ακύρωσης ενίσχυσης. + **{subscriptionCount}** {subscriptionCount} + Αυτή η συνδρομή ενίσχυσης διακομιστή θα ακυρωθεί στο τέλος της περιόδου χρέωσης Nitro ή Nitro Classic, **{endDate}**. Οι αλλαγές στη συνδρομή σου αναφέρονται παρακάτω: Ακύρωση ενίσχυσης διακομιστή Ακύρωσε ενίσχυση διακομιστή από έναν διακομιστή Ακύρωση συνδρομής ενίσχυσης από το απόθεμα Εκκρεμεί ακύρωση ενίσχυσης + Εντάξει, είμαστε έτοιμοι να καταστρέψουμε αυτή την Ενίσχυση για σένα. Αυτή η Ενίσχυση έχει προγραμματιστεί για ακύρωση στις: **{endDate}**. **Μπορείς ακόμα να χρησιμοποιήσεις αυτή την Ενίσχυση μέχρι να καταστραφεί!** + Η ενίσχυση ακυρώθηκε! {date} Ενίσχυση από {date} ({months}) Υπήρξε ένα πρόβλημα κατά την προσπάθειά σας να ενισχύσετε. Παρακαλούμε προσπαθήστε ξανά. @@ -6380,18 +6455,23 @@ Οι Ενισχύσεις ξεκλειδώνουν ισχυρά χαρακτηριστικά και αναβαθμίσεις για να τα χαρούν όλοι στον διακομιστή. Δώσε μία Ενίσχυση και απόκτησε: Πρόσβαση σε περισσότερες διασκεδαστικές δραστηριότητες! Ξεχώρισε με ένα κινούμενο εικονίδιο διακομιστή - Αυξημένη ποιότητα ήχου σε {targetQuality} Kbps + Αυξημένη ποιότητα ήχου σε {targetQuality} kbps Προσάρμοσε τις προσκλήσεις διακομιστή σου με ένα προσαρμοσμένο φόντο Αυξημένο όριο μεταφόρτωσης αρχείων στα 100MB Δείξε σε όλους το θέμα του διακομιστή σου με ένα banner διακομιστή Ισχυρές αναβαθμίσεις: μεγαλύτερα μεγέθη μεταφόρτωσης αρχείων, αυξημένη ποιότητα ήχου και άλλα! + Ισχυρές αναβαθμίσεις: κινούμενο εικονίδιο διακομιστή, πρόσθετες επιλογές νημάτων και άλλα! + Ισχυρές αναβαθμίσεις: μεγαλύτερα μεγέθη μεταφόρτωσης αρχείων, banner διακομιστή, προσαρμοσμένα εικονίδια ρόλων και άλλα! + Ισχυρές αναβαθμίσεις: προσαρμοσμένος σύνδεσμος πρόσκλησης, επιπλέον θέσεις για emoji και κινούμενο banner διακομιστή. Όρισε ένα μοναδικό εικονίδιο για κάθε ρόλο στον διακομιστή Κοινή χρήση οθόνης σε 1080p/60fps Κοινή χρήση οθόνης σε 720p/60fps Μεταφόρτωση προσαρμοσμένων αυτοκόλλητων προς χρήση από όλους Μεταφόρτωση έως {numStickers} προσαρμοσμένων αυτοκόλλητων και {numEmojis} προσαρμοσμένων emoji + Μεταφόρτωση έως και {numStickers} προσαρμοσμένων αυτοκόλλητων Επιλογές αρχειοθέτησης νημάτων για μεγαλύτερο χρονικό διάστημα Δημιουργία ιδιωτικών νημάτων + Πρόσθεσε εύκολα νέα μέλη με έναν προσαρμοσμένο σύνδεσμο πρόσκλησης Στόχος: {levelName} Αγόρασε Ενισχύσεις για να ξεκλειδώσεις προνόμια {levelName}! Αυτός ο διακομιστής έχει ξεκλειδώσει όλα τα προνόμια Ενίσχυσης! @@ -6530,6 +6610,7 @@ Οι συνδρομές σου Αυτή η προσαρμογή περιλαμβάνει παραχωρήσεις, εκπτώσεις και επιστροφές χρημάτων. Αυτές είναι οι τρέχουσες συνδρομές σου. Η χρέωσή τους θα γίνει κατά τον ίδιο κύκλο χρέωσης. + Το πρόγραμμα {planName} ακυρώθηκε !!{planName}!! Χρέωση Αυτή η χρέωση θα ισχύει μόλις εγγραφείτε για μια !!{planName}!! συνδρομή. Η πίστωση μπορεί να εφαρμοστεί σε μια συνδρομή !!{planName}!! που αγοράστηκε για υπολογιστή. @@ -6711,8 +6792,11 @@ Ενέργειες προφίλ Μεταφόρτωσε το εξατομικευμένο banner σου και πολλά άλλα με το Discord Nitro! πέρασαν $[](renderTimeHook) + Το ελάχιστο συνιστώμενο μέγεθος και λόγος διαστάσεων είναι 600x240 και 5:2. Στους αποδεκτούς τύπους αρχείων περιλαμβάνονται τα PNG, JPG, καθώς και κινούμενα GIF. Πες λίγα λόγια για τον εαυτό σου στον διακομιστή + Να μην γίνει αποθήκευση Αποθήκευση αλλαγών; + Έχεις κάνει αλλαγές. Θέλεις να τις αποθηκεύσεις πριν φύγεις από αυτή τη σελίδα; Αποκλειστικά στο Nitro Προεπισκόπηση Εμβλήματα χρήστη @@ -6873,6 +6957,7 @@ Αφαίρεση διαλείμματος Αφαίρεση διαλείμματος από τον χρήστη \'!!{user}!!\' Αφαίρεση !!{user}!! από το νήμα + Αφαίρεση του προσαρμοσμένου συνδέσμου πρόσκλησης Εμφάνιση ενσωματώσεων και προεπισκόπησης συνδέσμων ιστότοπων που επικολλήθηκαν στη γραπτή συνομιλία Ενσωματώσεις και Προεπισκόπηση συνδέσμων Εμφάνιση αντιδράσεων emoji στα μηνύματα @@ -7009,11 +7094,13 @@ Προεπιλεγμένες άδειες για όλα τα μέλη του διακομιστή Εικονίδιο ρόλου, {name} Επιλογή εικόνας + Μεταφόρτωσε μια εικόνα κάτω από 256 KB ή διάλεξε ένα προσαρμοσμένο emoji από αυτόν τον διακομιστή. Προτείνουμε τουλάχιστον 64x64 pixel. Τα μέλη θα βλέπουν το εικονίδιο του υψηλότερου ρόλου τους εάν έχουν πολλαπλούς ρόλους. Μάθε περισσότερα Εικονίδιο προσαρμοσμένου ρόλου για {name}. Αυτή η λειτουργία αποτελεί μέρος της Ενίσχυσης διακομιστή. Emoji Μεταφόρτωση εικόνας Περιήγηση στα αρχεία + Ωχ, όχι! Το αρχείο είναι πολύ μεγάλο. Επίλεξε ένα .png ή .jpg 256 KB ή μικρότερο. Επίλεξε PNG ή JPG για μεταφόρτωση Το αναγνωριστικό αντιγράφηκε για τον ρόλο: {role} Τα μέλη χρησιμοποιούν το χρώμα του ανώτατου ρόλου που έχουν σε αυτόν τον κατάλογο. Σύρε τους ρόλους για να τους αλλάξεις σειρά. @@ -7089,6 +7176,7 @@ Επιτρέπει στους συνδέσμους που μοιράζονται τα μέλη να εμφανίζουν ενσωματωμένο περιεχόμενο σε αυτά τα κανάλια. Επιτρέπει στους συνδέσμους που μοιράζονται τα μέλη να εμφανίζουν ενσωματωμένο περιεχόμενο σε αυτό το κανάλι. Δεν βρέθηκαν άδειες + Η εκδίωξη θα αφαιρέσει άλλα μέλη από αυτόν τον διακομιστή. Τα μέλη που εκδιώκονται θα μπορούν να συνδεθούν ξανά αν λάβουν άλλη πρόσκληση. Εάν ο διακομιστής έχει ενεργοποιημένες απαιτήσεις μελών, αυτή η άδεια επιτρέπει την ικανότητα έγκρισης ή απόρριψης μελών που κάνουν αίτηση μέλους. Επιτρέπει στα μέλη να αφαιρέσουν άλλα μέλη από τον διακομιστή. Τα μέλη που διώχνονται θα μπορούν να γίνουν ξανά μέλη αν λάβουν άλλη πρόσκληση. Επιτρέπει στα μέλη να αλλάξουν το όνομα, την περιγραφή, και τις ρυθμίσεις κειμένου / ομιλίας αυτών των καναλιών. Μπορούν, επίσης, να διαγράψουν τα κανάλια. (Απαιτείται για συντονιστή Σκηνής) Να επιτρέπεται στα μέλη να ορίζουν θέμα για να ξεκινήσει η Σκηνή και να ενεργοποιούν ή να απενεργοποιούν αιτήματα για ομιλία. Μπορούν, επίσης, να διαγράψουν το κανάλι Σκηνής. @@ -7561,11 +7649,15 @@ Οι παύλες είναι ο μόνος ειδικός χαρακτήρας που επιτρέπεται. Τα tag πηγαίνουν εδώ. Στην Ανακάλυψη διακομιστή, μπορείς να κάνεις αναζήτηση κατά όνομα, περιγραφή και tag. Μπορείς να προσθέσεις έως 10. + Οι διακομιστές με {count}+ μέλη μπορούν τώρα να μπουν στην Ανακάλυψη διακομιστή. + Ανάπτυξε την κοινότητά σου γρηγορότερα Emoji διακομιστή Κλείσιμο όλων των φακέλων Επισήμανση φακέλου ως αναγνωσμένου + Σίγαση όλων των διακομιστών στον φάκελο Φάκελος Διακομιστή Ρυθμίσεις φακέλου + Κατάργηση σίγασης όλων των διακομιστών στον φάκελο Server Insights Αυτός ο διακομιστής είναι γεμάτος. Σίγαση διακομιστή @@ -7588,6 +7680,9 @@ Η αλλαγή καταγραφής αποσφαλμάτωσης θα τερματίσει και θα επανεκκινήσει το Discord. Είσαι σίγουρος ότι θέλεις να το κάνεις αυτό; Ρύθμισε αυτόν το σύνδεσμο έτσι ώστε να μην λήγει ποτέ Ορισμός κατάστασης + Ο διακομιστής σου δεν έχει πρόσβαση σε αυτή τη λειτουργία. + Δεν έχεις πρόσβαση σε αυτή τη λειτουργία. + Πρέπει να ορίσεις ένα κανάλι κειμένου που να είναι προσβάσιμο σε όλα τα μέλη πριν ορίσεις έναν προσαρμοσμένο σύνδεσμο πρόσκλησης. Ρυθμίσεις Προχωρημένο Πρόσθεσέ το! @@ -8408,6 +8503,9 @@ Μη κατοχυρωμένος λογαριασμός Κατάργηση κώφωσης Αναίρεση + Κατάργηση καναλιού από τα αγαπημένα + Κατάργηση ΑΜ από τα αγαπημένα + Κατάργηση ομαδικού ΑΜ από τα αγαπημένα Κατάργηση από τα αγαπημένα Αποεστίαση από αυτό το άτομο Δυστυχώς, δεν βρέθηκαν εφαρμογές στη συσκευή σου για τη διαχείριση αυτού του συνδέσμου: @@ -8806,6 +8904,10 @@ Πρέπει να έχεις ενεργοποιήσει το Push-to-Talk για να μιλήσεις σε αυτό το κανάλι. Απαιτείται Push-to-Talk Προσαρμοσμένος σύνδεσμος πρόσκλησης + Να θυμάσαι πως οι προσαρμοσμένοι σύνδεσμοι πρόσκλησης απαιτούν να υπάρχει ένα κανάλι κειμένου που να είναι προσβάσιμο σε όλα τα μέλη για να λειτουργήσουν. + Προσαρμοσμένος σύνδεσμος πρόσκλησης ({uses}) + Κάνε τον διακομιστή σου εύκολα προσβάσιμο με έναν φανταχτερό προσαρμοσμένο σύνδεσμο πρόσκλησης της επιλογής σου. Θα πρέπει να γνωρίζεις ότι αυτό κάνει τον διακομιστή σου διαθέσιμο σε οποιονδήποτε χρησιμοποιεί αυτόν τον σύνδεσμο. + Λάβε υπόψη ότι μπορεί να ανακαλέσουμε ορισμένους προσαρμοσμένους συνδέσμους πρόσκλησης αν ανακαλύψουμε ότι γίνεται κατάχρηση ή ότι υπάρχει διένεξη πνευματικής ιδιοκτησίας. Αυτός ο διακομιστής είναι τώρα προσβάσιμος από όλους στο **!!{url}!!** Αυτός ο διακομιστής είναι τώρα προσβάσιμος από όλους στο [!!{urlText}!!]({urlValue}) το-url-σου-εδώ diff --git a/app/src/main/res/values-en-rXA/plurals.xml b/app/src/main/res/values-en-rXA/plurals.xml index a96b87edb1..b7e4700a89 100644 --- a/app/src/main/res/values-en-rXA/plurals.xml +++ b/app/src/main/res/values-en-rXA/plurals.xml @@ -349,8 +349,8 @@ [»{count}« ḿéššåĝéš one two] - [1 ḿéššåĝé one two] - [»{count}« ḿéššåĝéš one two] + [1 Ḿéššåĝé one two] + [»{count}« Ḿéššåĝéš one two] [»{#}« Ûñķñöŵñ Þļåýéŕ one two three] diff --git a/app/src/main/res/values-en-rXA/strings.xml b/app/src/main/res/values-en-rXA/strings.xml index ec764e6dd3..59ea83df7a 100644 --- a/app/src/main/res/values-en-rXA/strings.xml +++ b/app/src/main/res/values-en-rXA/strings.xml @@ -98,7 +98,8 @@ [çöḿ.ðîšçöŕð.åþþ.ÅþþŠçŕöļļîñĝνîéŵβéĥåVîöŕ one two three four five] [Ţĥîš ḿåý ţåķé å ḿöḿéñţ. one two three] [Åçţîöñš one two] - [Ñö ŕéçéñţ ḿéššåĝéš one two three] + [Çĥéçķ ɓåçķ îñ å ɓîţ one two three] + [Åļļ çĥåññéļš åŕé çĥîļļîñĝ one two three] [»{count}«] [ÅçţîVé Ñöŵ one two] [Ḿåñý ŕéçéñţ ḿéššåĝéš one two three] @@ -307,6 +308,7 @@ [Åļļ one] [Åþþ Ðîŕéçţöŕý Ĥöḿé one two three] [Åþþ Ðîŕéçţöŕý Šéåŕçĥ one two three] + [»{categoryName}« Åþþš one] [Ñö ḿåţçĥéš ƒöûñð îñ »{categoryName}« one two three] [Ţŕý åñöţĥéŕ šéåŕçĥ öŕ €[šéé ŕéšûļţš ƒŕöḿ åļļ çåţéĝöŕîéš](VîéŵÅļļĤööķ) one two three four five six seven eight] [Ñö ḿåţçĥéš ƒöûñð one two three] @@ -316,7 +318,7 @@ [ÐéVéļöþéŕ Ŕéšöûŕçéš one two three] [Çûšţöḿîžé ýöûŕ šéŕVéŕ ŵîţĥ åþþš one two three four] [Åûţöḿåţé ûšéƒûļ ţåšķš öŕ îñţŕöðûçé å ɓîţ öƒ ðéļîĝĥţ one two three four five six] - [»{categoryName}« Åþþš one] + [Ţöþ »{categoryName}« Åþþš one two] [Þöþûļåŕ Ñöŵ one two] [Öñ ţĥé Ŕîšé one two] [Éхþļöŕé Çöļļéçţîöñ one two three] @@ -331,6 +333,7 @@ [Çåţéĝöŕîéš one two] [Þöþûļåŕ Šļåšĥ Çöḿḿåñðš one two three] [ÖVéŕVîéŵ one two] + [Ĝŕåñţéð Þéŕḿîššîöñš one two three] [Šûþþöŕţéð Ļåñĝûåĝéš one two three] [Ļîñķš one] [ÞŕîVåçý Þöļîçý one two three] @@ -852,6 +855,7 @@ [βéţå one] [βûļĝåŕîåñ one two] [βîļļîñĝ one two] + [Åççéþţ ţĥé Ţéŕḿš öƒ ŠéŕVîçé åñð Þåîð ŠéŕVîçéš Ţéŕḿš ţö çöñţîñûé one two three four five six seven] [Åççéþţ ţĥé Ţéŕḿš öƒ ŠéŕVîçé ţö çöñţîñûé one two three four five] [Åççöûñţ Çŕéðîţ one two three] [Ŵĥéñ ýöû åççéþţ å ĝîƒţ ŵĥîļé ýöû ĥåVé å ŕûññîñĝ šûɓšçŕîþţîöñ, öŕ åççéþţ å ĝîƒţ ţĥåţ ðéŕš ƒŕöḿ ýöûŕ çûŕŕéñţ šûɓšçŕîþţîöñ, îţ ŵîļļ åþþéåŕ ĥéŕé åš çŕéðîţ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen] @@ -919,7 +923,9 @@ [Κ ţĥîš å ĝîƒţ¿ one two three] [Ļéĝåļ Ḿûḿɓö Ĵûḿɓö one two three] [Î åĝŕéé ţö ţĥé [Ðîšçöŕð Ţéŕḿš öƒ ŠéŕVîçé](»{url}«) one two three four five] + [Î åĝŕéé ţö ţĥé [Ðîšçöŕð Ţéŕḿš öƒ ŠéŕVîçé](»{termsURL}«) åñð [Þåîð ŠéŕVîçéš Ţéŕḿš](»{paidURL}«) one two three four five six seven eight nine ten eleven twelve thirteen fourteen] [Î åĝŕéé ţö ţĥé [Ðîšçöŕð Ţéŕḿš öƒ ŠéŕVîçé](»{url}«) åñð ţĥåţ ḿý šûɓšçŕîþţîöñ ŵîļļ ŕéñéŵ ƒöŕ **»{rate}«** öñ **»{renewalDate}«**. Î çåñ çåñçéļ åñýţîḿé ûñðéŕ Ûšéŕ Šéţţîñĝš > Šûɓšçŕîþţîöñš, åñð þŕéVîöûš çĥåŕĝéš ŵöñ’ţ ɓé ŕéƒûñðéð ûñļéšš ŕéQûîŕéð ɓý ļåŵ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen] + [Î åĝŕéé ţö ţĥé [Ðîšçöŕð Ţéŕḿš öƒ ŠéŕVîçé](»{termsURL}«), [Þåîð ŠéŕVîçéš Ţéŕḿš](»{paidURL}«), åñð ţĥåţ ḿý šûɓšçŕîþţîöñ ŵîļļ ŕéñéŵ ƒöŕ **»{rate}«** öñ **»{renewalDate}«**. Î çåñ çåñçéļ åñýţîḿé ûñðéŕ Ûšéŕ Šéţţîñĝš > Šûɓšçŕîþţîöñš, åñð þŕéVîöûš çĥåŕĝéš ŵöñ’ţ ɓé ŕéƒûñðéð ûñļéšš ŕéQûîŕéð ɓý ļåŵ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty] [Çĥåñĝé Þåýḿéñţ Ḿéţĥöð one two three] [Ḿåñåĝé šûɓšçŕîþţîöñ îñ Ĝööĝļé Þļåý one two three four] [Ḿåñåĝé Šûɓšçŕîþţîöñ one two three] @@ -936,6 +942,8 @@ [Ţĥéšé åŕé ýöûŕ çûŕŕéñţ šûɓšçŕîþţîöñš. Ţĥéý ŵîļļ ɓé ɓîļļéð öñ ţĥé šåḿé ɓîļļîñĝ çýçļé. Ýöû çåñ ûþðåţé åñý šûɓšçŕîþţîöñ åţ åñý ţîḿé. one two three four five six seven eight nine ten eleven twelve thirteen] [βý þûŕçĥåšîñĝ å Ðîšçöŕð šûɓšçŕîþţîöñ, ýöû åĝŕéé ţö öûŕ [Ţéŕḿš öƒ ŠéŕVîçé](»{termsUrl}«) åñð [ÞŕîVåçý Þöļîçý](»{privacyUrl}«). Ñîţŕö åñð ŠéŕVéŕ βööšţ åŕé åûţö-ŕéçûŕŕîñĝ šûɓšçŕîþţîöñš. Ýöû åûţĥöŕîžé Ðîšçöŕð ţö îḿḿéðîåţéļý çĥåŕĝé ţĥé þåýḿéñţ ḿéţĥöð þŕöVîðéð åţ ¡¡»{price}«¡¡ åñð ţö çöñţîñûé ţö ðö šö åûţöḿåţîçåļļý ḿöñţĥļý ûñţîļ ýöû çåñçéļ. Ýöû ḿåý çåñçéļ åñýţîḿé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen] [βý þûŕçĥåšîñĝ å Ðîšçöŕð šûɓšçŕîþţîöñ, ýöû åĝŕéé ţö öûŕ [Ţéŕḿš öƒ ŠéŕVîçé](»{termsUrl}«) åñð [ÞŕîVåçý Þöļîçý](»{privacyUrl}«). Ñîţŕö åñð ŠéŕVéŕ βööšţ åŕé åûţö-ŕéçûŕŕîñĝ šûɓšçŕîþţîöñš. Ýöû åûţĥöŕîžé Ðîšçöŕð ţö îḿḿéðîåţéļý çĥåŕĝé ţĥé þåýḿéñţ ḿéţĥöð þŕöVîðéð åţ ¡¡»{price}«¡¡ åñð ţö çöñţîñûé ţö ðö šö åûţöḿåţîçåļļý ýéåŕļý ûñţîļ ýöû çåñçéļ. Ýöû ḿåý çåñçéļ åñýţîḿé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen] + [βý þûŕçĥåšîñĝ å Ðîšçöŕð šûɓšçŕîþţîöñ, ýöû åĝŕéé ţö öûŕ [Ţéŕḿš öƒ ŠéŕVîçé](»{termsUrl}«), [Þåîð ŠéŕVîçéš Ţéŕḿš](»{paidURL}«), åñð [ÞŕîVåçý Þöļîçý](»{privacyUrl}«). Ñîţŕö åñð ŠéŕVéŕ βööšţ åŕé åûţö-ŕéçûŕŕîñĝ šûɓšçŕîþţîöñš. Ýöû åûţĥöŕîžé Ðîšçöŕð ţö îḿḿéðîåţéļý çĥåŕĝé ţĥé þåýḿéñţ ḿéţĥöð þŕöVîðéð åţ ¡¡»{price}«¡¡ åñð ţö çöñţîñûé ţö ðö šö åûţöḿåţîçåļļý ḿöñţĥļý ûñţîļ ýöû çåñçéļ. Ýöû ḿåý çåñçéļ åñýţîḿé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen] + [βý þûŕçĥåšîñĝ å Ðîšçöŕð šûɓšçŕîþţîöñ, ýöû åĝŕéé ţö öûŕ [Ţéŕḿš öƒ ŠéŕVîçé](»{termsUrl}«), [Þåîð ŠéŕVîçéš Ţéŕḿš](»{paidURL}«), åñð [ÞŕîVåçý Þöļîçý](»{privacyUrl}«). Ñîţŕö åñð ŠéŕVéŕ βööšţ åŕé åûţö-ŕéçûŕŕîñĝ šûɓšçŕîþţîöñš. Ýöû åûţĥöŕîžé Ðîšçöŕð ţö îḿḿéðîåţéļý çĥåŕĝé ţĥé þåýḿéñţ ḿéţĥöð þŕöVîðéð åţ ¡¡»{price}«¡¡ åñð ţö çöñţîñûé ţö ðö šö åûţöḿåţîçåļļý ýéåŕļý ûñţîļ ýöû çåñçéļ. Ýöû ḿåý çåñçéļ åñýţîḿé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen] [Ţĥîš þåýḿéñţ šöûŕçé îš îñVåļîð. one two three four] [Þåýḿéñţ Ḿéţĥöðš one two three] [Åḿöûñţ one two] @@ -1104,10 +1112,13 @@ [Šŵööšĥ. Ñöţîƒîçåţîöñš åŕé å ĝö¡ one two three four] [Öûţþûţ ðéVîçéš çåññöţ ɓé çĥåñĝéð ŵĥîļé ûšîñĝ ţĥé ɓŕöŵšéŕ. [Ðöŵñļöåð](öñÐöŵñļöåðÇļîçķ) ţĥé ðéšķţöþ åþþļîçåţîöñ ţö ĝéţ ƒûļļ çöñţŕöļ öVéŕ öûţþûţ ðéVîçéš. one two three four five six seven eight nine ten eleven twelve thirteen fourteen] [Ðîšçöŕð βûĝ Ĥûñţéŕ one two three] + [βûĝ šûɓḿîţţéð one two] [Ðéţåîļéð ðéšçŕîþţîöñ (öþţîöñåļ) one two three four] [Κšûé ñåḿé ŕéQûîŕéð one two three] [Þŕîöŕîţý ŕéQûîŕéð one two three] + [Fåîļéð ţö šûɓḿîţ ŕéþöŕţ one two three] [Féåţûŕé åŕéå one two] + [βûĝ ŕéþöŕţéŕ ţûŕñéð öƒƒ one two three] [Ŵĥåţ\'š ţĥé îššûé¿ one two three] [Šçŕééñšĥöţ ŕéḿöVéð ƒŕöḿ ŕéþöŕţ one two three four] [Þŕîöŕîţý one two] @@ -1119,10 +1130,16 @@ [Ļöŵ (Þ2) one two] [**Ñöţ ûŕĝéñţ åñð ñöţ îḿþöŕţåñţ.** Þ3 åļļöŵš ûš ţö åçķñöŵļéðĝé ţĥåţ šöḿéţĥîñĝ îš åñ îššûé, ɓûţ ţĥéšé ķîñðš öƒ îššûéš ðö ñöţ ñééð ţö ɓé ƒîхéð ûñţîļ öţĥéŕ ḿöŕé þŕéššîñĝ çöñçéŕñš åŕé ðéåļţ ŵîţĥ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen] [νéŕý Ļöŵ (Þ3) one two] + [ŔéḿöVé šçŕééñšĥöţ one two three] [Šéļéçţ Féåţûŕé Åŕéå one two three] + [Šöḿéţĥîñĝ îš ɓŕöķéñ öñ ţĥîš šçŕééñ one two three four] [Šéñðîñĝ ŕéþöŕţ one two three] [Ŕéþöŕţ šéñţ one two] + [Šûɓḿîţţîñĝ one two] + [Šûɓḿîţţîñĝ βûĝ one two three] [Šûɓḿîţ å βûĝ Ŕéþöŕţ one two three] + [Ţûŕñ ţĥîš ţĥîñĝ öƒƒ ƒöŕ ḿé one two three four] + [Ŵĥåţ ðîð ýöû éхþéçţ ţö šéé¿ one two three four] [βûîļð ÖVéŕŕîðé one two three] [Åþþļý one] [Çļéåŕ one] @@ -1326,16 +1343,6 @@ [Ýöû ŵîļļ öñļý ɓé ñöţîƒîéð ŵĥéñ ýöû åŕé ḿéñţîöñéð ɓéçåûšé **¡¡»{name}«¡¡** îš šéţ ţö **Öñļý @ḿéñţîöñš**. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen] [Çĥåññéļ ĥåš ɓééñ ðéļéţéð. one two three] [Çĥåññéļ ĥéåðéŕ one two three] - [Çĥåññéļ Îñƒö one two] - [Ḿûţîñĝ þŕéVéñţš ûñŕéåð îñðîçåţöŕš åñð ñöţîƒîçåţîöñš ƒŕöḿ åþþéåŕîñĝ ûñļéšš ḿéñţîöñéð. one two three four five six seven eight nine] - [Ñåḿé one] - [Ñöţîƒîçåţîöñš one two] - [Ðéţåîļš one two] - [Ţöþîç one] - [Éðîţ one] - [Ýöûŕ šéţţîñĝš one two] - [Ĥîðé Çĥåññéļ Îñƒöŕḿåţîöñ one two three] - [Šĥöŵ Çĥåññéļ Îñƒöŕḿåţîöñ one two three] [Ýöûŕ ŕöļé ðöéš ñöţ ĥåVé þéŕḿîššîöñ ţö åççéšš ţĥîš çĥåññéļ. one two three four five six seven] [Çĥåññéļ Ļöçķéð one two three] [Þéŕḿîššîöñš šýñçéð ŵîţĥ çåţéĝöŕý: **»{categoryName}«** one two three four five] @@ -2111,6 +2118,7 @@ [Çåñçéļ ÉVéñţ one two] [Ţĥîš ḿéššåĝé ŵîļļ ɓé ðéļéţéð îñ åļļ šéŕVéŕš ƒöļļöŵîñĝ ţĥîš çĥåññéļ. Îţ ḿåý ţåķé šöḿé ţîḿé ɓéƒöŕé îţ’š ŕéḿöVéð ƒŕöḿ åļļ šéŕVéŕš. one two three four five six seven eight nine ten eleven twelve thirteen] [Ðéļéţé Þöšţ one two] + [Åŕé ýöû šûŕé ýöû ŵåñţ ţö ðéļéţé ţĥîš þöšţ¿ one two three four five] [Ðéļéţé Ḿéššåĝé one two three] [Åŕé ýöû šûŕé ýöû ŵåñţ ţö ðéļéţé ţĥîš ḿéššåĝé¿ one two three four five] [Ýöû çåñ ĥöļð ðöŵñ šĥîƒţ ŵĥéñ çļîçķîñĝ **ðéļéţé ḿéššåĝé** ţö ɓýþåšš ţĥîš çöñƒîŕḿåţîöñ éñţîŕéļý. one two three four five six seven eight nine ten] @@ -2352,6 +2360,7 @@ [ĤåVé ƒééðɓåçķ¿ [Ţåķé ţĥé šûŕVéý](»{surveyURL}«) one two three four] [Çåţçĥ šöḿé ƒîšĥ ŵîţĥ ýöûŕ ƒŕîéñðš îñ öûŕ ñéŵ ĝåḿé Fîšĥîñĝţöñ.îö¡ one two three four five six seven] [Þļåý Fîšĥîñĝţöñ ŵîţĥ ýöûŕ ƒŕîéñðš¡ one two three four] + [ÞŕéVîéŵ one two] [Îñ ÅçţîVîţý one two] [Îñ ¡¡»{applicationName}«¡¡ one two] [Çöḿîñĝ šööñ ţö ḿöɓîļé one two three] @@ -2541,6 +2550,7 @@ [Ḿåýɓé ţŕý ḿéñţîöñîñĝ å ŕöļé öŕ îñðîVîðûåļ ûšéŕš îñšţéåð¿ one two three four five six seven] [Šéñð Ñöŵ one two] [Éхåḿþļéš one two] + [[åţţåçĥḿéñţ] one two] [Éхîţ Šţåĝé one two] [Éхîţ Fûļļ Šçŕééñ one two three] [Éñåɓļé šûɓţîţļéš one two three] @@ -2940,13 +2950,22 @@ [Ţĥîš çĥåññéļ îšñ’ţ ƒûļļý ɓûîļţ ýéţ ƒöŕ Åñðŕöîð ðéVîçéš. Ļöĝ öñ ţö ýöûŕ ðéšķţöþ çļîéñţ ƒöŕ ţĥé ƒûļļ éхþéŕîéñçé. one two three four five six seven eight nine ten eleven twelve] [Föŕûḿ Çĥåññéļ one two] [Šţåŕţ ðîšçûššîöñš ɓý ţöþîçš one two three four] + [Ĝûîðéļîñéš one two] + [Çŕéåţé Ĝûîðéļîñéš one two three] + [Ĥéļþ ýöûŕ ḿéḿɓéŕš ûñðéŕšţåñð ŵĥåţ ţĥîš çĥåññéļ îš ƒöŕ, åñð šéţ ŕûļéš ţö ķééþ îţ çîVîļ¡ one two three four five six seven eight nine] + [Çŕéåţé Ĝûîðéļîñéš ƒöŕ ţĥîš çĥåññéļ¡ one two three four] + [Šĥöŵ Ḿöŕé one two] + [Ţĥéŕé’š å þöšţ ţĥåţ’š þîññéð åļŕéåðý. Þîññîñĝ ţĥîš þöšţ ŵîļļ ŕéḿöVé ţĥé éхîšţîñĝ þîññéð þöšţ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen] + [Þîñ ţĥîš þöšţ¿ one two three] [Þöšţ »{title}«, »{count}« one two] [Ţĥîš þöšţ ŵåš åŕçĥîVéð ɓý å ḿöðéŕåţöŕ. Öñļý ḿöðéŕåţöŕš çåñ ûñåŕçĥîVé îţ. one two three four five six seven eight] [Ţĥéŕé’š ñö öñé îñ ţĥîš þöšţ. one two three four] [»{count}«] + [»{count}« Ñéŵ one] [Éñţéŕ å ḿéššåĝé… one two three] [Þöšţ Šéţţîñĝš one two] - [Éñţéŕ å Ţîţļé… one two three] + [Šţåŕţ å çöñVéŕšåţîöñ… one two three] + [Ţîţļé one] [Ţýþîñĝ… one two] [Öļðéŕ Þöšţš one two] [Šöŕţ ɓý: Ļåţéšţ ÅçţîVîţý one two three] @@ -3343,28 +3362,35 @@ [Åñýöñé ŵîţĥ åççéšš ţö ţĥîš ţéхţ çĥåññéļ ŵîļļ šéé ţĥé åļéŕţ. one two three four five six seven] [Šéļéçţ å ţéхţ çĥåññéļ one two three] [Çĥööšé å çĥåññéļ ţö þöšţ ţĥé åļéŕţ ḿéššåĝé ţö. Ţĥé åļéŕţ ŵîļļ çöñţåîñ ţĥé ƒļåĝĝéð ḿéššåĝé çöñţéñţš, ûšéŕ, åñð çĥåññéļ îţ ŵåš öŕîĝîñåļļý þöšţéð ţö. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five] + [Éðîţ Çĥåññéļ one two] [Åðð Åçţîöñ one two] [Þöšţ Åļéŕţ Ţö Çĥåññéļ one two three] [Ţĥéñ ţåķé ţĥéšé åçţîöñ(š) one two three] - [Åðð Åñöţĥéŕ Ŕûļé one two three] + [Åðð Åñöţĥéŕ »{ruleName}« one two] [Ýöûŕ ḿéššåĝé ĥåš ɓééñ þŕéVéñţéð ƒŕöḿ éðîţîñĝ ɓéçåûšé îţ ţŕîĝĝéŕéð ÅûţöḾöð ƒîļţéŕš ţĥîš çöḿḿûñîţý ûšéš. one two three four five six seven eight nine ten eleven] [ŕéVéŕţéð one two] [• [Ļéåŕñ Ḿöŕé](»{helpUrl}«) one two three four] [Ýöûŕ ḿéššåĝé ŵåš ñöţ šéñţ ɓéçåûšé îţ ţŕîĝĝéŕéð ÅûţöḾöð ƒîļţéŕš ţĥîš çöḿḿûñîţý ûšéš. one two three four five six seven eight nine] [Þļéåšé åðð åţ ļéåšţ öñé åçţîöñ ţö ţĥîš ŕûļé. one two three four five] + [Fîļţéŕ Ñåḿé (Öþţîöñåļ) one two three] + [Éñţéŕ å ñåḿé ƒöŕ ţĥîš ƒîļţéŕ (öþţîöñåļ) one two three four five] [Ķéýŵöŕðš ḿûšţ ɓé çöḿḿå šéþåŕåţéð (Éх: çåţ, ðöĝ, ţîĝéŕ…) one two three four five six seven eight nine ten eleven twelve] [»{keyword}« ĥåš åñ îñVåļîð ļéñĝţĥ. Ķéýŵöŕðš ḿûšţ ɓé ɓéţŵééñ »{min}« åñð »{max}« çĥåŕåçţéŕš. one two three four five six seven eight] [Þļéåšé éñţéŕ åţ ļéåšţ öñé ķéýŵöŕð. one two three four] [Þļéåšé éñţéŕ ñö ḿöŕé ţĥåñ »{limit}« ķéýŵöŕðš. one two three four five] [Fîļţéŕ ḿéššåĝéš çöñţåîñîñĝ ţĥéšé ţéŕḿš öŕ þĥŕåšéš ƒŕöḿ ýöûŕ šéŕVéŕ. one two three four five six seven eight] [Ñö ķéýŵöŕðš ĥåVé ɓééñ åððéð. one two three four] - [Çûšţöḿ Ķéýŵöŕð Fîļţéŕ one two three] + [Ķéýŵöŕð Fîļţéŕ one two three] [΃ ţĥéšé ķéýŵöŕðš åŕé šéñţ… one two three four] [»{count}« ŵöŕðš one two] [Éñţéŕ ýöûŕ ķéýŵöŕðš ĥéŕé¡ one two three] [Fîļţéŕ ḿéššåĝéš çöñţåîñîñĝ ḿåļîçîöûš ļîñķš ƒŕöḿ ýöûŕ šéŕVéŕ. one two three four five six seven] - [Šþåḿ Ļîñķ Fîļţéŕ one two three] + [Ĥåŕḿƒûļ Ļîñķ Fîļţéŕ one two three] [΃ ĥåŕḿƒûļ ļîñķš åŕé ðéţéçţéð… one two three four] + [Çĥåññéļ: €[**¡¡»{channelName}«¡¡**](çĥåññéļĤööķ) one two three four] + [Ŕûļé: »{ruleName}« one two] + [ĥåš ɓļöçķéð å ḿéššåĝé one two three] + [ÅûţöḾöð one two] [Ŵåñţ ţĥîš šéŕVéŕ ţö ƒééļ ûñîQûé¿ Ûñļöçķ çûšţöḿ šéŕVéŕ ɓåññéŕš ŵîţĥ **»{boostsNeeded}« ḿöŕé »{boostsNeeded}«.** one two three four five six seven eight nine] [βööšţ Ţĥîš ŠéŕVéŕ one two three] [Ýöû’ļļ åļšö ĥéļþ ûñļöçķ ḿöŕé çûšţöḿîžåţîöñ ƒéåţûŕéš åñð ûţîļîţý ûþĝŕåðéš ƒöŕ éVéŕýöñé îñ ţĥé šéŕVéŕ ļîķé: one two three four five six seven eight nine ten eleven] @@ -3857,6 +3883,11 @@ [Ýöûŕ ḿéḿɓéŕšĥîþ ĥåš ɓééñ ŕéšţåŕţéð¡ one two three four] [Šéåŕçĥ çĥåññéļš one two three] [Ḿöñéţîžé ýöûŕ šéŕVéŕ ɓý öƒƒéŕîñĝ éхçļûšîVé çĥåññéļš åñð ɓéñéƒîţš. one two three four five six seven] + [Åþþļý ƒöŕ Åççéšš one two three] + [Öñļý ţĥé šéŕVéŕ öŵñéŕ çåñ åþþļý ƒöŕ Þŕéḿîûḿ Ḿéḿɓéŕšĥîþ. ĜîVé ’éḿ å ĥéåðš ûþ¡ one two three four five six seven eight] + [Åþþļîçåţîöñ Þéñðîñĝ one two three] + [Ţö åþþļý, ŕéƒéŕ ţö ţĥé ŕéQûîŕéḿéñţš ɓéļöŵ. Ñöţé ţĥåţ ţĥéšé åŕé ĵûšţ ţĥé ḿîñîḿûḿ ŕéQûîŕéḿéñţš ţö åþþļý, åñð åççéþţåñçé îš ñöţ ĝûåŕåñţééð. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three] + [Ţö ļéåŕñ ḿöŕé åɓöûţ Þŕéḿîûḿ Ḿéḿɓéŕšĥîþ, çĥéçķ öûţ ţĥé FÅq. one two three four five six seven] [Ĝéţ Šţåŕţéð one two] [ÅðVåñçéð one two] [βåšîç Îñƒö one two] @@ -3882,7 +3913,7 @@ [Öƒƒéŕ ţĥé öþþöŕţûñîţý ţö ţåķé ţĥîš ţîéŕ ƒöŕ å šþîñ ŵîţĥöûţ ûþƒŕöñţ þåýḿéñţ. Ýöû çåñ šéţ ļîḿîţš öñ ĥöŵ ḿåñý ƒŕéé ţŕîåļš åŕé åVåîļåɓļé îñ ţĥé ÅðVåñçéð ţåɓ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen] [Ðîšåɓļéð one two] [Fŕéé Ţŕîåļ one two] - [ŢÖÐÖ: Ţĥîñķ öƒ å ţööļţîþ one two three] + [Öƒƒéŕ ðéŕéñţ ĝŕöûþš öƒ ţîéŕš ţĥåţ ûšéŕš çåñ šûɓšçŕîɓé ţö šéþåŕåţéļý. one two three four five six seven eight] [Éðîţ Îḿåĝé one two] [Ûþļöåð Îḿåĝé one two] [Ŵé ŕéçöḿḿéñð åñ îḿåĝé ţĥåţ’š åţ ļéåšţ 1600þх ɓý 400þх. Ýöû çåñ ûþļöåð å ÞÑĜ öŕ ĴÞĜ ûñðéŕ 10 Ḿβ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen] @@ -4121,10 +4152,10 @@ [Šéţ šýšţéḿ çĥåññéļ ƒļåĝš ţö **¡¡»{newValue}«¡¡** one two three four five] [Šéţ ţĥé ŵéļçöḿé ñöţîƒîçåţîöñ çĥåññéļ ţö **¡¡»{newValue}«¡¡** one two three four five six] [**Ðîšåɓļéð** ţĥé ŵéļçöḿé ñöţîƒîçåţîöñ ḿéššåĝéš one two three four five six] - [Šéţ šýšţéḿ çĥåññéļ ŵéļçöḿé šţîçķéŕš ţö **¡¡»{newValue}«¡¡** one two three four five six] - [Šéţ šýšţéḿ çĥåññéļ ŵéļçöḿé ḿéššåĝéš ţö **¡¡»{newValue}«¡¡** one two three four five six] - [Šéţ šýšţéḿ çĥåññéļ ɓööšţ ñöţîƒîçåţîöñš ţö **¡¡»{newValue}«¡¡** one two three four five six] - [Šéţ šýšţéḿ çĥåññéļ šéŕVéŕ šéţûþ ţîþš ţö **¡¡»{newValue}«¡¡** one two three four five six] + [Šéţ šýšţéḿ çĥåññéļ ŵéļçöḿé šţîçķéŕš ţö **¡¡»{newValue}«¡¡** one two three four five six] + [Šéţ šýšţéḿ çĥåññéļ ŵéļçöḿé ḿéššåĝéš ţö **¡¡»{newValue}«¡¡** one two three four five six] + [Šéţ šýšţéḿ çĥåññéļ ɓööšţ ñöţîƒîçåţîöñš ţö **¡¡»{newValue}«¡¡** one two three four five six] + [Šéţ šýšţéḿ çĥåññéļ šéŕVéŕ šéţûþ ţîþš ţö **¡¡»{newValue}«¡¡** one two three four five six] [€[**¡¡»{user}«¡¡**](ûšéŕĤööķ) ḿåðé çĥåñĝéš ţö €[**¡¡»{target}«¡¡**](ţåŕĝéţĤööķ) one two three four five six seven eight nine ten eleven twelve] [Šéţ ţĥé Çöḿḿûñîţý šéŕVéŕ ûþðåţéš çĥåññéļ ţö **¡¡»{newValue}«¡¡** one two three four five six] [**Çļéåŕéð** ţĥé Çöḿḿûñîţý šéŕVéŕ ûþðåţéš çĥåññéļ one two three four five six] @@ -4252,7 +4283,7 @@ [Ŵîţĥ ñåḿé **¡¡»{newValue}«¡¡** one two three] [€[**¡¡»{user}«¡¡**](ûšéŕĤööķ) ûþðåţéð ţĥé ŵéɓĥööķ €[**¡¡»{target}«¡¡**](ţåŕĝéţĤööķ) one two three four five six seven eight nine ten eleven twelve thirteen] [Šéţûþ ŕûļéš ƒöŕ ḿöðéŕåţîöñ îñ ýöûŕ šéŕVéŕ ţö åûţöḿåţîçåļļý ƒîļţéŕ çöñţéñţ åñð åļéŕţ ḿöðéŕåţöŕš šö ţĥåţ ýöû çåñ ķééþ ýöûŕ šéŕVéŕ šåƒé åŕöûñð-ţĥé-çļöçķ one two three four five six seven eight nine ten eleven twelve thirteen fourteen] - [Åûţöḿöð one two] + [ÅûţöḾöð one two] [Ţĥé ŕéçöḿḿéñðéð ḿîñîḿûḿ šîžé îš 960х540 åñð ŕéçöḿḿéñðéð åšþéçţ ŕåţîö îš 16:9. [Ļéåŕñ ḿöŕé](»{articleURL}«). one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen] [Çöḿḿûñîţý Šéţţîñĝš one two three] [Öñļý šéŕVéŕ åðḿîñîšţŕåţöŕš åŕé åļļöŵéð ţö ðö ţĥîš one two three four five six] @@ -5229,6 +5260,9 @@ [Ûĥ-öĥ. Ļööķš ļîķé ýöû\'Vé ɓééñ ɓåññéð. one two three four five] [Åççéþţîñĝ ţĥîš îñVîţé ŵîļļ åðð **¡¡»{username}«¡¡** åš ýöûŕ ƒŕîéñð öñ Ðîšçöŕð. one two three four five six seven eight] [Çŕéåţé åñ åççöûñţ åñð åðð **¡¡»{username}«¡¡** åš ýöûŕ ƒŕîéñð öñ Ðîšçöŕð. one two three four five six seven] + [Ðöŵñļöåð ţĥé Åñðŕöîð Åþþ one two three] + [Ðöŵñļöåð ţĥé Åþþ one two three] + [Ðöŵñļöåð ţĥé îÖŠ Åþþ one two three] [Ţĥé îñVîţé îš îñVåļîð öŕ ĥåš éхþîŕéð. one two three four five] [Éхþîŕéš one two] [Fåîļéð ţö ḿåķé åñ îñVîţé ļîñķ. one two three four] @@ -5241,6 +5275,7 @@ [ÎñVîţé Çöðé one two] [ÎñVîţéŕ one two] [Ļööķš ļîķé ýöû çåñ\'ţ ḿåķé åñ îñVîţé ƒöŕ ţĥîš šéŕVéŕ. one two three four five six] + [Ýöû šûççéššƒûļļý çŕéåţéð åñ åççöûñţ åñð ĵöîñéð **»{guildName}«**. one two three four five six] [Ŵĥý, ĥéļļö ţĥéŕé. one two three] [ŔéšöļVîñĝ ÎñVîţé one two three] [Ûšéš one] @@ -5614,6 +5649,7 @@ [Ĥöļð ţö ţéḿþöŕåŕîļý éñåɓļé ýöûŕ ḿîçŕöþĥöñé ŵĥîļé îñ Þûšĥ ţö Ţåļķ ḿöðé. one two three four five six seven eight] [Ĥöļð ţö ţéḿþöŕåŕîļý éñåɓļé ýöûŕ ḿîçŕöþĥöñé ŵĥîļé îñ Þûšĥ ţö Ţåļķ ḿöðé. Öţĥéŕ šþéåķéŕš ŵĥö åŕé ñöţ åļšö ţŕåñšḿîţţîñĝ ŵîţĥ þŕîöŕîţý ŵîļļ ţéḿþöŕåŕîļý ĥåVé ţĥéîŕ Vöļûḿé ļöŵéŕéð ŵĥîļé ýöû åŕé šþéåķîñĝ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen] [ÅçţîVåţé šöûñðɓöåŕð åţ ḿöûšé ļöçåţîöñ one two three four five] + [Ĥöļð ţö åçţîVåţé šöûñðɓöåŕð åţ ḿöûšé ļöçåţîöñ one two three four five] [Ţöĝĝļé ýöûŕ šþéåķéŕ\'š þļåýɓåçķ öñ åñð öƒƒ. Åļšö ðîšåɓļéš ýöûŕ ḿîçŕöþĥöñé ŵĥîļé ðéåƒéñéð. one two three four five six seven eight nine ten] [Ţöĝĝļé ţö šţåŕţ/šţöþ šţŕéåḿîñĝ îñ ýöûŕ çûŕŕéñţ Vöîçé çĥåññéļ. Šţŕéåḿš çåñ öñļý ɓé šţåŕţéð ŵîţĥ ţĥîš ķéýɓîñð îƒ Ðîšçöŕð ŕéçöĝñîžéš ţĥé ĝåḿé ýöû åŕé çûŕŕéñţļý þļåýîñĝ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen] [Ţöĝĝļé ýöûŕ ḿîçŕöþĥöñé\'š ţŕåñšḿîššîöñ öñ åñð öƒƒ. one two three four five six] @@ -5630,6 +5666,7 @@ [Þûšĥ ţö Ţåļķ (Ñöŕḿåļ) one two three] [Þûšĥ ţö Ţåļķ (Þŕîöŕîţý) one two three] [ÅçţîVåţé Šöûñðɓöåŕð one two three] + [ÅçţîVåţé Šöûñðɓöåŕð (Ĥöļð) one two three four] [Ţöĝĝļé Ðéåƒéñ one two] [Ţöĝĝļé Šçŕééñ Šĥåŕé one two three] [Ţöĝĝļé Ḿûţé one two] @@ -5774,6 +5811,9 @@ [Šéļéçţ Ļåñĝûåĝé one two three] [Ýöû çåñ çĥåñĝé ţĥîš ļåţéŕ. one two three four] [Ĥî¡ Šéļéçţ ļåñĝûåĝé one two three] + [Ŵé ļöŵéŕéð þŕîçéš îñ Åûšţŕåļîå åñð åççéþţ þåýḿéñţš îñ €ÅÛ. [Ļéåŕñ Ḿöŕé](»{helpCenterLink}«) one two three four five six seven eight nine ten eleven twelve thirteen fourteen] + [Ĝ’ðåý, îñðééð one two] + [[Ļéåŕñ Ḿöŕé](»{helpCenterLink}«) one two three] [**Ĥööŕåý¡** Åš å ŕéšîðéñţ öƒ »{country}«, ýöû\'ŕé ñöŵ þåýîñĝ ţĥé ðîšçöûñţéð þŕîçé öƒ »{newPrice}« ƒöŕ Ñîţŕö¡ [Ļéåŕñ Ḿöŕé](»{helpCenterLink}«). one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen] [**Ĥööŕåý¡** Åš å ŕéšîðéñţ öƒ »{country}«, ýöû çåñ ñöŵ ĝéţ Ñîţŕö ƒöŕ å ðîšçöûñţéð þŕîçé öƒ »{newPrice}«¡ [Ļéåŕñ Ḿöŕé](»{helpCenterLink}«). one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen] [Åññöûñçîñĝ ñéŵ Ñîţŕö þŕîçîñĝ ƒöŕ öûŕ Åûššîé ƒŕîéñðš¡ one two three four five six] @@ -5947,6 +5987,7 @@ [ŠéŕVéŕ Ŕûļéš one two] [Šĥöŕţ Åñšŵéŕ one two] [Çöññéçţîöñš one two] + [Þåššéð νéŕîƒîçåţîöñ ĻéVéļ one two three] [Ţĥîš ƒîéļð îš ŕéQûîŕéð one two three] [Ŕéåð åñð åĝŕéé ţö ţĥé šéŕVéŕ ŕûļéš one two three four] [Ţö çĥåñĝé ţĥîš, [ĝö ţö Ḿöðéŕåţîöñ šéţţîñĝš](öñŠéţţîñĝšÇļîçķ) one two three four five six seven] @@ -6160,8 +6201,8 @@ [Ḿéḿɓéŕš ŵîţĥ ţĥîš þéŕḿîššîöñ çåñ ðŕåĝ öţĥéŕ ḿéḿɓéŕš öûţ öƒ ţĥîš çĥåññéļ. Ţĥéý çåñ öñļý ḿöVé ḿéḿɓéŕš ɓéţŵééñ çĥåññéļš ɓöţĥ ţĥéý åñð ţĥé ḿéḿɓéŕ ţĥéý åŕé ḿöVîñĝ ĥåVé åççéšš. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen] [ḾöVé Ţö one two] [Ûšéŕ ĥåš ɓééñ ḿöVéð ţö ţĥé šéļéçţéð çĥåññéļ. one two three four five] - [Åļéŕţ Çļéåŕéð one two] - [Ñö Åļéŕţ Šĥöŵîñĝ one two three] + [Åļéŕţ Çļéåŕéð one two] + [Ñö Åļéŕţ Šĥöŵîñĝ one two three] [Ñéŵ ñöţîƒîçåţîöñ one two three] [ŔéḿöVé »%1$s« one two] [Ḿöŕé ţĥåñ %1$d ñéŵ ñöţîƒîçåţîöñš one two three four] @@ -6267,7 +6308,7 @@ [Î ûñðéŕšţåñð åñð åĝŕéé ŵîţĥ ţĥéšé ţéŕḿš. one two three four five] [Çöñţîñûé ţö Ðîšçöŕð one two three] [Ţö çöñţîñûé ûšîñĝ Ðîšçöŕð, þļéåšé ŕéåð åñð åĝŕéé ţö öûŕ ûþðåţéð Ţéŕḿš öƒ ŠéŕVîçé åñð ÞŕîVåçý Þöļîçý. one two three four five six seven eight nine ten eleven] - [Ţéŕḿš öƒ ŠéŕVîçé åñð ÞŕîVåçý Ûþðåţé one two three four] + [Ţéŕḿš öƒ ŠéŕVîçé åñð ÞŕîVåçý Ûþðåţéš one two three four five] [Ñéŵ Ţĥŕéåð one two] [Ñéŵ Ûñŕéåðš one two] [Åññöûñçéḿéñţ Çĥåññéļ one two three] @@ -6407,6 +6448,7 @@ [Ŵé šûĝĝéšţ åððîñĝ å þĥöñé ţö ýöûŕ 2 ƒåçţöŕ åûţĥéñţîçåţîöñ šéţţîñĝš åš å ɓåçķûþ. one two three four five six seven eight nine] [Åðð Þĥöñé one two] [Ŵåñţ ţö ţåķé ƒûļļ åðVåñţåĝé öƒ Ðîšçöŕð ŵîţĥ ɓéţţéŕ þéŕƒöŕḿåñçé, îñ-ĝåḿé öVéŕļåý, åñð ḿöŕé¿ Ĝéţ ţĥé ðéšķţöþ åþþ¡ one two three four five six seven eight nine ten eleven twelve] + [Ŵé ûþðåţéð þŕîçéš îñ »{countryName}«. Ýöû’ŕé ñöŵ þåýîñĝ ļéšš ƒöŕ Ñîţŕö. one two three four five six seven] [Ŵéļļ, îţ ļööķš ļîķé Ðîšçöŕð îš ñöţ ðéţéçţîñĝ åñý îñþûţ ƒŕöḿ ýöûŕ ḿîç. Ļéţ\'š ƒîх ţĥåţ… ţöĝéţĥéŕ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen] [Ĥéļþ¡ one] [Ŵéļļ, îţ ļööķš ļîķé Ðîšçöŕð îš ñöţ ðéţéçţîñĝ åñý îñþûţ ƒŕöḿ ýöûŕ ḿîç. Ļéţ\'š ƒîх ţĥåţ¡ one two three four five six seven eight nine] @@ -6656,8 +6698,10 @@ [Þåĝé »{pageNumber}« one] [Þåĝé »{page}« öƒ »{totalPages}« one two] [ÞŕéVîöûš one two] + [Šļîðé »{pageNumber}« one two] [Þåĝé ¡¡»{currentPage}«¡¡ one two] [Þåĝé ¡¡»{currentPage}«¡¡ öƒ ¡¡»{numPages}«¡¡ one two three] + [[Þåîð ŠéŕVîçéš Ţéŕḿš](»{url}«) one two three] [»{count}«] [»{count}« Ðîšçöŕð\'š Ţŵîţţéŕ šĥöûļð ĥåVé ḿöŕé îñƒöŕḿåţîöñ. one two three four five six] [Þåŕţñéŕéð ŠéŕVéŕ Öŵñéŕ one two three] @@ -6695,6 +6739,8 @@ [Þåšţé one] [Þåûšé one] [Çöññéçţîñĝ ŵîţĥ ýöûŕ þåýḿéñţ šöûŕçé one two three four] + [Þļéåšé ţŕý ţö ḿåķé ţĥé þûŕçĥåšé åĝåîñ. one two three four five] + [΃ ýöû ƒöļļöŵéð ţĥîš ļîñķ åƒţéŕ ţŕýîñĝ ţö ḿåķé å þûŕçĥåšé öñ ţĥé ðéšķţöþ öŕ ḿöɓîļé åþþ, þļéåšé ĝö ɓåçķ åñð ţŕý åĝåîñ. one two three four five six seven eight nine ten eleven twelve] [Çöñţîñûé one two] [Çåñçéļ Þåýḿéñţ one two three] [Ýöûŕ þåýḿéñţ ƒöŕ **¡¡»{item}«¡¡** ĥåš ɓééñ çåñçéļéð. one two three four five] @@ -6705,6 +6751,9 @@ [Þåýḿéñţ Çåñçéļéð one two three] [Þåýḿéñţ Åûţĥéñţîçåţîöñ Fåîļéð one two three four] [Þåýḿéñţ Åûţĥéñţîçåţéð one two three] + [Þåýḿéñţ åûţĥöŕîžåţîöñ ļîñķ ĥåš éхþîŕéð. one two three four five] + [Þåýḿéñţ Åûţĥöŕîžéð one two three] + [Åûţĥöŕîžîñĝ one two] [Çûŕŕéñçý one two] [Þåýîñĝ îñ one two] [Ûñåɓļé ţö çöñƒîŕḿ þåýḿéñţ ḿéţĥöð one two three four] @@ -6817,11 +6866,13 @@ [Ðîšçöŕð îš ûñåɓļé ţö þîñ ţĥåţ ḿéššåĝé. Ýöû ḿåý ĥåVé ĥîţ ţĥé ļîḿîţ öƒ »{maxPins}« þîñš îñ çĥåññéļ #¡¡»{channelName}«¡¡. one two three four five six seven eight nine ten] [Ðîšçöŕð îš ûñåɓļé ţö þîñ ţĥåţ ḿéššåĝé. Ýöû ḿåý ĥåVé ĥîţ ţĥé ļîḿîţ öƒ »{maxPins}« þîñš îñ ţĥîš çĥåññéļ. one two three four five six seven eight nine ten] [Ţĥé Þîñ βŕöķé one two] + [Þîñ Þöšţ one two] [Þîññéð Ḿéššåĝéš one two three] [ÞŔÖŢÎÞ: one two] [Ûšéŕš ŵîţĥ \'Ḿåñåĝé Ḿéššåĝéš\' çåñ þîñ ƒŕöḿ ţĥé çöĝ ḿéñû. one two three four five six seven] [Ýöû åñð ¡¡»{other}«¡¡ çåñ þîñ å ḿéššåĝé ƒŕöḿ îţš çöĝ ḿéñû. one two three four five six] [Åñý ĝŕöûþ ḿéḿɓéŕ çåñ þîñ å ḿéššåĝé ƒŕöḿ îţš çöĝ ḿéñû. one two three four five six] + [Þîññéð one two] [Þîñš one] [Ţĥîš çĥåññéļ îš ÑŠFŴ åñð ðûé ţö îţš çöñţéñţ îţš þîñš šĥöûļð ñöţ ɓé Vîéŵéð ɓý åñýöñé. one two three four five six seven eight nine] [Þîñš, ûñŕéåð one two] @@ -7222,7 +7273,9 @@ [Ḿåñåĝé Ñîţŕö one two] [Ýöûŕ **¡¡»{price}«¡¡** šûɓšçŕîþţîöñ îš þåšţ ðûé. Þļéåšé ûþðåţé ýöûŕ þåýḿéñţ îñƒö öŕ ýöûŕ šûɓšçŕîþţîöñ ŵîļļ éñð öñ **»{endDate}«**. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen] [Ýöûŕ šûɓšçŕîþţîöñ îš þåšţ ðûé. Þļéåšé [ûþðåţé ýöûŕ þåýḿéñţ îñƒö ƒöŕ ¡¡»{paymentGatewayName}«¡¡](»{paymentSourceLink}«) öŕ ýöûŕ šûɓšçŕîþţîöñ ŵîļļ éñð öñ **»{endDate}«**. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen] + [**Ýöûŕ þåýḿéñţ îš þŕöçéššéšîñĝ.** Þļéåšé ɓé þåţîéñţ, ţĥîš çåñ ţåķé ûþ ţö »{maxProcessingTimeInDays}« ðåýš. Ŵé ŵîļļ éḿåîļ ýöû å çöñƒîŕḿåţîöñ ŵĥéñ îţ’š çöḿþļéţé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three] [βööšţš one two] + [Ýöûŕ **Ñîţŕö** šûɓšçŕîþţîöñ îš þŕéþåîð ţĥŕöûĝĥ **»{prepaidEndDate}«**. Ýöû çåñ éхţéñð ýöûŕ þļåñ ɓý éðîţîñĝ ýöûŕ þåýḿéñţ ḿéţĥöð. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen] [Ýöûŕ šûɓšçŕîþţîöñš ŵîļļ åûţöḿåţîçåļļý ŕéñéŵ öñ **»{renewalDate}«** åñð ýöû\'ļļ ɓé çĥåŕĝéð **¡¡»{price}«¡¡**. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen] [Ýöûŕ šûɓšçŕîþţîöñš ŵîļļ åûţöḿåţîçåļļý ŕéñéŵ öñ **»{renewalDate}«**. Þļéåšé [Vîšîţ ýöûŕ ¡¡»{paymentGatewayName}«¡¡ Šûɓšçŕîþţîöñ šéţţîñĝš](»{subscriptionManagementLink}«) ƒöŕ ḿöŕé ðéţåîļš. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty] [Ýöûŕ šûɓšçŕîþţîöñ ŵîļļ ɓé ûþĝŕåðéð öñ **»{upgradeDate}«** åñð ýöû\'ļļ ɓé çĥåŕĝéð åñ éšţîḿåţéð þŕîçé **¡¡»{upgradePrice}«¡¡**. Ńţéŕ, îţ ŵîļļ ŕéñéŵ öñ **»{renewalDate}«** åñð ýöû\'ļļ ɓé çĥåŕĝéð **¡¡»{renewalPrice}«¡¡**. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven] @@ -7292,6 +7345,7 @@ [Ĥöļð ûþ¡ Ýöû ñééð Ñîţŕö ţö ĝéţ ţĥîš ļööţ. one two three four five] [Šĥöŵ Šûɓšçŕîþţîöñ Ðéţåîļš one two three] [Ţŕýîñĝ ţö ḿåñåĝé ýöûŕ Ñîţŕö šûɓšçŕîþţîöñ¿ Ĝö ţö ýöûŕ [Šûɓšçŕîþţîöñš](öñŠûɓšçŕîþţîöñšÇļîçķ) þåĝé. one two three four five six seven eight nine ten eleven] + [βý þûŕçĥåšîñĝ å Ñîţŕö šûɓšçŕîþţîöñ, ýöû åĝŕéé ţö öûŕ [Ţéŕḿš öƒ ŠéŕVîçé](»{termsURL}«), [Þåîð ŠéŕVîçéš Ţéŕḿš](»{paidURL}«), åñð [ÞŕîVåçý Þöļîçý](»{privacyURL}«). Þåýḿéñţ ŵîļļ ɓé çĥåŕĝéð ţö ýöûŕ Åþþļé ÎÐ åççöûñţ åţ ţĥé çöñƒîŕḿåţîöñ öƒ þûŕçĥåšé. Šûɓšçŕîþţîöñ åûţöḿåţîçåļļý ŕéñéŵš ûñļéšš îţ îš çåñçéļéð åţ ļéåšţ 24 ĥöûŕš ɓéƒöŕé ţĥé éñð öƒ ţĥé çûŕŕéñţ þéŕîöð. Ýöûŕ åççöûñţ ŵîļļ ɓé çĥåŕĝéð ƒöŕ ŕéñéŵåļ ŵîţĥîñ 24 ĥöûŕš þŕîöŕ ţö ţĥé éñð öƒ ţĥé çûŕŕéñţ þéŕîöð. Ýöû çåñ ḿåñåĝé åñð çåñçéļ ýöûŕ šûɓšçŕîþţîöñš ɓý ĝöîñĝ ţö ýöûŕ åççöûñţ šéţţîñĝš öñ ţĥé Åþþ Šţöŕé åƒţéŕ þûŕçĥåšé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven] [Šûɓšçŕîþţîöñ Ûþðåţéš one two three] [Ţĥåñķ ýöû¡ one two] [Ţĥåñķš ƒöŕ ýöûŕ ƒééðɓåçķ. Ŵé åþþŕéçîåţé îţ¡ one two three four five] @@ -8463,6 +8517,7 @@ [νîéŵéŕ Ĵöîñ one two] [νîéŵéŕ ĻéåVé one two] [νöîçé Ðîšçöññéçţéð one two three] + [Öþéñ Šöûñðɓöåŕð one two three] [Ðîšçöŕð Šöûñðɓöåŕð one two three] [Åðð Šöûñð one two] [βŕöŵšé one two] @@ -8763,6 +8818,8 @@ [Ţĥîš šţŕéåḿ ĥåš ɓééñ ĥîððéñ. one two three four] [Ýöûŕ ñéţŵöŕķ çöññéçţîöñ ḿåý ɓé çåûšîñĝ å ðéçŕéåšé îñ Vîðéö åñð åûðîö Qûåļîţý. Ţö îḿþŕöVé Vöîçé åûðîö, ðîšåɓļé ţĥé šţŕéåḿ. one two three four five six seven eight nine ten eleven twelve] [Šţŕéåḿ ĵûšţ šţåŕţéð. Ĝéţ îñ ĥéŕé¡ one two three four] + [Šéñðš å ðéšķţöþ åñð/öŕ ḿöɓîļé þûšĥ ñöţîƒîçåţîöñ ŵĥéñ šöḿéöñé šţåŕţš šĥåŕîñĝ ţĥéîŕ šçŕééñ îñ ýöûŕ šéŕVéŕš. one two three four five six seven eight nine ten eleven] + [Éñåɓļé Ñöţîƒîçåţîöñš ƒöŕ Šçŕééñ Šĥåŕé ÅçţîVîţý one two three four five six] [Þåŕţîçîþåñţš ŵîţĥöûţ Vîðéö åŕé çûŕŕéñţļý ĥîððéñ. Ŵöûļð ýöû ļîķé ţö šĥöŵ ţĥéḿ¿ one two three four five six seven eight] [Þļåýîñĝ ¡¡»{game}«¡¡ one two] [Šţŕéåḿ ĤÐ ŕéšöļûţîöñš åţ 60 ƒŕåḿéš þéŕ šéçöñð, ĝéţ åççéšš ţö çĥåţ þéŕķš, [åñð ḿöŕé ŵîţĥ Ðîšçöŕð Ñîţŕö¡](öñÞŕéššḾöŕé) one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty] @@ -9127,6 +9184,7 @@ [Fŕîéñð ŕéQûéšţš šéñţ¡ one two three] [Çöþîéð Çöḿḿåñð one two three] [Fééðɓåçķ Šéñţ¡ one two three] + [Çöþîéð Þöšţ ÎÐ one two three] [Fŕîéñð îñVîţéš ŕéVöķéð one two three] [Ĝîƒ ŠåVéð one two] [Çöþîéð ÎÐ one two] @@ -9284,6 +9342,7 @@ [Ðîšçöŕð ƒåîļéð ţö ûñþîñ ţĥåţ ḿéššåĝé ƒöŕ šöḿé ŕéåšöñ. Šöŕŕý åɓöûţ ţĥåţ. one two three four five six seven eight] [Ţĥé Þîñ Κ Šţûçķ¡ one two three] [Ûñþîñ Ḿéššåĝé one two] + [Ûñþîñ Þöšţ one two] [Ţĥîš ŵîļļ ḿåŕķ åļļ ýöûŕ ûñḿûţéð çĥåññéļš åš ŕéåð. Åŕé ýöû šûŕé ýöû ŵåñţ ţö çöñţîñûé¿ one two three four five six seven eight nine] [Ḿåŕķ åļļ åš ŕéåð¿ one two three] [Ýöû\'ŕé åļļ çåûĝĥţ ûþ¡ one two three] diff --git a/app/src/main/res/values-es-rES/plurals.xml b/app/src/main/res/values-es-rES/plurals.xml index 2c5a203d75..ad11800db7 100644 --- a/app/src/main/res/values-es-rES/plurals.xml +++ b/app/src/main/res/values-es-rES/plurals.xml @@ -932,6 +932,14 @@ {#} mejora aplicada {#} mejoras aplicadas + + {#} mes + {#} meses + + + {#} mes + {#} meses + {#} mejora {#} mejoras @@ -1028,6 +1036,10 @@ {#} mejora disponible {#} mejoras disponibles + + mejora del servidor cancelada + mejoras del servidor canceladas + {#} mes {#} meses @@ -1420,6 +1432,10 @@ 1 persona más {count} personas más + + 1 uso + {uses} usos + 1 uso {uses} usos diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 6a7b0c4ac0..9a10175574 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -1168,6 +1168,7 @@ Cambiar de avatar de servidor Cambiar icono Editar perfil de servidor + Avatar y cartel de perfil Descripción de servidor Si se deja en blanco, se usará tu descripción principal. Háblale un poco de ti al servidor @@ -1175,6 +1176,7 @@ ¡Utiliza un avatar diferente en cada uno de tus servidores y más con Discord Nitro! Apodo (deshabilitado) Puedes cambiar cómo te ven los demás dentro de este servidor estableciendo un apodo y un avatar del servidor. + Restablecer a avatar predeterminado Error desconocido Cambiar de avatar de servidor ¡Utiliza un avatar diferente en cada uno de tus servidores y más con **Discord Nitro!** @@ -1202,6 +1204,7 @@ Cambiar contraseña ¿Cambiar número de teléfono? Cambiar fondo + No se ha podido cambiar el enlace de invitación personalizado porque contiene caracteres no válidos, era demasiado corto o ya estaba en uso. Los enlaces de invitación personalizados solo pueden contener letras, números o guiones. Contenido de registro de cambios ¡Enséñale a un amigo nuestra nueva página de inicio! Queremos dar una buena impresión. Más información @@ -1217,16 +1220,6 @@ Participantes Se ha eliminado el canal. Encabezado del canal - Información del canal - Silenciar evita que aparezcan indicadores y notificaciones de no leído, a menos que te mencionen. - Nombre - Notificaciones - Detalles - Tema - Editar - Tus ajustes - Ocultar información de canal - Mostrar información de canal Tu rol no tiene permiso para acceder a este canal. Canal bloqueado Permisos sincronizados con la categoría: **{categoryName}** @@ -1332,6 +1325,7 @@ Confirmar Borrar Borrar archivos adjuntos + Borrar anulación de versión Haz clic para más información Clonar canal Se creará un nuevo canal con los mismos permisos, límite de usuarios y tasa de bits que **!!{name}!!**. @@ -1888,6 +1882,7 @@ !!{a}!!, !!{b}!! y {n} están en el chat de voz. No hay nadie en el chat de voz. Color personalizado + Recuerda que los enlaces de invitación personalizados necesitan un canal de texto accesible a todos los miembros para poder funcionar. Estado personalizado Borrar después de Borrar estado @@ -2216,6 +2211,7 @@ una actividad ¡Empezad a jugar juntos mientras habláis! ¡NOVEDAD! Actividades + Jugad juntos de forma gratuita en cualquier canal de voz. ¡Desbloquea más actividades con mejoras! otra actividad Emojis Añadir a favoritos @@ -2265,6 +2261,7 @@ Este emoji es de un servidor privado o que no está disponible. [Más información](openPremiumSettings) sobre cómo usar emojis personalizados. Quitar de favoritos {count} disponibles + ¡Ese emoji era demasiado grande! Los emojis no pueden superar los {maxSize} kb. Haz clic para más información {count} Menciona (@mention) a los usuarios para añadirlos a este hilo privado. @@ -2379,10 +2376,18 @@ $[](upHook) para seleccionar Facebook Fallido + Añadir canal a favoritos + Añadir MD a favoritos + Añadir grupo de MD a favoritos No puedes tener más favoritos. Marcar como favorito + ¡Te damos la bienvenida a tu nueva función «favorita» de Discord! Añade favoritos destacando canales, chats de voz y MD mediante sus menús contextuales. + Favoritos + Ir al servidor original + Favoritos No puedes tener más de {count} favoritos. ¡Oh, no! + Este nombre solo aparecerá en tus favoritos. Describir el problema Tu problema Enviar opinión @@ -2443,6 +2448,7 @@ Baja automáticamente el volumen de otras aplicaciones en este porcentaje cuando alguien está hablando. Ponlo al 0 %% para deshabilitar por completo la atenuación. Los nuevos hilos se archivarán tras el tiempo de inactividad establecido. Si el indicador es verde constante, entonces Discord está transmitiendo tu hermosa voz. + ¡TODOS LOS BITS! Sobrepasar los {bitrate} kbps puede perjudicar a los usuarios con conexiones débiles. Al usar un micrófono certificado por Discord, hay ciertas características de procesamiento de voz que no controla Discord, sino el micrófono. Cambia los ajustes de privacidad y personaliza cuántos miembros pueden interactuar en este canal. Registra todos los datos RTP que se reciben en la siguiente conexión de voz/vídeo con fines de depuración. @@ -2635,6 +2641,7 @@ Probar mi micrófono Texto a voz Notificaciones de texto a voz + Desactivar silencio de nuevos eventos Desactivar silencio de **!!{name}!!** Cuadro de texto Límite de usuarios @@ -2674,6 +2681,7 @@ Miembros del servidor Aceptar Cancelar + Se ha cancelado la solicitud de amistad. Mmm… Parece que algo ha fallado al mandar tu solicitud de amistad. Puedes intentarlo más tarde desde tu lista de amigos. Mmm… Parece que algo ha fallado al mandar tu solicitud de amistad a !!{name}!!. Puedes intentarlo más tarde desde tu lista de amigos. Solicitud de amistad fallida @@ -2993,6 +3001,9 @@ Viendo a {username} Ir al canal Entendido + Se ha producido un error en tu compra. Espera y vuelve a intentarlo. + ¡Ay, no! + No se ha podido conectar a los servicios de Google Play. Espera y vuelve a intentarlo. Otorgar membresía temporal Verde Gris @@ -3040,8 +3051,8 @@ ¡Qué buena pinta! Más información Quizás más tarde - Mejora hoy al nivel 1 y aumenta la calidad de sonido de 96 kbps a 128 kbps. - Mejora hoy al nivel 2 y aumenta la calidad de sonido de 128 kbps a 256 kbps. + Mejora al nivel 1 para que el audio sea más fluido y os sintáis como si todos estuvierais en la misma habitación. + Mejora al nivel 2 para que el audio sea más fluido y os sintáis como si todos estuvierais en la misma habitación. Mejora hoy al nivel 3 y aumenta la calidad de sonido de 256 kbps a 384 kbps. ¿Sabías que puedes conseguir una mejor calidad de sonido con mejoras? Has alcanzado el límite de 100 servidores @@ -3092,6 +3103,7 @@ Desde juegos, a música y enseñanza, aquí encontrarás tu sitio. Encuentra tu comunidad en Discord Seguir actualizaciones + Encuentra tu comunidad Buscar comunidades Comunidades populares !!{username}!!, estos servidores podrían gustarte @@ -3209,18 +3221,40 @@ Crear {count} {number} + ¡Pero puedes escribir alguno! + Este servidor aún no tiene ningún mensaje principal. + Vuelve a cargar la página o revisa nuestra [página de estado]({url}). + ¡Vaya! Has dado con un error ultrarraro. + Actualiza para ver qué pasa + ¡Eso es todo por ahora! Pero espera, puede que aún haya más… + Abrir mensaje de !!{channelName}!! en la barra lateral + {maxReplies} respuestas más {numReplies} + Volver a cargar Mensajes principales + Has visto todos los mensajes principales de las últimas 2 semanas. + Estás al día Color de la carpeta Nombre de la carpeta !!{folderName}!!, carpeta {mentions} !!{folderName}!!, carpeta {mentions}, !!{expandedState}!! Carpeta del servidor sin nombre ¡Ajustes de carpeta guardados! + Inicio Esta es una nueva interfaz que estamos probando para ayudarte a estar al tanto de lo que ocurre en tu servidor. Inicio - !!{guildName}!! + Cambiar de cartel de perfil de servidor + Toca para editar tu Sobre mí para este servidor + Editar tu Sobre mí para este servidor + Si se deja en blanco, se usará por defecto tu información de Sobre mí. + Toca para añadir un Sobre mí para este servidor Descripción de servidor de !!{guildName}!! + Cambiar de cartel de perfil de servidor + Eliminar avatar de servidor + Cartel de perfil de servidor + Restablecer a cartel predeterminado ¿Necesitas más? Personaliza por completo el perfil del servidor con Nitro. + Subir cartel de perfil de servidor ¡Sé quien quieras ser y utiliza un avatar, un cartel y una biografía diferentes en cada uno de tus servidores, desbloquea avatares animados y más con [Discord Nitro!](onAndMore) Exprésate sin limitaciones con perfiles de servidor Invitar a servidores @@ -3254,6 +3288,8 @@ El enlace de verificación ha expirado. Verificación completada. Verificando tu solicitud. + Ver Ajustes del servidor + ¡Este lugar está hasta arriba! Plantéate cambiar los ajustes de notificaciones por defecto de este servidor a **solo @mentions** para echarle una mano a tus miembros. Notificar a @everyone Avisa a @everyone de que va a empezar el evento. $[Avisaremos a @everyone de que el escenario va a empezar.](tooltipHook) [Habilitar](toggleClick) @@ -3477,6 +3513,8 @@ $[**!!{user}!!**](userHook) ha hecho cambios a $[**!!{target}!!**](targetHook) Ha establecido el canal de actualizaciones del servidor de comunidad a **!!{newValue}!!** **Ha borrado** el canal de actualizaciones del servidor de comunidad + Establecer el enlace de invitación a **!!{newValue}!!** + Enlace de invitación personalizado **eliminado** Ha establecido el nivel de verificación del servidor a **Alto** Ha establecido el nivel de verificación del servidor a **Bajo** Ha establecido el nivel de verificación del servidor a **Medio** @@ -3636,7 +3674,6 @@ Recomendamos encarecidamente ajustarlo solo a @mentions para un Discord público. Debido al tamaño del servidor, sus miembros no recibirán en el móvil notificaciones push de los mensajes sin @mention. Deshabilitar Descubrimiento - Desactivar los requisitos de miembros implica que la gente podrá unirse a tu comunidad sin aceptar las normas o sin tu aprobación manual. ¿Seguro? Solo los administradores del servidor pueden habilitar y deshabilitar Descubrimiento. Requisito de A2F para la moderación habilitado @@ -3689,6 +3726,10 @@ Al deshabilitar la comunidad, tu servidor se eliminará de Descubrimiento de servidor. Se ha eliminado este servidor de Descubrimiento. Este servidor no cumple los requisitos indicados a continuación y se ha eliminado automáticamente de Descubrimiento. No te preocupes, puedes volver a unirte cuando los cumplas de nuevo. Los requisitos de actividad se calculan cada semana. + Permite que aparezca información en cualquier chat si se hace clic en un emoji o una pegatina personalizados de tu servidor. Los usuarios podrán ver tu servidor y unirse a través de la información que se muestre. + Deshabilitar información de emojis/pegatinas + Habilitar información de emojis/pegatinas + Mostrar la información de emojis/pegatinas al hacer clic Haz crecer tu comunidad con Descubrimiento de servidor Discord dará prioridad a este servidor en las búsquedas para los usuarios que hablen el idioma seleccionado. Aparecer en la lista de [Descubrimiento de servidor](onLinkClick) permite que cualquier persona encuentre tu servidor y se una a él. @@ -3703,6 +3744,7 @@ Subcategorías Alias Introducir alias + Añade hasta {count} emojis personalizados que todos podrán usar en este servidor. Los miembros con Discord Nitro pueden usar emojis de GIF animados. Los nombres de los emojis deben tener al menos 2 caracteres y solo pueden contener caracteres alfanuméricos y guiones bajos. Los emojis deben tener un tamaño inferior a {maxSize} KB. ¡Mejora el nivel de tu servidor a {level} para desbloquear más ranuras de emojis! Emojis de nivel {level} perdidos ¡Mejora el nivel de tu servidor a {level} o compra un nivel para desbloquear tus emojis! @@ -3749,6 +3791,8 @@ Opción de archivado en 1 semana para los hilos Crear hilos privados Cartel de servidor animado + Enlace de invitación personalizado para el servidor + {bitrate} kbps de calidad de sonido +{adding} ranuras de emojis del servidor (para un total de {total}) +{adding} ranuras de pegatinas personalizadas (para un total de {total}) {fileSize} de límite de subida para todos los miembros @@ -4487,6 +4531,14 @@ Emoji de !!{name}!! Icono de !!{name}!! Logotipo de !!{name}!! + ¿Qué son los canales? + Los canales son los sitios en los que puedes hablar, pasar al chat de voz, jugar y más. Cada servidor tiene una lista de canales por la que puedes navegar para ver qué ocurre. + Mensajes directos + Los mensajes directos van aparte de los servidores. Puedes enviar MD por privado a un amigo para chatear o crear un grupo de MD con hasta 10 personas. + ¿Necesitas más ayuda? + ¿No encuentras lo que estás buscando? [Visita nuestro centro]({helpCenterUrl}) para obtener más información. + ¿Qué es un servidor? + Los servidores son sitios en los que pasar el rato con tus amigos y conocer gente. La mayoría de los servidores son privados y solo se puede acceder a ellos por invitación. en !!{categoryName}!! Ajustes de voz en juegos En el canal de voz @@ -4505,6 +4557,7 @@ Me interesa No, gracias Cuando se suben directamente a Discord + No se mostrarán vistas previas de las imágenes que superen los {maxSize} MB. Cuando se publican como enlaces en el chat Mostrar imágenes, vídeos y GIFs de gatos Dispositivo de entrada @@ -4576,6 +4629,7 @@ Esta aplicación no cuenta con comandos. Esta aplicación no cuenta con webhooks en este servidor. Has alcanzado el número máximo de sobrescripciones de permisos. + Has alcanzado el límite de permisos. Elimina {removeCount} de ellos para hacer más cambios. Eliminar integración ¿Seguro que quieres eliminar **!!{applicationName}!!**? Se ha producido un error interno del servidor. @@ -4735,6 +4789,7 @@ ¡Vamos a añadir a algunos amigos! Invitar gente ¡Atención! Los amigos a los que invitas pueden ver tu historial de mensajes anteriores. + Este canal es privado. Solo los miembros y roles seleccionados pueden ver este canal. Buscar amigos Invitación enviada !!{maxAge}!!, !!{maxUses}!! @@ -4745,6 +4800,7 @@ O envía un enlace de invitación a la transmisión a un amigo Invitar a la transmisión Invitar a servidor + Invitar amigos a **!!{name}!!** URL de invitación Unirse a canal de voz ¡Te damos la bienvenida a tu nuevo servidor! @@ -4895,6 +4951,7 @@ Expulsar Expulsar Expulsar miembros + Expulsar, aprobar y rechazar miembros Expulsar a !!{user}!! ¿Seguro que quieres expulsar a !!{user}!! del servidor? Podrá unirse de nuevo con una nueva invitación. Se ha expulsado a «!!{user}!!» del servidor. @@ -5494,7 +5551,7 @@ Ningún GIF coincide con tu búsqueda. A continuación, hemos seleccionado un par de posibles términos relacionados. No hay resultados para tu búsqueda ni hemos podido encontrar términos relacionados. Sigue buscando el GIF perfecto. No hay dispositivos de entrada - Discord no tiene acceso a la entrada de teclado del sistema necesaria para Pulsar para hablar. + Discord no tiene acceso a la entrada de teclado del sistema necesaria para Pulsar para hablar Sin invitación El protocolo 4M1ST4D solo se puede ejecutar desde el cliente de Discord Sin integraciones @@ -6026,9 +6083,21 @@ ¿Cancelar !!{planPremiumType}!!? La cancelación para las suscripciones de Nitro y mejora del servidor se efectuará de inmediato. Tu Discord Tag pasará a ser aleatoria si la habías cambiado. Olvídalo, quiero conservar Nitro + Olvídalo, quiero conservar Nitro Tus **2 mejoras gratis** y un **30 %% de descuento en mejoras** {boostCount} Tu **descuento del 30 %% en mejoras** + 2 mejoras gratis y 30 %% de descuento + Usar pegatinas y emojis personalizados en cualquier parte + Etiquetas personalizadas y promoción de perfil + Transmisión de vídeos en alta definición y 60 fps + has transmitido en {month} + horas + Transmitir vídeo en HD + Aumenta la subida de archivos a 100 MB + archivos grandes + has enviado en {month} + Subidas de archivos más grandes Acceso a **emojis personalizados** y **pegatinas** en todos tus servidores Acceso a **emojis personalizados** en todos tus servidores Un **avatar animado**, un **cartel de perfil** y una **Discord Tag** personalizada @@ -6149,15 +6218,21 @@ Mejoras del servidor activas {numSubscriptions} Lo sentimos, actualmente no está disponible la cancelación de mejoras adquiridas a través de !!{paymentGatewayName}!!. Puedes cancelar tus mejoras en Gestión de suscripción de [!!{paymentGatewayName}!!]({subscriptionManagementLink}). + ¿Seguro que quieres cancelar esta mejora del servidor? La haremos pedacitos. Se eliminará de los servidores asociados y se cancelará de tu suscripción al final de tu periodo de facturación: **{endDate}**. + ¿Seguro que quieres cancelar una mejora del servidor de tu inventario? La haremos pedacitos. Se eliminará de los servidores asociados y se cancelará de tu suscripción al final de tu periodo de facturación: **{endDate}**. Sí, cancelar la mejora El pago de tu suscripción sigue pendiente. Actualiza tu información de pago antes de gestionar mejoras. Esta mejora va incluida en tu suscripción Nitro Cancelar mejora Ha habido un error al intentar cancelar esta mejora. + **{subscriptionCount}** {subscriptionCount} + Esta suscripción de mejora del servidor se cancelará al final de tu periodo de facturación de Nitro o Nitro Classic: **{endDate}**. A continuación, verás reflejados los cambios en tu suscripción: Cancelar mejora del servidor Cancelar mejora del servidor de un servidor Cancelar mejora del servidor del inventario Cancelación pendiente de la mejora + Vale, estamos listos para hacer pedazos esta mejora. Su cancelación está programada para el **{endDate}**. **¡Todavía puedes usarla hasta que nos la carguemos!** + ¡Mejora cancelada! {date} Mejorando desde {date} ({months}) Ha habido un error al intentar mejorar. Vuelve a intentarlo. @@ -6229,13 +6304,18 @@ Límite de subida de archivos aumentado a 100 MB Muéstrale a todo el mundo de qué va tu servidor con un cartel de servidor Potentes mejoras: ¡mayores límites de subida, una mejor calidad de audio y más! + Potentes mejoras: ¡iconos de servidor animados, opciones de hilos adicionales y más! + Potentes mejoras: ¡mayores límites de subida, carteles de servidor, iconos de rol personalizados y más! + Potentes mejoras: ¡enlaces de invitación personalizados, más espacios para emojis y carteles de servidor animados! Establece un icono único para cada rol en el servidor Comparte pantalla en 1080 p/60 fps Comparte pantalla en 720 p/60 fps Subir pegatinas personalizadas para que todos las usen Sube hasta {numStickers} pegatinas personalizadas y {numEmojis} emojis personalizados + Sube hasta {numStickers} pegatinas personalizadas Opciones de archivado de hilos más largas Crear hilos privados + Añade miembros nuevos fácilmente con un enlace de invitación personalizado Objetivo: {levelName} Compra mejoras para ayudar a desbloquear ventajas de {levelName}! ¡Este servidor ha desbloqueado todas las ventajas de mejora! @@ -6374,6 +6454,7 @@ Tus suscripciones Este ajuste incluye los cálculos de las partes proporcionales, los descuentos y los reembolsos. Estas son tus suscripciones actuales. Se te cobrarán en el mismo periodo de facturación. + {planName} cancelado Importe de !!{planName}!! Este importe solo se cargará cuando te registres para una suscripción !!{planName}!!. Este crédito solo puede aplicarse a una suscripción !!{planName}!! adquirida en escritorio. @@ -6555,8 +6636,11 @@ Acciones de perfil ¡Sube tu propio cartel personalizado y más con Discord Nitro! Tiempo transcurrido: $[](renderTimeHook) + El tamaño mínimo recomendado y la relación de aspecto son de 600x240 y 5:2. Los archivos aceptados son PNG, JPG y GIF animados. Háblale un poco de ti al servidor + No guardar ¿Guardar cambios? + Has hecho cambios. ¿Quieres guardarlos antes de salir de la página? Exclusivo de Nitro Vista previa Insignias de usuarios @@ -6717,6 +6801,7 @@ Eliminar aislamiento temporal Eliminar aislamiento temporal de «!!{user}!!» Eliminar a !!{user}!! del hilo + Eliminar enlace de invitación personalizado Mostrar inserciones y ver vista previa de enlaces de páginas webs que se peguen en el chat Inserciones y vista previa de enlaces Mostrar reacciones de emojis en mensajes @@ -6853,11 +6938,13 @@ Permisos predeterminados para todos los miembros del servidor Icono de rol, {name} Elegir imagen + Sube una imagen de menos de 256 kb o elige un emoji personalizado de este servidor. Recomendamos una medida de al menos 64x64 píxeles. Los miembros verán el icono del rol más importante si tienen varios roles. Más información Icono de rol personalizado para {name}. Esta característica forma parte de las mejoras de servidor. Emojis Subir imagen Explorar archivos + ¡Ay, no! El archivo es demasiado grande. Selecciona un .png o .jpg de 256 kb o menos. Elige un PNG o JPG para subir Se ha copiado el ID del rol: {role} Los miembros utilizan el color del rol más alto que tienen en esta lista. Arrastra los roles para reordenarlos. @@ -6933,6 +7020,7 @@ Permite que los enlaces compartidos por miembros muestren contenido incrustado en estos canales. Permite que los enlaces compartidos por miembros muestren contenido incrustado en este canal. No se han encontrado permisos + Expulsar eliminará a otros miembros de este servidor. Los miembros expulsados podrán unirse de nuevo si reciben otra invitación. Si el servidor activa los requisitos de miembro, este permiso permitirá aprobar o rechazar a los miembros que soliciten unirse. Permite a los miembros eliminar a otros miembros de este servidor. Los miembros expulsados podrán unirse de nuevo si reciben otra invitación. Permite a los miembros cambiar el nombre, la descripción y los ajustes de voz de estos canales. También podrán eliminar estos canales. (Necesario para los moderadores del escenario) Permite a los miembros plantear un tema para empezar el escenario y habilita o deshabilita las solicitudes para hablar. También pueden eliminar el canal de escenario. @@ -7404,11 +7492,15 @@ Los guiones son el único carácter especial permitido. Las etiquetas van aquí. En Descubrimiento de servidor, puedes buscar por nombre, descripción y etiqueta. Puedes añadir hasta 10. + Ahora los servidores con {count} o más miembros pueden unirse a Descubrimiento de servidor. + Haz crecer tu comunidad más rápido Emojis del servidor Cerrar todas las carpetas Marcar carpeta como leída + Silenciar todos los servidores de la carpeta Carpeta del servidor Ajustes de carpeta + Desactivar silencio de todos los servidores de la carpeta Información del servidor El servidor está lleno en estos momentos. Silenciar en servidor @@ -7431,6 +7523,9 @@ Cambiar el registro de depuración cerrará y reiniciará Discord. ¿Seguro que quieres hacerlo? Establecer este enlace para que nunca expire Establecer estado + Tu servidor no tiene acceso a esta función. + No tienes acceso a esta función. + Antes de establecer un enlace de invitación personalizado, tienes que seleccionar un canal de texto que sea accesible a todos los miembros. Ajustes Avanzado ¡Añádelo! @@ -8249,6 +8344,9 @@ Cuenta sin confirmar Desactivar ensordecimiento Deshacer + Quitar canal de favoritos + Quitar MD de favoritos + Quitar grupo de MD de favoritos Desmarcar como favorito Dejar de centrarse en esta persona Lo sentimos, no se han encontrado aplicaciones en tu dispositivo que puedan abrir este enlace: @@ -8645,6 +8743,10 @@ Para hablar en este canal debes tener habilitado Pulsar para hablar. Pulsar para hablar obligatorio Enlace de invitación personalizado + Recuerda que los enlaces de invitación personalizados necesitan un canal de texto accesible a todos los miembros para poder funcionar. + Enlace de invitación personalizado ({uses}) + Haz que tu servidor sea fácilmente accesible con un elegante enlace de invitación personalizado. Recuerda que tu servidor estará disponible públicamente para cualquiera que use este enlace. + Ten en cuenta que podremos retirar los enlaces de invitación personalizados si descubrimos algún tipo de abuso o conflicto de propiedad intelectual. Este servidor ya es accesible para todos en **!!{url}!!** Este servidor ya es accesible para todos en [!!{urlText}!!]({urlValue}) tu-enlace-aqui diff --git a/app/src/main/res/values-fi/plurals.xml b/app/src/main/res/values-fi/plurals.xml index ed8330fa67..0b0cffeb74 100644 --- a/app/src/main/res/values-fi/plurals.xml +++ b/app/src/main/res/values-fi/plurals.xml @@ -944,6 +944,14 @@ {#} nostatus käytetty {#} nostatusta käytetty + + {#} kuukauden + {#} kuukauden + + + {#} kuukauden + {#} kuukauden + {#} nostatuksen {#} nostatusta @@ -1040,6 +1048,10 @@ {#} nostatus {#} nostatusta + + Palvelimen nostatus + palvelimen nostatusta + {#} kuukausi {#} kuukautta @@ -1432,6 +1444,10 @@ 1 muu {count} muuta + + 1 käyttökerta + {uses} käyttökertaa + 1 käyttökerta {uses} käyttökertaa diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 4a2a14a72d..643f9abcd3 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -1196,6 +1196,7 @@ Vaihda avatar palvelimelle Vaihda kuvake Muokkaa palvelinprofiilia + Avatar ja profiilibanneri Palvelimen biografia Jos jätät tämän tyhjäksi, ensisijaista biografiaasi käytetään. Kerro itsestäsi muille tällä palvelimella @@ -1203,6 +1204,7 @@ Käytä eri avataria kullakin palvelimellesi ja monia muita etuja Discord Nitrolla. Nimimerkki (pois käytöstä) Asettamalla palvelinkohtaisen nimimerkin ja avatarin voit muuttaa sitä, miten muut näkevät sinut palvelimella. + Palauta oletusavatar Tuntematon virhe Vaihda avatar palvelimelle Käytä eri avataria kullakin palvelimellesi ja monia muita etuja **Discord Nitrolla**. @@ -1225,6 +1227,7 @@ Vaihda salasana Vaihdetaanko puhelinnumero? Vaihda tausta + Mukautettua kutsulinkkiä ei voitu muuttaa, koska siinä on virheellisiä merkkejä, se on liian lyhyt tai se on varattu. Mukautetut kutsulinkit voivat sisältää vain kirjaimia, numeroita ja yhdysmerkkejä. Muutoslokin sisältö Esittele uusi kotisivusi kavereillesi! Haluamme varmistaa, että teet hyvän vaikutuksen. Lue lisää @@ -1240,16 +1243,6 @@ Osallistujat Kanava on poistettu. Kanavan otsikko - Kanavatiedot - Mykistäminen estää ilmoitusten ja huomautusten näkymisen, jollei sinua mainita. - Nimi - Ilmoitukset - Tiedot - Aihe - Muokkaa - Omat asetuksesi - Piilota kanavatiedot - Näytä kanavatiedot Roolillasi ei ole käyttöoikeuksia tälle kanavalle. Kanava lukittu Käyttöoikeudet synkronoitu luokan **{categoryName}** kanssa @@ -1357,6 +1350,7 @@ Rekisteröi Tyhjennä Tyhjennä liitteet + Poista koontiversion ohitus Tyhjennä teksti Lue lisää klikkaamalla Kloonaa kanava @@ -1933,6 +1927,7 @@ !!{a}!!, !!{b}!! ja {n} ovat nyt puhekanavalla. Kukaan ei ole nyt puhekanavalla. Mukautettu väri + Muista, että mukautetut kutsulinkit toimivat vain, kun vähintään yksi tekstikanava on kaikkien jäsenten käytettävissä. Mukautettu tila Tyhjennä jälkeen Tyhjennä tila @@ -2261,6 +2256,7 @@ toiminta Pelatkaa yhdessä puhekanavalla! UUTTA! Toiminnot + Pelaa yhdessä ilmaiseksi puhekanavilla. Avaa lisää toimintoja nostatuksilla! toinen toiminta Emoji Lisää suosikkeihin @@ -2310,6 +2306,7 @@ Emoji on peräisin palvelimelta, joka on joko yksityinen tai ei käytettävissä. [Lisätietoja](openPremiumSettings) mukautettujen emojien käyttämisestä. Poista suosikeista {count} vapaana + Tuo emoji oli liian iso! Emojien koon on oltava alle {maxSize} kt. Lue lisää klikkaamalla {count} Voit lisätä käyttäjiä tähän yksityiseen ketjuun @mainitsemalla heitä. @@ -2482,10 +2479,18 @@ Kopioi linkki Avaa selaimessa Jaa linkki + Lisää kanava suosikiksi + Lisää yksityiskeskustelu suosikiksi + Lisää ryhmäkeskustelu suosikiksi Sinulle ei mahdu enempää suosikkeja. Lisää suosikkeihin + Toivotetaan uusi Discord-ominaisuus ”suosikit” tervetulleeksi! Voit nyt lisätä kanavia, puhekeskusteluja ja yksityiskeskusteluja suosikeiksesi niiden pikavalikoiden kautta. + Suosikit + Siirry alkuperäiselle palvelimelle + Suosikit Suosikkeja voi olla enintään {count}. Oi ei! + Tämä nimi näkyy vain omissa suosikeissasi. Muut Kuvaile ongelmasi Ongelmasi @@ -2547,6 +2552,7 @@ Laskee muiden sovelluksien äänenvoimakkuutta tämän prosenttiosuuden verran, kun joku puhuu. Aseta nollaan prosenttiin, jos haluat poistaa vaimennuksen käytöstä. Ketjut arkistoidaan, kun toimettomuutta on kestänyt määritetty aika. Jos merkkivalo palaa tasaisesti vihreänä, Discord lähettää kaunista puhettasi. + KAIKKI BITIT! {bitrate} kb/s:n ylitys voi haitata heikkotasoisia yhteyksiä käyttäviä. Kun käytät Discordin sertifioimaa mikrofonia, mikrofoni tekee tietyt äänenkäsittelytoiminnot Discordin sijasta. Muuta tietosuoja-asetuksia ja mukauta jäsenten tapaa käyttää tätä kanavaa. Tallentaa kaikki seuraavan puhe-/videoyhteyden muodostamisen yhteydessä vastaanotetut RTP-tiedot vianmääritystä varten. @@ -2739,6 +2745,7 @@ Testaa oma mikrofoni Tekstistä puheeksi Tekstistä puheeksi -ilmoitukset + Poista uusien tapahtumien mykistys Poista mykistys: **!!{name}!!** Tekstiruutu Käyttäjärajoitus @@ -2778,6 +2785,7 @@ Palvelimen jäsenet Hyväksy Peruuta + Kaveripyyntö on peruttu. Jokin meni vikaan kaveripyyntöjä lähetettäessä. Voit yrittää uudelleen kaveriluettelosta. Jokin meni vikaan lähetettäessä kaveripyyntöä käyttäjälle !!{name}!!. Voit yrittää uudelleen kaveriluettelosta. Kaveripyyntö epäonnistui @@ -3097,6 +3105,9 @@ Katsoo tätä: {username} Siirry kanavalle Selvä + Ostoksessasi on ilmennyt ongelma. Odota hetki ja yritä uudelleen. + Oi ei! + Google Play -palveluihin ei voida muodostaa yhteyttä. Odota hetki ja yritä uudelleen. Myönnä väliaikainen jäsenyys Vihreä Harmaa @@ -3144,9 +3155,9 @@ Tämä näyttää mahtavalta! Lue lisää Ehkä myöhemmin - Nostatus tasolle 1 parantaa äänenlaadun 96 kb/s:sta 128 kb/s:ssa. - Nostatus tasolle 2 parantaa äänenlaadun 128 kb/s:sta 256 kb/s:ssa. - Nostatus tasolle 3 parantaa äänenlaadun 256 kb/s:sta 384 kb/s:ssa. + Hanki sulava äänentoisto, jolla äänet tuntuvat kuuluvan samasta huoneesta, etenemällä nostatustasolle 1. + Hanki sulava äänentoisto, jolla äänet tuntuvat kuuluvan samasta huoneesta, etenemällä nostatustasolle 2. + Nosta äänentoiston 256 kb/s:sta 384 kb/s:ssa etenemällä nostatustasolle 3. Tiesitkö, että voit parantaa äänenlaatua nostatuksilla? 100 palvelimen raja on täyttynyt Kaksinkertaista liityttävissä olevien palvelimien määräksi 200 palvelinta. @@ -3196,6 +3207,7 @@ Aiheita pelaamisesta musiikkiin, oppimiseen ja kaikkeen muuhun. Löydä oma paikkasi. Etsi oma yhteisösi Discordista Seuraa päivityksiä + Löydä yhteisösi Etsi yhteisöjä Suositut yhteisöt !!{username}!!, saatat pitää näistä palvelimista @@ -3314,18 +3326,40 @@ Luo {count} {number} + Sinä voit kirjoittaa niitä! + Tällä palvelimella ei ole vielä suosituimpia viestejä. + Lataa sivu uudelleen tai tarkista [tilasivumme]({url}). + Hupsista. Törmäsit todella harvinaiseen virheeseen. + Katso tapahtumat päivittämällä näkymä + Siinä kaikki tällä erää! Mutta lisää saattaa olla luvassa… + Avaa viesti kanavalta !!{channelName}!! sivupalkissa + {maxReplies}+ vastausta {numReplies} + Lataa uudelleen Suosituimmat viestit + Olet nähnyt kaikki suosituimmat viestit edellisen 2 viikon ajalta. + Olet ajan tasalla Kansion väri Kansion nimi !!{folderName}!!, kansio {mentions} !!{folderName}!!, kansio {mentions}, !!{expandedState}!! Nimetön palvelimen kansio Kansioasetukset on tallennettu! + Aloitussivu Tämä on beetatestissä oleva uusi alusta, joka auttaa sinut pysymään selvillä siitä, mitä palvelimellasi tapahtuu. Aloitussivu – !!{guildName}!! + Vaihda palvelimen profiilibanneri + Muokkaa tämän palvelimen Tietoja minusta -osiota napauttamalla + Muokkaa tämän palvelimen Tietoja minusta -osiota + Jos jätät tämän tyhjäksi, ensisijaista Tietoja minusta -osiotasi käytetään. + Lisää Tietoja minusta -osio tälle palvelimelle napauttamalla Biografia palvelimelle !!{guildName}!! + Vaihda palvelimen profiilibanneri + Poista palvelinkohtainen avatar + Palvelinprofiilin banneri + Palauta oletusbanneri Tarvitsetko muuta? Nitrolla saat täydet palvelinprofiilin mukautustoiminnot käyttöösi. + Lataa palvelimen profiilibanneri Voit valita haluamasi avatarin, bannerin ja biografian erikseen kullekin palvelimellesi sekä käyttää animoituja avatareja ja monia muita etuja [Discord Nitrolla](onAndMore). Ilmaise itseäsi palvelinprofiileilla Kutsu palvelimille @@ -3359,6 +3393,8 @@ Vahvistuslinkki on vanhentunut. Vahvistus onnistui. Vahvistetaan pyyntöäsi. + Näytä palvelinasetukset + Täällä on aika vilkasta! Pohdi, kannattaisiko jäsenten elämää helpottaa muuttamalla tämän palvelimen oletusilmoitusasetukseksi **Vain @maininnat**. Ilmoita kaikille @everyone Ilmoita myös kaikille (@everyone), että tapahtuma on alkamassa. $[Kerro kaikille (@everyone), että esitys on alkamassa.](tooltipHook) [Ota käyttöön](toggleClick) @@ -3582,6 +3618,8 @@ $[**!!{user}!!**](userHook) teki muutoksia kohteeseen $[**!!{target}!!**](targetHook) Aseta yhteisöpalvelimen päivitysten kanavaksi **!!{newValue}!!** Yhteisöpalvelimen päivitysten kanava on **tyhjennetty** + Aseta mukautetuksi kutsulinkiksi **!!{newValue}!!** + Mukautettu kutsulinkki **poistettu** Asetti palvelimen vahvistustasoksi **Korkea** Asetti palvelimen vahvistustasoksi **Matala** Asetti palvelimen vahvistustasoksi **Keskitaso** @@ -3741,7 +3779,6 @@ Suosittelemme vahvasti pitämään tämän asetuksen vain @maininnoissa julkisissa Discord-palvelimissa. Tämän palvelimen koon takia jäsenet eivät saa mobiililaiteilmoituksia muista kuin @maininnoista. Poista palvelinhaku käytöstä - Jos poistat jäsenvaatimukset käytöstä, ihmiset voivat liittyä yhteisöösi hyväksymättä sen sääntöjä tai ilman manuaalista hyväksyntääsi. Oletko varma? Vain palvelimen järjestelmänvalvojat voivat ottaa palvelinhaun käyttöön tai poistaa sen käytöstä. Valvojien kaksivaiheisen todennuksen vaatimus käytössä @@ -3794,6 +3831,10 @@ Yhteisötoimintojen poistaminen käytöstä poistaa palvelimen palvelinhausta. Tämä palvelin on poistettu palvelinhausta. Palvelin ei täyttänyt seuraavia vaatimuksia, joten se on poistettu automaattisesti palvelinhausta. Voit kuitenkin liittyä edelleen mukaan, kun palvelimesi jälleen täyttää kaikki vaatimukset. Aktiivisuusvaatimusten tilastot lasketaan uudelleen viikoittain. + Tämä toiminto näyttää käyttäjille, jotka napsauttavat keskustelussa näkyvää palvelimesi mukautettua emojia tai tarraa, tiedot, joiden avulla he voivat liittyä palvelimellesi. + Poista emoji-/tarratiedot käytöstä + Ota emoji-/tarratiedot käyttöön + Näytä emojin/tarran tiedot sitä napsautettaessa Kasvata yhteisöäsi palvelinhaun avulla Discord käsittelee tämän palvelimen ensisijaisena valittua kieltä puhuvien käyttäjien hauissa. Kun olet mukana [palvelinhaussa](onLinkClick), kuka tahansa käyttäjä voi löytää palvelimesi ja liittyä sille. @@ -3808,6 +3849,7 @@ Alaluokat Nimi Syötä nimi + Voit lisätä jopa {count} mukautettua emojia, joita jokainen voi käyttää tällä palvelimella. Animoidut GIF-emojit ovat kaikkien Discord Nitron tilaajien käytettävissä. Emojien nimien pitää sisältää vähintään kaksi merkkiä, joiden on oltava numeroita, kirjaimia tai alaviivoja. Emojien koon tulee olla alle {maxSize} kt. Nostata palvelimesi tasolle {level}, niin saat lisää emojipaikkoja! Tason {level} emojit menetetty Nostata palvelimesi tasolle {level} tai osta lisätaso, jotta saat avattua emojit! @@ -3854,6 +3896,8 @@ Ketjujen arkistointi 1 viikon jälkeen Luo yksityisiä ketjuja Animoitu palvelinbanneri + Palvelimen mukautettu kutsulinkki + {bitrate} kb/s:n äänenlaatu +{adding} palvelimen emoji-paikkaa (yhteensä {total}) +{adding} mukautettujen tarrojen paikkaa (yhteensä {total}) Latausrajaksi {fileSize} kaikille jäsenille @@ -4593,6 +4637,14 @@ !!{name}!! – emoji !!{name}!! – kuvake !!{name}!! – logo + Mitä kanavat ovat? + Kanavat ovat paikkoja, joissa voit keskustella kirjoittamalla tai puhumalla, pelata pelejä ja tehdä monia muita juttuja. Kaikilla palvelimilla on kanavaluettelo, jota selaamalla voit seurata, mitä palvelimella tapahtuu. + Yksityisviestit + Yksityisviestit ovat erillisiä palvelimista. Voit aloittaa keskustelun kaverin kanssa kätevästi lähettämällä hänelle yksityisviestin tai luoda enintään 10 henkilön ryhmäkeskustelun. + Tarvitsetko edelleen apua? + Etkö löytänyt etsimääsi tietoa? [Katso lisätietoja ohjekeskuksestamme]({helpCenterUrl}). + Mikä palvelin on? + Palvelimet ovat paikkoja, joissa voit hengailla kavereidesi kanssa ja tavata ihmisiä. Useimmat palvelimet ovat yksityisiä ja niihin voi liittyä vain kutsusta. luokassa !!{categoryName}!! Pelinsisäiset ääniasetukset Puhekanavalla @@ -4611,6 +4663,7 @@ Kiinnostunut Ei kiitos Kun ne ladataan suoraan Discordiin + Esikatselua ei näytetä, kun kuvan koko on suurempi kuin {maxSize} Mt. Kun ne lähetetään keskusteluun linkkeinä Näytä kuvat, videot ja kissakuvat Syöttölaite @@ -4682,6 +4735,7 @@ Tällä sovelluksella ei ole komentoja. Tällä sovelluksella ei ole webhookeja tällä palvelimella. Käyttöoikeuksien korvausten enimmäismäärä on täyttynyt. + Käyttöoikeuksien enimmäismäärä on täyttynyt. Poista {removeCount} oikeutta, jos haluat tehdä uusia muutoksia. Poista integrointi Haluatko varmasti, että **!!{applicationName}!!** poistetaan? On ilmennyt sisäinen palvelinvirhe. @@ -4841,6 +4895,7 @@ Lisätään kavereita! Kutsu ihmisiä Nyt tarkkana! Kutsumasi kaverit näkevät viestihistoriasi. + Tämä kanava on yksityinen, vain valituilla jäsenillä ja rooleilla on oikeus tarkastella tätä kanavaa. Hae kavereita Kutsu lähetetty !!{maxAge}!!, !!{maxUses}!! @@ -4851,6 +4906,7 @@ Tai lähetä kutsulinkki striimiin kaverille Kutsu striimiin Kutsu palvelimelle + Kutsu kavereita palvelimelle **!!{name}!!** Kutsuosoite Liity puhekanavalle Tervetuloa uudelle palvelimellesi! @@ -5002,6 +5058,7 @@ Erota Erota Erota jäseniä + Jäsenien erottaminen ja jäsenhakemusten hyväksyntä ja hylkäys Erota !!{user}!! Haluatko varmasti erottaa käyttäjän !!{user}!! palvelimelta? Hän voi liittyä takaisin uudella kutsulla. !!{user}!! on erotettu palvelimelta. @@ -6182,9 +6239,21 @@ Peruutetaanko !!{planPremiumType}!!? Nitron ja palvelinnostatusten tilausten peruutus tulee voimaan välittömästi. DiscordTagisi vaihtuu satunnaisesti, jos olet muuttanut sitä. Unohdetaan koko juttu, pidän Nitron + Unohdetaan koko juttu, pidän Nitron **2 ilmaista nostatusta** ja **30 %%:n alennus nostatuksista** {boostCount} **30 %%:n alennus nostatuksista** + 2 ilmaista nostatusta ja 30 %%:n alennus nostatuksista + Mukautettuja emojien ja tarrojen käyttö kaikkialla + Profiiliherkut ja mukautettu tagi + Korkean tarkkuuden ja 60 fps:n videostriimaus + striimausta {month} aikana + tuntia + HD-laadun videostriimaus + Tiedostojen latausrajan nosto 100 Mt:un + suuremmat tiedostot + lähetettyä {month} aikana + Suuremmat tiedostojen latauskoot Oikeus käyttää **mukautettuja emojeita** ja **tarroja** kaikilla omilla palvelimilla Oikeus käyttää **mukautettuja emojeita** kaikilla omilla palvelimilla **Animoitu avatar**, **profiilibanneri** ja mukautettu **DiscordTag** @@ -6305,15 +6374,21 @@ Aktiiviset palvelimen nostatukset {numSubscriptions} saatavana Pahoittelut, mutta emme tällä hetkellä tue palveluntarjoajan !!{paymentGatewayName}!! kautta ostettujen nostatusten peruuttamista. Jos haluat peruuttaa nostatuksen, käytä palveluntarjoajan [!!{paymentGatewayName}!! tilaustenhallintaa]({subscriptionManagementLink}). + Haluatko varmasti peruuttaa tämän palvelimen nostatuksen? Murskaamme tämän hienouden tuhannen päreiksi. Se poistetaan siihen liitetyiltä palvelimilta ja perutaan tilauksestasi, kun laskutuskautesi päättyy **{endDate}**. + Haluatko varmasti peruuttaa palvelimen nostatuksen tavaraluettelostasi? Murskaamme tämän hienouden tuhannen päreiksi. Se poistetaan siihen liitetyiltä palvelimilta ja perutaan tilauksestasi, kun laskutuskautesi päättyy **{endDate}**. Kyllä, peruuta nostatus Tilauksesi maksu on myöhässä. Päivitä maksutietosi ennen kuin hallinnoit nostatuksia. Tämä nostatus sisältyy Nitro-tilauksesi Peruuta nostatus Tätä nostatusta peruutettaessa ilmeni virhe. + **{subscriptionCount}** {subscriptionCount} peruttu + Tämä palvelimen nostatuksen tilaus perutaan Nitro- tai Nitro Classic -laskutuskauden päätteeksi **{endDate}**. Tilauksesi muutokset näkyvät alla: Peruuta palvelimen nostatus Peruuta palvelimen nostatus palvelimelta Peruuta palvelimen nostatus tavaraluettelosta Nostatuksen peruutus käynnissä + Olemme valmiita täräyttämään tämän hienon nostatuksen tuhannen päreiksi. Tämä nostatus perutaan **{endDate}**. **Tämän nostatus on edelleen käytettävissä siihen asti, kunnes se romutetaan!** + Nostatus peruttu. {date} Nostattaja alkaen {date} ({months}) Kun yritimme ottaa nostatusta käyttöön, ilmeni virhe. Yritä uudelleen. @@ -6385,13 +6460,18 @@ Kasvata tiedostojen latausrajaksi 100 Mt Kerro kaikille palvelimestasi palvelimen bannerilla Tehopäivityksiä: isommat tiedostojen latauskoot, parempi äänenlaatu ja paljon muuta! + Tehopäivityksiä: animoitu palvelimen kuvake, lisää ketjuvaihtoehtoja ja paljon muuta! + Tehopäivityksiä: isommat tiedostojen latauskoot, palvelinbanneri, mukautetut roolikuvakkeet ja paljon muuta! + Tehopäivityksiä: mukautettu kutsulinkki, lisää emojipaikkoja ja animoitu palvelinbanneri. Aseta kullekin palvelimen roolille yksilöllinen kuvake Käytä ruudunjakoa 1080p-tarkkuudella ja 60 fps:n nopeudella Ruudunjako 720p-tarkkuudella ja 60 fps:n nopeudella Lataa mukautettuja tarroja kaikkien käyttöön Lataa palvelimelle jopa {numStickers} mukautettua tarraa ja {numEmojis} mukautettua emojia + Lataa palvelimelle jopa {numStickers} mukautettua tarraa Ketjujen pidennetty arkistointiaika Luo yksityisiä ketjuja + Lisää uusia jäseniä helposti lähettämällä heille mukautettu kutsulinkki Tavoite: {levelName} Auta avaamaan tason {levelName} edut ostamalla nostatuksia! Tämä palvelin on avannut kaikki nostatusedut! @@ -6530,6 +6610,7 @@ Tilauksesi Tähän muutokseen sisältyy arvonsiirtoja, alennuksia ja hyvityksiä. Nämä ovat voimassa olevat tilauksesi. Ne laskutetaan samassa laskutussyklissä. + {planName} peruttu Tilauksen !!{planName}!! hyvitys Hyvitys huomioidaan kerran, kun rekisteröit tilauksen (!!{planName}!!). Tämän hyvityksen voi käyttää työpöytäsovelluksessa ostettuun palvelun !!{planName}!! tilaukseen. @@ -6711,8 +6792,11 @@ Profiilitoiminnot Oman yksilöidyn bannerin lataus palvelimelle ja paljon muuta Discord Nitrolla! $[](renderTimeHook) kulunut + Suositeltu vähimmäiskoko on 600 x 240 ja kuvasuhde 5:2. Hyväksyttyjä tiedostotyyppejä ovat PNG, JPG ja GIF-animaatiot. Kerro itsestäsi muille tällä palvelimella + Älä tallenna Tallennetaanko muutokset? + Olet tehnyt muutoksia. Haluatko tallentaa ne ennen poistumista tältä sivulta? Vain Nitrossa Esikatselu Käyttäjämerkit @@ -6873,6 +6957,7 @@ Peruuta jäähy Poista !!{user}!! jäähyltä Poista !!{user}!! ketjusta + Poista mukautettu kutsulinkki Näytä keskusteluun liitetyt upotukset ja verkkosivustojen esikatselulinkit Upotukset ja linkkien esikatselut Näytä emojireaktiot viesteissä @@ -7009,11 +7094,13 @@ Palvelimen kaikkien jäsenten oletuskäyttöoikeudet Roolikuvake, {name} Valitse kuva + Lataa alle 256 kt:n kuva tai valitse mukautettu emoji tältä palvelimelta. Suosittelemme vähintään 64 x 64 kuvapisteen kokoista kuvaa. Jäsenet näkevät korkeimman roolinsa mukaisen kuvakkeen, jos heillä on useita rooleja. Lue lisää Kohteen {name} mukautettu roolikuvake. Tämä ominaisuus on osa palvelimen nostatusta. Emoji Lataa kuva Selaa tiedostoja + Tiedosto on liian suuri. Valitse enintään 256 kt:n kokoinen .png- tai .jpg-tiedosto. Valitse palvelimelle ladattava PNG- tai JPG-kuva Roolin tunnus kopioitu: {role} Jäsenet käyttävät sen roolinsa väriä, joka on korkeimpana tällä listalla. Voit järjestellä rooleja uudelleen vetämällä niitä. @@ -7089,6 +7176,7 @@ Jäsenten näille kanaville jakamissa linkeissä voidaan näyttää upotettua sisältöä. Jäsenten tälle kanavalle jakamissa linkeissä voidaan näyttää upotettua sisältöä. Käyttöoikeuksia ei löytynyt + Erottamalla voi poistaa jäseniä tältä palvelimelta. Erotetut jäsenet voivat liittyä takaisin, jos he saavat voimassa olevan uuden kutsun. Jos palvelin ottaa jäsenvaatimukset käyttöön, tämä käyttöoikeus oikeuttaa myös hyväksymään ja hylkäämään jäsenten liittymispyyntöjä. Jäsenet voivat poistaa muita jäseniä palvelimelta. Poistetut jäsenet voivat liittyä takaisin, jos heillä on voimassa oleva kutsu. Jäsenet voivat muuttaa näiden kanavien nimiä, kuvauksia ja teksti-/puheasetuksia. Lisäksi he voivat poistaa nämä kanavat. (Pakollinen esityksen valvojalle.) Jäsenet voivat aloittaa esityksen asettamalla sen aiheen ja ottaa puhevuoropyynnöt käyttöön tai poistaa ne käytöstä. Jäsenet voivat myös poistaa esityskanavan. @@ -7561,11 +7649,15 @@ Yhdysmerkki on ainoa sallittu erikoismerkki. Tunnisteet tulevat tähän. Palvelinhaussa voit etsiä nimen, kuvauksen ja tunnisteiden perusteella. Voit lisätä enintään 10 tunnistetta. + Yli {count} jäsenen palvelimet ovat nyt kelpoisia liittymään palvelinhakuun. + Kasvata yhteisöäsi nopeammin Palvelimen emoji Sulje kaikki kansiot Merkitse kansio luetuksi + Mykistä kaikki kansion palvelimet Palvelimen kansio Kansioasetukset + Poista kaikkien kansion palvelimien mykistys Palvelinanalyysi Tämä palvelin on tällä hetkellä täynnä. Mykistä palvelin @@ -7588,6 +7680,9 @@ Vianmäärityslokiasetuksen muuttaminen sulkee Discordin ja käynnistää sen uudelleen. Haluatko varmasti tehdä tämän? Määritä linkki pysyväksi Aseta tila + Tämä ominaisuus ei ole käytettävissä palvelimellasi. + Sinulla ei ole tämän ominaisuuden käyttöoikeutta. + Määritä vähintään yksi tekstikanava kaikkien jäsenten käytettävissä olevaksi ennen kuin määrität mukautetun kutsulinkin. Asetukset Edistynyt Lisää se! @@ -8412,6 +8507,9 @@ Rekisteröimätön tili Poista hiljennys Kumoa + Poista kanava suosikeista + Poista yksityiskeskustelu suosikeista + Poista ryhmäkeskustelu suosikeista Poista suosikeista Poista keskittyminen tähän henkilöön Valitettavasti laitteestasi ei löydy sovellusta tämän linkin käsittelemiseen: @@ -8810,6 +8908,10 @@ Sinun täytyy ottaa radiopuhelintila käyttöön, jotta voit puhua tällä kanavalla. Radiopuhelintila vaadittu Mukautettu kutsulinkki + Muista, että mukautetut kutsulinkit toimivat vain, kun vähintään yksi tekstikanava on kaikkien jäsenten käytettävissä. + Mukautettu kutsulinkki ({uses}) + Tee palvelimestasi helppopääsyinen hienolla mukautetulla kutsulinkillä, jonka voit itse valita. Tämä tekee palvelimesi julkisesti tavoitettavissa olevan kelle tahansa, joka käyttää tätä linkkiä. + Muista, että voimme perua mukautettuja kutsulinkkejä, jos havaitsemme väärinkäyttöä tai jos niissä ilmenee tavaramerkkirikkomuksia. Tämä palvelin on nyt kaikkien käytettävissä osoitteessa **!!{url}!!** Tämä palvelin on nyt kaikkien käytettävissä osoitteessa [!!{urlText}!!]({urlValue}) personoitu-osoite diff --git a/app/src/main/res/values-fr/plurals.xml b/app/src/main/res/values-fr/plurals.xml index 4e490556af..061bf53e8d 100644 --- a/app/src/main/res/values-fr/plurals.xml +++ b/app/src/main/res/values-fr/plurals.xml @@ -944,6 +944,14 @@ {#} boost appliqué {#} boosts appliqués + + {#} mois + {#} mois + + + {#} mois + {#} mois + {#} boost {#} boosts @@ -1040,6 +1048,10 @@ {#} boost {#} boosts + + boost de serveur annulé + boosts de serveur annulés + {#} mois {#} mois @@ -1433,6 +1445,10 @@ 1 autre {count} autres + + 1 utilisation + {uses} utilisations + 1 utilisation {uses} utilisations diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 21484a17fe..e7e2405523 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -1196,6 +1196,7 @@ Changer l\'avatar du serveur Changer l\'icône Modifier le profil du serveur + Avatar et bannière de profil Bio du serveur Si tu laisses la case vide, ta bio principale sera utilisée. Présente-toi à ce serveur @@ -1203,6 +1204,7 @@ Avec Discord Nitro, utilise un avatar différent sur chacun de tes serveurs et bien plus ! Pseudo (Désactivé) Tu peux changer la façon dont les autres te voient dans ce serveur en personnalisant ton pseudo et ton avatar de serveur. + Rétablir l\'avatar par défaut Erreur inconnue Changer l\'avatar du serveur Avec **Discord Nitro**, utilise un avatar différent sur chacun de tes serveurs et bien plus ! @@ -1230,6 +1232,7 @@ Changer le mot de passe Changer le numéro de téléphone ? Changer l\'arrière-plan + Le lien d\'invitation personnalisé n\'a pas pu être changé car il contient des caractères invalides, est trop court ou est déjà pris. Les liens d\'invitation personnalisés ne peuvent contenir que des lettres, des chiffres et des traits d\'union. Contenu des notes de mise à jour Montre notre nouvelle page d\'accueil à un ami ! Nous sommes là pour faire bonne impression. En savoir plus @@ -1245,16 +1248,6 @@ Participants Le salon a été supprimé. En-tête du salon - Informations du salon - Rendre muet empêche tout type d\'indicateurs et notifications d\'apparaître à moins que tu ne sois mentionné(e). - Nom - Notifications - Détails - Sujet - Modifier - Tes paramètres - Masquer les informations du salon - Afficher les informations du salon Ton rôle n\'a pas la permission d\'accéder à ce salon. Salon verrouillé Permissions synchronisées avec la catégorie : **{categoryName}** @@ -1362,6 +1355,7 @@ Enregistrer Effacer Supprimer les pièces jointes + Supprimer la dérogation de version Effacer le texte Clique pour en savoir plus Dupliquer le salon @@ -1938,6 +1932,7 @@ !!{a}!!, !!{b}!!, et {n} sont actuellement dans un salon vocal. Personne n\'est actuellement dans un salon vocal. Couleurs personnalisées + Rappelle-toi que les liens d\'invitation personnalisés fonctionnent uniquement si au moins un salon textuel est accessible à tous les membres. Statut personnalisé Supprimer ultérieurement Supprimer le statut @@ -2266,6 +2261,7 @@ une activité Commence à jouer avec tes amis dans un salon vocal ! NOUVEAU ! Activités + Joue avec tes amis gratuitement dans n\'importe quel salon vocal. Débloque des Activités en plus grâce aux boosts ! une autre activité Émoji Ajouter aux favoris @@ -2315,6 +2311,7 @@ Cet émoji vient soit d\'un serveur privé, soit d\'un serveur indisponible. [En savoir plus](openPremiumSettings) sur l\'utilisation des émojis personnalisés. Retirer des favoris {count} + Cet émoji est trop volumineux ! Les émojis ne doivent pas dépasser {maxSize} ko. Clique pour en savoir plus {count} Utilise @mention pour ajouter des utilisateurs dans ce fil privé. @@ -2487,10 +2484,18 @@ Copier le lien Ouvrir dans un navigateur Partager le lien + Ajouter le salon aux favoris + Ajouter le MP aux favoris + Ajouter le groupe privé aux favoris Tu ne peux pas avoir plus de favoris. Favori + Découvre ta nouvelle fonctionnalité  « favorite » de Discord ! Ajoute des favoris en marquant d\'une étoile des salons, chats vocaux et MPs dans leurs menus contextuels. + Favoris + Aller sur le serveur original + Favoris Tu ne peux pas avoir plus de {count} favoris. Oh non ! + Ce nom n\'apparaîtra que dans tes favoris. Divers Décris ton problème Ton problème @@ -2552,6 +2557,7 @@ Diminue de ce pourcentage le volume des autres applications lorsque quelqu\'un parle. Paramètre cette valeur à 0 %% pour désactiver complètement l\'atténuation. Les fils seront archivés après une période d\'inactivité spécifiée. Si l\'indicateur est vert, cela signifie que Discord transmet ta magnifique voix. + TOUS LES OCTETS ! Dépasser {bitrate} ko/s peut avoir un impact négatif pour ceux qui ont une mauvaise connexion. En utilisant un micro certifié par Discord, certaines fonctionnalités du traitement de la voix ne sont plus gérées par Discord, mais par le micro lui-même. Modifie les paramètres de confidentialité et personnalise la façon dont les membres peuvent interagir avec ce salon. Enregistre toutes les données RTP reçues pour la prochaine connexion vidéo ou vocale à des fins de débugage. @@ -2744,6 +2750,7 @@ Tester mon micro Synthèse vocale (TTS) Notifications TTS + Rétablir les notifications des nouveaux événements Rétablir les notifications de **!!{name}!!** Zone de texte Limite d\'utilisateurs @@ -2783,6 +2790,7 @@ Les membres du serveur Accepter Annuler + Demande d\'ami annulée. Hm, une erreur s\'est produite lors de l\'envoi des demandes d\'ami. Tu peux toujours réessayer plus tard à partir de ta demande d\'ami. Hm, une erreur s\'est produite lors de l\'envoi de la demande d\'ami à !!{name}!!. Tu peux toujours réessayer plus tard à partir de ta demande d\'ami. Échec de l\'envoi de la demande d\'ami @@ -3102,6 +3110,9 @@ Regarde {username} Aller dans le salon Compris + Une erreur est survenue lors de ton achat. Attends quelques instants et réessaye. + Oh non ! + Impossible de se connecter aux Services Google Play. Attends quelques instants et réessaye. Accorder le statut de membre provisoire Vert Gris @@ -3149,8 +3160,8 @@ Ça a l\'air génial ! En savoir plus Peut-être plus tard - Booste au niveau 1 aujourd\'hui et propulse ta qualité audio de 96 ko/s à 128 ko/s. - Booste au niveau 2 aujourd\'hui et propulse ta qualité audio de 128 ko/s à 256 ko/s. + Booste au niveau 1 pour une qualité audio supérieure afin d\'avoir l\'impression d\'être tous dans la même pièce. + Booste au niveau 2 pour une qualité audio supérieure afin d\'avoir l\'impression d\'être tous dans la même pièce. Booste au niveau 3 aujourd\'hui et propulse ta qualité audio de 256 ko/s à 384 ko/s. Sais-tu que tu peux bénéficier d\'une meilleure qualité audio grâce aux boosts ? Tu as atteint la limite de 100 serveurs rejoints @@ -3201,6 +3212,7 @@ Des jeux vidéo à la pédagogie, en passant par la musique, tu trouveras toujours chaussure à ton pied. Trouve ta communauté sur Discord Suivre les mises à jour + Trouve ta communauté Rechercher des communautés Communautés populaires !!{username}!!, ces serveurs pourraient te plaire @@ -3320,24 +3332,39 @@ {count} {number} Mais tu pourrais en écrire ! - Ce serveur n\'a pas encore de meilleurs messages. + Ce serveur n\'a pas encore de messages plus populaires. Rafraîchis la page ou consulte notre [page d\'état des services]({url}). Oups ! Une erreur très rare s\'est produite. Rafraîchis pour voir ce qu\'il se passe C’est tout pour le moment ! Mais attends, peut-être que ce n’est pas fini… Ouvrir le message de !!{channelName}!! dans l\'encadré + {maxReplies}+ réponses {numReplies} + Rafraîchir Plus populaires + Tu as vu tous les messages plus populaires des 2 dernières semaines. + Tu es à jour  Couleur du dossier Nom du dossier !!{folderName}!!, dossier {mentions} !!{folderName}!!, dossier {mentions}, !!{expandedState}!! Dossier de serveur sans nom Paramètres du dossier sauvegardés ! + Accueil Ceci est une nouvelle fonctionnalité actuellement en test bêta, elle t\'aidera à te tenir au courant de ce qu\'il se passe dans ton serveur. Accueil - !!{guildName}!! + Changer la bannière de profil du serveur + Touche pour modifier ta bio pour ce serveur + Modifier ta bio pour ce serveur + Si tu laisses la case vide, ta bio principale sera utilisée. + Touche pour ajouter une bio pour ce serveur Bio du serveur de !!{guildName}!! + Modifier la bannière de profil du serveur + Supprimer l\'avatar du serveur + Bannière de profil du serveur + Rétablir la bannière par défaut Tu en veux encore plus ? Nitro permet de personnaliser complètement ton profil de serveur. + Ajouter une bannière de profil du serveur Avec [Discord Nitro](onAndMore), affiche-toi comme tu veux et utilise un avatar, une bannière et une description différents sur chacun de tes serveurs, débloque des avatars animés et plus encore ! Exprime-toi complètement avec les profils de serveur Inviter sur les serveurs @@ -3371,6 +3398,8 @@ Le lien de vérification a expiré. Vérification réussie. Vérification de ta demande. + Voir les paramètres du serveur + Ça s\'active par ici ! Tu pourrais envisager de changer les paramètres de notification par défaut de ce serveur pour **@mentions seulement** afin d\'aider tes membres. Notifier @everyone Préviens aussi @everyone lorsque l\'événement commence. $[Dire à @everyone que la conférence commence.](tooltipHook) [Activer](toggleClick) @@ -3594,6 +3623,8 @@ $[**!!{user}!!**](userHook) a apporté des modifications à $[**!!{target}!!**](targetHook) A défini **!!{newValue}!!** comme salon de mises à jour du serveur de communauté A **supprimé** le salon de mises à jour du serveur de communauté + A changé le lien d\'invitation personnalisé pour **!!{newValue}!!** + A **supprimé** le lien d\'invitation personnalisé A réglé le niveau de vérification du serveur sur **Élevé** A réglé le niveau de vérification du serveur sur **Faible** A réglé le niveau de vérification du serveur sur **Moyen** @@ -3753,7 +3784,6 @@ Nous recommandons de paramétrer ceci uniquement sur les @mentions pour un Discord public. En raison de la taille de ce serveur, les membres ne recevront de notifications push que pour les messages à @mention. Désactiver Découverte de serveurs - Si tu désactives les conditions pour devenir membre, n’importe qui pourra rejoindre ta communauté sans avoir à accepter des règles ou à attendre que tu acceptes leur candidature manuellement. Veux-tu vraiment continuer ? Seuls les administrateurs peuvent activer ou désactiver la Découverte de serveurs. A2F obligatoire pour la modération activée @@ -3806,6 +3836,10 @@ Désactiver Communauté retirera également ton serveur de Découverte de serveurs. Ce serveur a été retiré de Découverte. Ce serveur ne remplissait pas les critères ci-dessous et il a été retiré de Découverte automatiquement. Pas d\'inquiétude, tu pourras y réapparaître après une nouvelle évaluation positive. L\'activité est réévaluée chaque semaine. + Cela fait apparaître des informations lorsque quelqu\'un clique sur un émoji ou autocollant personnalisé de ton serveur dans n\'importe quelle discussion. Les utilisateurs pourront voir et rejoindre ton serveur grâce aux informations affichées. + Désactiver les informations d\'émoji et d\'autocollant + Activer les informations d\'émoji et d\'autocollant + Afficher les informations d\'un émoji/autocollant lorsque quelqu\'un clique dessus Fais grandir ta communauté avec la Découverte de serveurs Discord mettra en priorité ce serveur dans les résultats de recherche des utilisateurs parlant la langue sélectionnée. Si ton serveur est affiché dans la [Découverte de serveurs](onLinkClick), tout le monde peut le trouver et le rejoindre. @@ -3820,6 +3854,7 @@ Sous-catégories Alias Entre un alias + Ajoute jusqu\'à {count} émojis personnalisés que n\'importe qui peut utiliser dans ce serveur. Les GIF d\'émojis animés peuvent être utilisés par les utilisateurs possédant Discord Nitro. Les noms d\'émojis doivent comporter au moins 2 caractères et ne peuvent contenir que des caractères alphanumériques et des tirets bas. Les émojis ne doivent pas dépasser une taille de {maxSize} ko. Boost ton serveur au niveau {level} pour débloquer plus d\'emplacements d\'émoji ! Émojis de niveau {level} perdus Booste ton serveur au niveau {level} ou achète un niveau pour débloquer tes émojis ! @@ -3866,6 +3901,8 @@ Option archive pour fils de 1 semaine Créer des fils privés Bannière de serveur animée + Lien d\'invitation personnalisé pour le serveur + qualité audio : {bitrate} ko/s + {adding} emplacements d\'émoji du serveur (pour un total de {total}) +{adding} emplacements d\'autocollant personnalisé (pour un total de {total}) Limite de téléchargement pour tous les membres : {fileSize} @@ -4605,6 +4642,14 @@ Émoji !!{name}!! Icône !!{name}!! Logo !!{name}!! + Qu\'est-ce qu\'un salon ? + Les salons sont des endroits où tu peux discuter, passer en vocal, jouer et plus encore. Chaque serveur comporte une liste de salons que tu peux faire défiler pour voir ce qu\'il s\'y passe. + Messages privés + Les messages privés sont différents des serveurs. Tu peux MP un ami de manière privée pour discuter ou créer un groupe privé avec jusqu\'à 10 personnes. + Tu as toujours besoin d\'aide ? + Tu ne trouves pas ce que tu cherches ? [Consulte notre centre d\'assistance]({helpCenterUrl}) pour en savoir plus. + Qu\'est-ce qu\'un serveur ? + Les serveurs sont des endroits où tu peux retrouver tes amis et faire de nouvelles rencontres. La plupart des serveurs sont privés et ne peuvent être accédés qu\'avec une invitation. dans !!{categoryName}!! Paramètres vocaux en jeu Dans le salon vocal @@ -4623,6 +4668,7 @@ Intéressé(e) Non merci Lorsqu\'ils sont uploadés directement dans Discord + Il n\'y aura pas d\'aperçu pour les images plus volumineuses que {maxSize} Mo. Lorsqu\'ils sont envoyés comme liens dans le salon Afficher les images, vidéos et lolcats Périphérique d\'entrée @@ -4694,6 +4740,7 @@ Cette application n\'a pas de commandes. Cette application n\'a pas de webhook dans ce serveur. Tu as atteint le nombre maximum d\'écrasements de permissions. + Tu as atteint le nombre maximal de permissions. Supprimes-en {removeCount} afin d\'effectuer des changements additionnels. Supprimer l\'intégration Tu es sûr(e) de vouloir supprimer **!!{applicationName}!!** ? Une erreur de serveur interne est survenue. @@ -4853,6 +4900,7 @@ Ajoutons des amis ! Inviter des gens Attention ! Les amis que tu invites peuvent voir l\'historique de tes messages précédents. + Ce salon est privé et seuls certains membres et rôles peuvent le voir. Rechercher des amis Invitation envoyée !!{maxAge}!!, !!{maxUses}!! @@ -4863,6 +4911,7 @@ Ou, envoyer un lien d\'invitation au stream à un ami Inviter dans le stream Inviter sur le serveur + Inviter des amis sur !!{name}!!** URL d\'invitation Rejoindre un salon vocal Bienvenue sur ton nouveau serveur ! @@ -5014,6 +5063,7 @@ Expulser Expulser Expulser des membres + Expulser, accepter et refuser les membres Expulser !!{user}!! Tu es sûr(e) de vouloir expulser !!{user}!! du serveur ? Il/Elle pourra revenir avec une nouvelle invitation. \'!!{user}!!\' a été expulsé(e) du serveur. @@ -6193,9 +6243,20 @@ Résilier !!{planPremiumType}!! ? La résiliation prendra effet immédiatement pour tout abonnement Nitro ou Boosts de serveur. Ton Discord Tag sera régénéré aléatoirement si tu l\'as changé. Tout compte fait, garder Nitro + Tout compte fait, garder Nitro tes **2 boosts gratuits** et tes **30 %% de réduction sur les boosts** {boostCount} Ta **réduction de 30 %% sur les boosts** + 2 boosts gratuits et un rabais de 30%% + Utilisation d\'émojis ou d\'autocollants personnalisés partout + Un profile stylé et un tag personnalisé + Streaming de vidéo haute définition à 60 FPS + de stream en {month} + Streaming de vidéo haute définition + Une limite d\'upload plus importante de 100 Mo + fichiers volumineux + envoyés en {month} + Uploads de fichiers plus volumineux ton accès aux **émojis personnalisés** et aux **autocollants** sur l\'ensemble de tes serveurs Ton accès aux **émojis personnalisés** sur l\'ensemble de tes serveurs un **avatar animé**, une **bannière de profil**, et un **Discord Tag** personnalisé @@ -6316,15 +6377,21 @@ Boosts de serveur actifs {numSubscriptions} disponibles Malheureusement, nous ne supportons pas actuellement l\'annulation de boosts achetés via !!{paymentGatewayName}!!. Tu peux annuler ton boost depuis l\'outil de gestion des abonnements de [!!{paymentGatewayName}!!]({subscriptionManagementLink}). + Tu es sûr(e) de vouloir annuler ce boost de serveur ? On va le réduire en miettes. Il sera retiré des serveurs associés et il disparaîtra de ton abonnement à la fin de ta période de facturation : **{endDate}**. + Tu es sûr(e) de vouloir annuler un boost de serveur depuis ton inventaire ? On va le réduire en miettes. Il sera retiré des serveurs associés et il disparaîtra de ton abonnement à la fin de ta période de facturation : **{endDate}**. Oui, annuler le boost Ton abonnement est échu. Mets à jour tes informations de paiement avant de pouvoir gérer tes boosts. Ce boost est inclus dans ton abonnement Discord Nitro Annuler le boost Une erreur s\'est produite lorsque tu as tenté d\'annuler ce boost. + **{subscriptionCount}** {subscriptionCount} + Cet abonnement de boost de serveur sera annulé à la fin de ta période de facturation Nitro ou Nitro Classic, le **{endDate}**. Les changements apportés à ton abonnement apparaissent ci-dessous : Annuler le boost de serveur Annuler le boost de serveur depuis un serveur Annuler le boost de serveur depuis l\'inventaire Annulation de boost en attente + Très bien, ce boost sera bientôt de l\'histoire ancienne. Ce boost sera résilié le : **{endDate}**. **Tu peux continuer à utiliser ce boost tant qu\'il n\'est pas détruit !** + Boost annulé ! {date} Vous boostez depuis {date} ({months}) Une erreur s\'est produite lorsque tu as tenté d\'offrir ton boost. Essaie à nouveau. @@ -6396,13 +6463,18 @@ Augmentation de limite d\'upload de fichiers jusqu\'à 100 Mo Montre à tout le monde le thème de ton serveur avec une bannière de serveur Des fonctionnalités incroyables : de plus grands volumes d\'upload, une meilleure qualité audio et plus encore ! + Des fonctionnalités incroyables : une icône de serveur animée, des options de fil supplémentaires et plus encore ! + Des fonctionnalités incroyables : des tailles d\'upload plus importantes, une bannière de serveur, des icônes de rôles personnalisées et plus encore ! + Des fonctionnalités incroyables : un lien d\'invitation personnalisé, des emplacements d\'émojis en plus et une bannière de serveur animée. Définis une icône unique pour chaque rôle sur ce serveur Partage d\'écran en 1080p/60ips Partage d\'écran en 720 p/60 IPS Mettre des autocollants personnalisés à la disposition de tous Upload jusqu\'à {numStickers} autocollants personnalisés et {numEmojis} émojis personnalisés + Upload jusqu\'à {numStickers} autocollants personnalisés Des options d\'archives plus longues pour les fils Créer des fils privés + Ajoute facilement de nouveaux membres avec un lien d\'invitation personnalisé Objectif : {levelName} Achète des boosts pour aider à débloquer des avantages de {levelName} ! Ce serveur a débloqué tous les avantages de boost ! @@ -6541,6 +6613,7 @@ Tes abonnements Cet ajustement inclut le prorata, les rabais et les remboursements. Voilà tes abonnements actuels. Ils te seront facturés lors de cette période de facturation. + {planName} annulé Crédit de !!{planName}!! Ce crédit sera appliqué dès que tu auras souscrit à un abonnement !!{planName}!!. Ce crédit ne peut s\'appliquer qu\'à un abonnement !!{planName}!! souscrit via le bureau. @@ -6722,8 +6795,11 @@ Actions du profil Uploade ta propre bannière personnalisée et bien plus avec Discord Nitro ! Temps écoulé : $[](renderTimeHook) + La taille minimale recommandée est de 600x240 et le format recommandé est le 5:2. Les types de fichiers acceptés sont les suivants : PNG, JPG et GIF animés. Présente-toi à ce serveur + Ne pas enregistrer Enregistrer les modifications ? + Tu as effectué des modifications. Veux-tu les enregistrer avant de quitter cette page ? Exclusivité Nitro Aperçu Badges d\'utilisateur @@ -6884,6 +6960,7 @@ Arrêter d’exclure Réintégrer « !!{user}!! » Retirer !!{user}!! du fil + Supprimer le lien d\'invitation personnalisé Montre les intégrations et les aperçus des liens envoyés dans la discussion Intégrations et aperçus de lien Montrer les réactions émojis sur les messages @@ -7020,11 +7097,13 @@ Permissions par défaut pour tous les membres du serveur Icône de rôles, {name} Choisir une image + Upload une image de taille inférieure à 256 Ko ou choisis un émoji personnalisé sur ce serveur. Nous te recommandons une taille minimum de 64x64 pixels. Les membres avec plusieurs rôles verront l\'icône pour leur rôle le plus élevé. En savoir plus Icône de rôle personnalisée pour {name}. Cette fonctionnalité fait partie du Boost de serveur. Émoji Uploader une image Parcourir les fichiers + Oh non ! Le fichier est trop volumineux. Sélectionne un fichier .png ou .jpg de taille inférieure à 256 Ko. Choisis un fichier PNG ou JPG à uploader ID copié pour le rôle : {role} Les membres utilisent la couleur du rôle le plus élevé qu\'ils ont dans cette liste. Fais glisser les rôles pour les réorganiser. @@ -7100,6 +7179,7 @@ Autorise les liens partagés par les membres à afficher du contenu intégré dans ces salons. Autorise les liens partagés par les membres à afficher du contenu intégré dans ce salon. Aucune permission trouvée + L\'expulsion retirera d\'autres membres de ce serveur. Les membres expulsés pourront rejoindre le serveur de nouveau s\'ils ont une autre invitation. Si le serveur active les conditions pour devenir membre, cette permission permet d\'accepter ou de rejeter les candidatures pour devenir membre. Permet aux membres de supprimer les autres membres de ce serveur. Les membres expulsés pourront revenir à condition de recevoir une nouvelle invitation. Permet aux membres de changer le nom, la description et les paramètres vocaux/textuels de ces salons. Les membres pourront également supprimer les salons. (Requis pour les modérateurs de conférence) Permet aux membres de définir un sujet pour commencer la conférence et activer ou désactiver les demandes de prise de parole. Ils peuvent aussi supprimer le salon de conférence. @@ -7570,11 +7650,15 @@ Le tiret est le seul caractère spécial autorisé. C\'est ici que vont les tags. Dans la Découverte de serveurs, tu peux effectuer une recherche par nom, description et tags. Tu peux en ajouter dix maximum. + Les serveurs avec {count}+ membres sont maintenant éligibles pour rejoindre la découverte de serveurs. + Fais grandir ta communauté plus rapidement Émojis du serveur Fermer tous les dossiers Marquer le dossier comme lu + Rendre muets tous les serveurs dans le dossier Dossier du serveur Paramètres du dossier + Rétablir les notifications de tous les serveurs dans le dossier Analyses de serveur Ce serveur est actuellement plein. Rendre muet sur le serveur @@ -7597,6 +7681,9 @@ Modifier le mode de journalisation du débugage fermera puis relancera Discord. Tu es sûr(e) de vouloir faire ça ? Paramétrer ce lien pour qu\'il n\'expire jamais Définir le statut + Ton serveur n\'a pas accès à cette fonctionnalité. + Tu n\'as pas accès à cette fonctionnalité. + Un salon textuel doit d\'abord être accessible à tous les membres avant de définir un lien d\'invitation personnalisé. Paramètres Avancés Ajoute-le ! @@ -8420,6 +8507,9 @@ Compte non enregistré Rétablir le son Annuler + Retirer le salon des favoris + Retirer le MP des favoris + Retirer le groupe privé des favoris Enlever des favoris Mettre cette personne à l\'arrière-plan Désolé, aucune application sur ton appareil n\'a été trouvée pour traiter ce lien : @@ -8818,6 +8908,10 @@ La fonction Appuyer-pour-parler doit être activée pour que tu puisses parler dans ce salon. Appuyer-pour-parler requis Lien d\'invitation personnalisé + Rappelle-toi que les liens d\'invitation personnalisés fonctionnent uniquement si au moins un salon textuel est accessible à tous les membres. + Lien d\'invitation personnalisé ({uses}) + Rends ton serveur facile d\'accès avec un joli lien d\'invitation personnalisé de ton choix. Il est à noter que ton serveur sera publiquement accessible à tous ceux utilisant ce lien. + N\'oublie pas que nous pouvons retirer les liens d\'invitations personnalisés si nous découvrons un abus ou s\'il y a un conflit de propriété intellectuelle. Ton serveur est désormais accessible à tous via **!!{url}!!** Ton serveur est désormais accessible à tous via [!!{urlText}!!]({urlValue}) ton-url-ici diff --git a/app/src/main/res/values-hi/plurals.xml b/app/src/main/res/values-hi/plurals.xml index 969e1d4f29..1ba58e3cb3 100644 --- a/app/src/main/res/values-hi/plurals.xml +++ b/app/src/main/res/values-hi/plurals.xml @@ -944,6 +944,14 @@ {#} बूस्ट अप्लाई किया गया {#} बूस्ट्स अप्लाई किए गए + + {#} महीना + {#} महीने + + + {#} महीना + {#} महीने + {#} बूस्ट {#} बूस्ट्स @@ -1040,6 +1048,10 @@ {#} बूस्ट {#} बूस्ट्स + + सर्वर बूस्ट + सर्वर बूस्ट्स + {#} महीना {#} महीने @@ -1432,6 +1444,10 @@ 1 और {count} और + + 1 इस्तेमाल + {uses} इस्तेमाल + 1 इस्तेमाल करें {uses} इस्तेमाल करते हैं diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index c096741f90..3c2dd0892f 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -1196,6 +1196,7 @@ सर्वर का अवतार बदलें आइकन बदलें सर्वर प्रोफ़ाइल को एडिट करें + अवतार और प्रोफ़ाइल बैनर सर्वर बायो अगर खाली छोड़ा जाता है, तो आपका मेन बायो इस्तेमाल किया जाएगा. इस सर्वर को अपने बारे में कुछ बताएं @@ -1203,6 +1204,7 @@ Discord Nitro के साथ अपने हर सर्वर में अलग-अलग अवतार का इस्तेमाल करें और भी बहुत कुछ करें! निकनेम (ऑफ़ है) अब सर्वर का निकनेम और अवतार सेट करके, आप दूसरो के लिए सर्वर में अपने दिखने के तरीके को बदल सकते हैं. + डिफ़ॉल्ट अवतार रीसेट करें अनजान गड़बड़ी सर्वर का अवतार बदलें **Discord Nitro** के साथ अपने हर सर्वर में अलग-अलग अवतार का इस्तेमाल और भी बहुत कुछ करें! @@ -1225,6 +1227,7 @@ पासवर्ड बदलें फ़ोन नंबर बदलें? बैकग्राउंड बदलें + कस्टम इनवाइट लिंक को चेंज नहीं किया जा सकता क्योंकि इसमें इनवैलिड करैक्टर हैं, बहुत छोटा है, या पहले से ही लिया जा चुका है. कस्टम इनवाइट लिंक में सिर्फ लेटर, नंबर या डैश शामिल हो सकते हैं. चैंजलॉग कंटेंट अपने दोस्तों को हमारा नया होम पेज दिखाएं हम यहां अच्छा इम्प्रेशन देने के लिए हैं. ज़्यादा जानें @@ -1240,16 +1243,6 @@ प्रतिभागी चैनल को डिलीट कर दिया गया है. चैनल हैडर - चैनल की जानकारी - जब तक बताया नहीं जाए म्यूटिंग पढ़े नहीं गए इंटिकेटर्स और नोटिफिकेशन को दिखाई देन से रोकती है. - नाम - नोटिफिकेशन - जानकारी - टॉपिक - एडिट करें - आपकी सेटिंग्स - चैनल की जानकारी छिपाएं - चैनल की जानकारी दिखाएं आपके रोल के पास इस चैनल को एक्सेस करने की परमिशन नहीं है. चैनल लॉक कर दिया गया है इस कैटेगरी के साथ परमिशन सिंक किए गए: **{categoryName}** @@ -1357,6 +1350,7 @@ क्लेम करें क्लियर करें अटैचमेंट क्लियर करें + बिल्ड ओवरराइड क्लियर करें टेक्स्ट मिटाएं ज़्यादा जानने के लिए क्लिक करें चैनल क्लोन करें @@ -1933,6 +1927,7 @@ फ़िलहाल voice पर !!{a}!!, !!{b}!!, और {n} हैं. फ़िलहाल voice पर कोई नहीं है. कस्टम कलर + ध्यान रखें कि कस्टम इनवाइट लिंक्स के लिए एक टेक्स्ट चैनल की ज़रूरत होती है, जिससे सभी मेम्बर्स इसे ऐक्सेस कर सकें और ये काम कर सके. कस्टम स्टेटस के बाद साफ़ करें स्टेटस साफ़ करें @@ -2261,6 +2256,7 @@ एक एक्टिविटी अब वॉइस में एक साथ खेलना शुरू करें! नई! एक्टिविटी + किसी भी वॉयस चैनल में फ़्री में एक साथ खेलें. बूस्टिंग के साथ और भी एक्टिविटी को अनलॉक करें! दूसरी एक्टिविटी इमोजी पसंदीदा में ऐड करें @@ -2310,6 +2306,7 @@ यह इमोजी किसी निजी (प्राइवेट) या अनुपलब्ध सर्वर का है. [कस्टम इमोजी का इस्तेमाल करने के बारे में](openPremiumSettings) और अधिक जानें. पसंदीदा में से रिमूव करें {count} उपलब्ध है + वह इमोजी बहुत बड़ी थी! इमोजी {maxSize} KB से कम होनी चाहिए. ज़्यादा जानने के लिए क्लिक करें {count} @mention यूज़र्स को इस प्राइवेट थ्रेड में जोड़ने के लिए. @@ -2482,10 +2479,18 @@ लिंक कॉपी करें ब्राउज़र में खोलें लिंक शेयर करें + पसंदीदा चैनल + पसंदीदा DM + पसंदीदा ग्रुप DM आप और ज़्यादा फेवरिट नहीं रख सकते. पसंदीदा + आपके पसंदीदा नए Discord फ़ीचर्स में आपका स्वागत है! चैनल, वॉइस चैट्स और DM को उनके कॉंटेक्स्ट मेन्यू के ज़रिए स्टार देकर पसंदीदा को ऐड करें. + पसंदीदा + मूल सर्वर पर जाएं + पसंदीदा आप {count} से ज़्यादा फेवरिट नहीं रख सकते. अरे नहीं! + यह नाम सिर्फ़ आपके पसंदीदा में ही दिखाई देगा. अन्य अपनी समस्या बताएं आपकी समस्या @@ -2547,6 +2552,7 @@ जब कोई बोल रहा हो तो इस एप्लिकेशन से दूसरे एप्लिकेशन की वॉल्यूम कम करें. अटेन्यूएशन को पूरी तरह से ऑफ करने के लिए 0%% पर सेट करें. किसी खास समय अवधि में इनएक्टिवेट रहने के बाद थ्रेड्स अर्काइव हो जाएंगे. अगर इंडिकेटर चटक हरे रंग का है, तो मतलब Discord आपकी मीठी आवाज ट्रांसमिट कर रहा है. + ऑल द बेस्ट! {bitrate} kbps से ऊपर जाने पर खराब कनेक्शन की वजह से लोगों पर प्रतिकूल प्रभाव पड़ सकता है. Discord सार्टिफाइड माइक्रोफ़ोन का इस्तेमाल करते समय कुछ वॉयस प्रोसेसिंग फ़ीचर को Discord द्वारा ही नहीं बल्कि माइक्रोफ़ोन द्वारा भी नियंत्रित किए जाते है. प्राइवेसी सेटिंग बदलें और मेम्बर्स इस चैनल में कैसे इंटरैक्ट करें इसे कस्टमाइज़ करें. डि-बगिंग के लिए अगले वॉइस/वीडियो कनेक्शन के लिए रिसीव किए गए सभी RTP डेटा रिकॉर्ड करें. @@ -2739,6 +2745,7 @@ मेरे माइक्रोफ़ोन का टेस्ट करें टेक्सट से स्पीच में टेक्सट से स्पीच में नोटिफिकेशन + नए इवेंट्स को अनम्यूट करें **!!{name}!!** को अनम्यूट करें टेक्स्ट बॉक्स यूज़र सीमा @@ -2778,6 +2785,7 @@ सर्वर मेम्बर एक्सेप्ट करें कैंसल करें + फ्रेंड रिक्वेस्ट कैंसल कर दी गई है. ओह, फ्रेंड रिक्वेस्ट्स भेजते समय कुछ गड़बड़ी हुई. आप बाद में फ्रेंड्स लिस्ट में जाकर फिर से कोशिश कर सकते हैं. ओह, !!{name}!! को फ्रेंड रिक्वेस्ट भेजते समय कुछ गड़बड़ी हुई. आप बाद में फ्रेंड्स लिस्ट में जाकर फिर से कोशिश कर सकते हैं. फ्रेंड रिक्वेस्ट नहीं गई @@ -3097,6 +3105,9 @@ {username} देख रहे हैं चैनल पर जाएं समझ गए + आपकी खरीद में कोई दिक्कत हुई है. कृपया इंतज़ार करें और फिर से कोशिश करें. + अरे नहीं! + Google Play सर्विसेस से कनेक्ट नहीं कर पा रहे हैं. कृपया इंतज़ार करें और फिर से कोशिश करें. अस्थायी मेम्बरशिप दें हरा ग्रे @@ -3144,9 +3155,9 @@ यह बढ़िया लग रहा है! और ज़्यादा जानें शायद बाद में कभी - लेवल 1 पर आज ही बूस्ट करें और अपनी ऑडियो क्वालिटी को 96kbps से 128kbps तक बूस्ट करें. - लेवल 2 पर आज ही बूस्ट करें और अपनी ऑडियो क्वालिटी को 128kbps से 256kbps तक बूस्ट करें. - लेवल 3 पर आज ही बूस्ट करें और अपनी ऑडियो क्वालिटी को 256kbps से 384kbps तक बूस्ट करें. + बेहतर ऑडियो के लिए लेवल 1 पर बूस्ट करें ताकि आप महसूस कर सकें कि आप एक ही रूम में हैं. + बेहतर ऑडियो के लिए लेवल 2 पर बूस्ट करें ताकि आप महसूस कर सकें कि आप एक ही रूम में हैं. + लेवल 3 पर आज ही बूस्ट करें और अपनी ऑडियो क्वालिटी को 256 kbps से 384 kbps तक बूस्ट करें. क्या आपको पता है कि बूस्टिंग से आपकी ऑडियो क्वालिटी बेहतर हो सकती है? आप 100 सर्वर लिमिट पर हैं सर्वर्स की संख्या दोगुनी हो गई है, अब आप 200 सर्वर तक जॉइन कर सकते हैं. @@ -3196,6 +3207,7 @@ गेमिंग और म्यूज़िक से लेकर कुछ और सीखने तक यहां आपके लिए कुछ न कुछ है. Discord पर अपनी कम्युनिटी ढूंढें अपडेट फ़ॉलो करें + अपनी कम्युनिटी ढूंढें कम्युनिटी खोजें जानी-मानी कम्युनिटी !!{username}!!, आपको शायद ये सर्वर पसंद आएंगे @@ -3314,18 +3326,40 @@ क्रिएट करें {count} {number} + लेकिन आप कोई मैसेज नहीं लिख सकते! + इस सर्वर में अभी तक कोई भी टॉप मैसेज नहीं हैं. + कृपया पेज को फिर से लोड करें या हमारे [स्टेट्स पेज]({url}) को चेक करें. + ओह! आप एक अल्ट्रा रेयर एरर में फंस गए हैं. + क्या हो रहा है यह देखने के लिए रीफ़्रेश करें + फ़िलहाल के लिए बस इतना ही! लेकिन, रूकिए, कुछ और भी हो सकता है… + साइडबार में !!{channelName}!! से मैसेज ओपन करें + {maxReplies}+ जवाब {numReplies} + फिर से लोड करें टॉप मैसेज + आपने पिछले 2 हफ़्ते के सारे टॉप मैसेज देख लिए हैं. + आपने सबकुछ देख लिया है फोल्डर का रंग फोल्डर का नाम !!{folderName}!!, फोल्डर {mentions} !!{folderName}!!, फोल्डर {mentions}, !!{expandedState}!! बिना किसी नाम का सर्वर फोल्डर फ़ोल्डर सेटिंग्स सेव की गई! + होम यह एक नया सरफ़ेस है आपके सर्वर पर क्या हो रहा है इसके बारे में आपको जानकारी देने के लिए हम बीटा टेस्टिंग कर रहे हैं. होम - !!{guildName}!! + सर्वर प्रोफ़ाइल बैनर बदलें + इस सर्वर के लिए मेरे बारे में एडिट करने के लिए टैप करें + इस सर्वर के लिए मेरे बारे में एडिट करें + अगर खाली छोड़ा जाता है, तो आपका डिफ़ॉल्ट मेरे बारे में इस्तेमाल किया जाएगा. + इस सर्वर के लिए मेरे बारे में ऐड करने के लिए टैप करें !!{guildName}!! के लिए सर्वर बायो + सर्वर प्रोफ़ाइल बैनर बदलें + सर्वर अवतार डिलीट करें + सर्वर प्रोफ़ाइल बैनर + डिफ़ॉल्ट बैनर रीसेट करें और ज़्यादा चाहिए? Nitro के साथ फुल सर्वर प्रोफ़ाइल कस्टमाइज़ेशन पाएं. + सर्वर प्रोफ़ाइल बैनर अपलोड करें वो बनें जो आप बनना चाहते हैं और [Discord Nitro!](onAndMore) के साथ अपने हर सर्वर में अलग-अलग अवतार, बैनर और बायो का इस्तेमाल करें, एनिमेटेड अवतार अनलॉक करें और भी बहुत कुछ करें. सर्वर प्रोफ़ाइल के साथ खुद को पूरी तरह से एक्सप्रेस करें सर्वर पर इनवाइट करें @@ -3359,6 +3393,8 @@ वेरिफ़िकेशन लिंक एक्स्पायर हो गया है. वेरिफ़िकेशन सफल रहा है. आपका अनुरोध वेरीफ़ाई हो रहा है. + सर्वर सेटिंग्स देखें + यहां काफ़ी बिज़ी है! हमारे मेम्बर्स को मदद करने के लिए इस सर्वर की डिफ़ॉल्ट नोटिफ़िकेशन सेटिंग को सर्वर **@mentions only** पर बदलने को ध्यान में रखते हुए. @everyone नोटिफ़ाई करें चलो @everyone को इस इवेंट के स्टार्ट होने के बारे में जानकारी दें. $[@everyone को बताएं कि स्टेज स्टार्ट हो रहा है.](tooltipHook) [स्टार्ट करें](toggleClick) @@ -3582,6 +3618,8 @@ $[**!!{user}!!**](userHook) ने $[**!!{target}!!**](targetHook) में बदलाव किए हैं कम्युनिटी सर्वर अपडेट चैनल को **!!{newValue}!!** पर सेट करें कम्युनिटी सर्वर अपडेट चैनल **क्लियर हो गया** + **!!{newValue}!!** पर कस्टम इनवाइट लिंक सेट करें + कस्टम इनवाइट लिंक को **रिमूव किया गया** सर्वर वेरिफिकेशन लेवल को **ज़्यादा** पर सेट करें सर्वर वेरिफिकेशन लेवल को **कम** पर सेट करें सर्वर वेरिफिकेशन लेवल को **मीडियम** पर सेट करें @@ -3741,7 +3779,6 @@ हम पुराज़ोर सुझाव देते हैं कि पब्लिक Discord के लिए इसे सिर्फ़ @mentions पर सेट करें. इस सर्वर के साइज़ के कारण, मेम्बर को नॉन-@mention मैसेज के लिए मोबाइल पुश नोटिफ़िकेशन नहीं मिलेगा. डिस्कवरी को ऑफ करें - मेम्बर शर्तों को बंद करने का मतलब है कि लोग नियमों को स्वीकार किए बिना या आपके मैन्युअल अप्रूवल के बिना आपकी कम्युनिटी को जॉइन कर सकते हैं. क्या आपको यकीन है? केवल सर्वर एडमिनिस्ट्रेटर ही डिस्कवरी को इनेबल और डिसेबल कर सकते हैं. मॉडरेशन के लिए 2FA की जरूरत को इनेबल कर दिया गया है @@ -3794,6 +3831,10 @@ कम्युनिटी को डिसेबल करने से आपका सर्वर भी सर्वर डिस्कवरी से रिमूव हो जाएगा. आपका सर्वर डिस्कवरी से हटा दिया गया है. आपका सर्वर नीचे दी गई शर्तों को पूरा नहीं कर पाया और उसे ऑटोमेटिक रूप से डिस्कवरी से हटा दिया गया है. चिंता ना करें, आप फिर से सर् की ज़रूरतों को पास करके दोबारा जॉइन कर सकते हैं. एक्टिविटी की शर्तों को हर हफ़्ते फिर से कैलकुलेट किया जाता है. + किसी चैट में आपके सर्वर से किसी कस्टम इमोजी या स्टिकर पर क्लिक करने पर यह जानकारी दिखाता है. दिखाई देने वाली जानकारी के ज़रिए यूज़र आपके सर्वर को देख सकेंगे और जॉइन कर सकेंगे. + इमोजी/स्टिकर की जानकारी डिसेबल करें + इमोजी/स्टिकर की जानकारी इनेबल करें + क्लिक करने पर इमोजी/स्टिकर की जानकारी दिखाएं सर्वर डिस्कवरी के साथ अपनी कम्युनिटी बढ़ाएं Discord सर्च और रेकमेंडेशन्स में सलेक्ट की गई भाषा को बोलने वाले यूज़र्स के लिए इस सर्वर को पहले रखेगा. [सर्वर डिस्कवरी](onLinkClick) में लिस्ट होने से कोई भी आपके सर्वर को खोज और उससे जुड़ सकता है. @@ -3808,6 +3849,7 @@ सबकैटेगरी उपनाम उपनाम डालें + अपने {count} तक कस्टम इमोजी जोड़ें जिनका इस्तेमाल इस सर्वर पर कोई भी कर सके. एनिमेटेड GIF इमोजी का इस्तेमाल Discord Nitro वाले मेम्बर्स कर सकते हैं. इमोजी के नाम में कम से कम 2 कैरेक्टर होने चाहिए और इसमें अल्फ़ान्यूमेरिक कैरेक्टर और अंडरस्कोर हो सकते हैं. इमोजी का साइज़ {maxSize} KB से कम होना चाहिए. और ज़्यादा इमोजी स्लॉट अनलॉक करने के लिए अपने सर्वर को {level} लेवल पर बूस्ट करें! लेवल {level} इमोजी खो गई है अपने सर्वर को {level} लेवल तक बूस्ट करें या अपनी इमोजी को अनलॉक करने के लिए कोई लेवल खरीदें! @@ -3854,6 +3896,8 @@ थ्रेड्स के लिए 1 हफ्ते का आर्काइव ऑप्शन प्राइवेट थ्रेड क्रिएट करें एनिमेटेड सर्वर बैनर + सर्वर के लिए कस्टम इनवाइट लिंक + {bitrate} kbps ऑडियो क्वालिटी +{adding} सर्वर इमोजी स्लॉट (कुल {total} के लिए) +{adding} कस्टम स्टीकर स्लॉट (कुल {total}के लिए) सभी मेम्बर के लिए {fileSize} अपलोड लिमिट @@ -4593,6 +4637,14 @@ !!{name}!! इमोजी !!{name}!! आइकन !!{name}!! लोगो + चैनल क्या होते हैं? + चैनल पर आप बात कर सकते हैं, वॉइस में हाप कर सकते हैं, गेम्स खेल सकते हैं और भी बहुत कुछ कर सकते हैं. हरेक सर्वर में एक चैनल लिस्ट होती है क्या चल रहा है यह देखने के लिए इसे स्क्रोल कर सकते हैं. + डायरेक्ट मैसेज + डायरेक्ट मैसेज सर्वर से अलग होते हैं. आप अपने किसी फ्रेंड के साथ फटाफट चैट करने के लिए प्राइवेट तरीके से DM कर सकते हैं या 10 लोगों तक का एक ग्रुप DM बना सकते हैं. + क्या अभी भी मदद चाहिए? + जो आप चाहते है वो नहीं मिल रहा है? [ज़्यादा जानकारी के लिए हमारे सहायता केंद्र]({helpCenterUrl}) पर जाएं. + सर्वर क्या होता है? + सर्वर ऐसी जगह होती है जहां आप अपने फ्रेंड्स के साथ हैंगआउट कर सकते हैं और लोगों से मिल सकते हैं. ज़्यादातर सर्वर प्राइवेट और इनवाइट आधारित होते हैं. !!{categoryName}!! में इन-गेम वॉयस सेटिंग वॉयस चैनल में हैं @@ -4611,6 +4663,7 @@ इंटरेस्टेड जी नहीं, धन्यवाद सीधे Discord पर अपलोड किए जाने पर + {maxSize} MB से बड़ी इमेज प्रीव्यू नहीं होगी. चैट के लिंक के तौर पर पोस्ट किए जाने पर इमेज, वीडियो और लोलकैट को डिस्प्ले करें इनपुट डिवाइस @@ -4682,6 +4735,7 @@ इस एप्लिकेशन में कोई कमांड नहीं है. इस एप्लिकेशन में इस सर्वर में कोई वेबहुक नहीं है. आप परमिशन ओवरराइट की अधिकतम सीमा तक पहुंच गए हैं. + आप अधिकतम परमिशन ले चुके हैं. आगे बदलाव करने के लिए उनमें से {removeCount} को रिमूव करें. इंटीग्रेशन रिमूव करें क्या आप वाकई **!!{applicationName}!!** को रिमूव करना चाहते हैं? इंटरनल सर्वर एरर हुआ है. @@ -4841,6 +4895,7 @@ चलो कुछ दोस्तों को ऐड करते हैं! लोगो को इनवाइट करें हेड्स अप! आप जिन फ्रेंड्स को इनवाइट करेंगे वे आपके पिछले मैसेज का इतिहास देख सकेंगे. + यह चैनल प्राइवेट है, सिर्फ़ सलेक्ट मेम्बर्स और रोल्स ही इस चैनल को देख सकते हैं. फ्रेंड्स के लिए सर्च करें इनवाइट भेज दिया गया !!{maxAge}!!, !!{maxUses}!! @@ -4851,6 +4906,7 @@ या किसी फ्रेड को स्ट्रीम का इनवाइट लिंक भेजें स्ट्रीम के लिए इनवाइट करें सर्वर पर इनवाइट करें + **!!{name}!!** के लिए फ्रेंड्स को इनवाइट करें URL इनवाइट करें जॉइन वॉइस आपके नए सर्वर में स्वागत है! @@ -5002,6 +5058,7 @@ किक करें किक करें मेम्बर किक करें + मेम्बर्स को किक करें, अप्रूव करें और रिजेक्ट करें !!{user}!! किक करें क्या आप वाकई में !!{user}!! को सर्वर से बाहर निकालना चाहते हैं? वो नए इनवाइट के साथ फिर से जॉइन कर सकेंगे. \'!!{user}!!\' को सर्वर से किक कर दिया गया है. @@ -6182,9 +6239,21 @@ !!{planPremiumType}!! कैंसल करें? कैंसलेशन किसी भी Nitro और सर्वर बूस्ट सब्सक्रिप्शन के लिए तुरंत लागू हो जाएगा. अगर आपने इसे बदल दिया है, तो आपका Discord Tag रैंडम हो जाएगा. कोई बात नहीं, Nitro को बनाए रखें + कोई बात नहीं, Nitro के साथ बने रहें आपके **2 फ़्री बूस्ट्स** और **30%% बूस्ट डिस्काउंट** {boostCount} आपका **30%% बूस्ट डिस्काउंट** + 2 फ़्री बूस्ट्स और 30%% डिस्काउंट + कस्टम इमोजी और स्टिकर्स का हर जगह इस्तेमाल करना + प्रोफ़ाइल स्वैग और कस्टम टैग + हाई डेफ़िनेशन, 60FPS स्ट्रीमिंग वीडियो + आपने {month} स्ट्रीम किया है + घंटे + HD वीडियो स्ट्रीमिंग + फ़ाइल अपलोड लिमिट 100MB तक बढ़ाई गई + बड़ी फ़ाइले + आपने {month} भेजा है + बड़ी फ़ाइल को अपलोड कर सकते हैं अपने सभी सर्वर पर **कस्टम इमोजी** और **स्टीकर** का एक्सेस अपने सभी सर्वर पर **कस्टम इमोजी** को ऐक्सेस करें एक **एनिमेटेड अवतार**, **प्रोफ़ाइल बैनर**, और कस्टम किया गया **Discord Tag** @@ -6305,15 +6374,21 @@ एक्टिव सर्वर बूस्ट्स {numSubscriptions} उपलब्ध माफ़ करें, इस समय हम !!{paymentGatewayName}!! के ज़रिए खरीदे गए बूस्ट को कैंसल करना समर्थित नहीं करते. आप अपने बूस्ट [!!{paymentGatewayName}!! के सब्सक्रिप्शन मैनेजमेंट]({subscriptionManagementLink}) के ज़रिए कैंसल करा सकते हैं, लेकिन सब्सक्रिप्शन अपनी समय सीमा समाप्त होने तक सक्रिय रहेगा. + क्या आप वाकई इस सर्वर बूस्ट को कैंसल करना चाहते हैं? हम इस जेम को स्मैश करके टुकड़े कर देंगे. इसे संबंधित सर्वरों से रिमूव कर दिया जाएगा और आपकी बिलिंग अवधि के आखिर में आपके सब्सक्रिप्शन में से कैंसल कर दिया जाएगा: **{endDate}**. + क्या आप वाकई अपनी इन्वेंट्री में से किसी सर्वर बूस्ट को कैंसल करना चाहते हैं? हम इस जेम को स्मैश करके टुकड़े कर देंगे. इसे संबंधित सर्वरों से रिमूव कर दिया जाएगा और आपकी बिलिंग अवधि के आखिर में आपके सब्सक्रिप्शन में से कैंसल कर दिया जाएगा: **{endDate}**. हां, बूस्ट कैंसल करें आपके सब्सक्रिप्शन का पेमेंट बकाया है. कृपया बू्स्ट मैनेज करने से पहले अपनी पेमेंट की जानकारी अपडेट करें. यह बूस्ट आपके Nitro सब्सक्रिप्शन में शामिल है बूस्ट को कैंसल करें इस बूस्ट को कैंसल करते हुए एक एरर आ गया. + **{subscriptionCount}** {subscriptionCount} कैंसल कर दिए गए + इस सर्वर बूस्ट सब्सक्रिप्शन को आपके Nitro या Nitro Classic की बिलिंग अवधि के आखिर में कैंसल कर दिया जाएगा, **{endDate}**. आपके सब्सक्रिप्शन के बदलाव नीचे दिखाई दे रहे हैं: सर्वर बूस्ट को कैंसल करें किसी सर्वर से सर्वर बूस्ट को कैंसल करें इन्वेन्टरी में से सर्वर बूस्ट कैंसल करें पेंडिंग कैंसलेशन को बूस्ट करें + ठीक है, हम आपके लिए इस बूस्ट जेम को स्मैश करने के लिए तैयार हैं. यह बूस्ट इस तारीख को कैंसल किया जाएगा: **{endDate}**. **जब तक इस बूस्ट को ख़त्म नहीं किया जाता है आप इसका इस्तेमाल कर सकते हैं!** + बूस्ट कैंसल किया गया! {date} {date} ({months}) से बूस्ट कर रहे हैं बूस्ट करने की कोशिश के दौरान एक गड़बड़ी हुई. कृपया फिर से कोशिश करें. @@ -6380,18 +6455,23 @@ बूस्टिंग से पॉवरफ़ुल फ़ीचर्स और अपग्रेड अनलॉक होते हैं जो सर्वर में सभी के मनोरंजन के लिए होते हैं. बूस्ट दें और पाएं: ज़्यादा मज़ेदार एक्टिविटीज़ को एक्सेस करें! एनिमेटेड सर्वर आइकन के साथ सबसे अलग दिखें - ऑडियो क्वालिटी {targetQuality} Kbps तक बढ़ा दी गई + ऑडियो क्वालिटी {targetQuality} kbps तक बढ़ा दी गई कस्टम बैकग्राउंड के साथ अपने सर्वर इनवाइट को कस्टमाइज़ करें फ़ाइल अपलोड लिमिट 100MB तक बढ़ाएं सर्वर बैनर के साथ सभी को दिखाएं कि आपका सर्वर किस बारे में है पॉवरफुल अपग्रेड: बड़ी साइज़ की फ़ाइल अपलोड, ऑडियो क्वालिटी बेहतर बनाए और भी बहुत कुछ! + पॉवरफुल अपग्रेड्स: एनिमेटेड सर्वर आइकन, अतिरिक्त थ्रेड ऑप्शन और भी बहुत कुछ! + पॉवरफुल अपग्रेड: बड़ी साइज़ की फ़ाइल अपलोड, सर्वर बैनर, रोल आइकन को कस्टम करें और भी बहुत कुछ! + पॉवरफुल अपग्रेड: कस्टम इनवाइट लिंक, एक्स्ट्रा इमोजी स्लॉट्स और एनिमेटेड सर्वर बैनर. सर्वर में हरेक रोल के लिए एक यूनीक आइकन सेट करें 1080p/60fps के साथ स्क्रीन शेयर करें 720p/60fps में स्क्रीन शेयर करें सभी के इस्तेमाल के लिए कस्टम स्टिकर अपलोड करें {numStickers} तक कस्टम स्टीकर और {numEmojis} तक कस्टम इमोजी अपलोड करें + {numStickers} तक कस्टम स्टीकर्स अपलोड करें थ्रेड्स के लिए लंबे समय तक आर्काइव करने के ऑप्शन प्राइवेट थ्रेड क्रिएट करें + एक कस्टम इनवाइट लिंक के साथ नए मेम्बर को आसानी से ऐड करें गोल: {levelName} {levelName} पर्क्स अनलॉक करने में मदद के लिए बूस्ट्स खरीदें! इस सर्वर ने सभी बूस्टिंग पर्क्स को अनलॉक कर दिया है! @@ -6530,6 +6610,7 @@ आपके सब्सक्रिप्शन इस एडजस्टमेंट में प्रोरेशन, डिस्काउंट और रीफंड शामिल हैं. फ़िलहाल आपका यह सब्सक्रिप्शन जारी हैं. इनका बिल आपकी समान बिलिंग साइकिल में ही जारी किया जाएगा. + {planName} कैंसल किया गया !!{planName}!! क्रेडिट यह क्रेडिट उस समय लागू होगा जब आप !!{planName}!! सब्सक्रिप्शन के लिए साइन अप करेंगे. यह क्रेडिट डेस्कटॉप पर खरीदे गए !!{planName}!! सब्सक्रिप्शन पर अप्लाई हो सकता है. @@ -6711,8 +6792,11 @@ प्रोफ़ाइल एक्शन Discord Nitro सदस्यता के साथ अपना खुद का बैनर और बहुत सी चीज़े अपलोड करें! $[](renderTimeHook) बीत चुका है + सुझाई गई कम से कम साइज़ और ऐस्पेक्ट अनुपात 600x240 और 5:2 हैं. स्वीकार की जाने वाली फ़ाइल के प्रकारों में PNG, JPG और एनिमेटेड GIF शामिल हैं. इस सर्वर को अपने बारे में कुछ बताएं + सेव न करें बदलाव सेव करें? + आपने बदलाव किए हैं. क्या आप उन्हें इस पेज को छोड़ने से पहले सेव करना चाहते हैं? खास Nitro सब्सक्रिप्शन के लिए प्रीव्यू यूज़र बैज @@ -6873,6 +6957,7 @@ टाइमआउट रिमूव करें \'!!{user}!!\' से टाइमआउट रिमूव करें !!{user}!! को थ्रेड से रिमूव करें + कस्टम इनवाइट लिंक को रिमूव करें एम्बेड्स दिखाएं और चैट में पेस्ट किए गए वेबसाइट के लिंक प्रीव्यू करें एम्बेड्स और लिंक प्रीव्यू मैसेज में इमोजी रिएक्शन दिखाएं @@ -7009,11 +7094,13 @@ सभी सर्वर मेम्बर्स के लिए डिफ़ॉल्ट परमिशन रोल आइकन, {name} इमेज चुनें + 256 KB से कम साइज़ वाली इमेज अपलोड करें या इस सर्वर से किसी कस्टम इमोजी को चुनें. हम कम से कम 64x64 पिक्सेल की इमेज इस्तेमाल करने का सुझाव देते हैं. अगर मेम्बर्स के पास मल्टीपल रोल्स होंगे तो उन्हें अपने हाईएस्ट रोल का आइकॉन दिखाई देगा. ज़्यादा जानें {name} के लिए रोल आइकन को कस्टम करें. ये फ़ीचर सर्वर बूस्टिंग का एक हिस्सा है. इमोजी इमेज अपलोड करें फ़ाइल ब्राउज़ करें + अरे नहीं! फ़ाइल बहुत बड़ी है. कृपया 256 KB या उससे कम की कोई .png या .jpg सलेक्ट करें. अपलोड करने के लिए कोई PNG या JPG फ़ाइल चुनें रोल के लिए कॉपी की गई id: {role} मेम्बर इस लिस्ट में अपने सबसे बड़े रोल के कलर का इस्तेमाल करते हैं. रोल को दोबारा ऑर्डर में लाने के लिए उन्हें ड्रैग करें. @@ -7089,6 +7176,7 @@ वो लिंक्स जिन्हें मेम्बर्स इन चैनलों में एम्बेडेड कॉन्टेंट को दिखाने के लिए शेयर करते हैं उनकी परमिशन देता है. वो लिंक्स जिन्हें मेम्बर्स इस चैनल में एम्बेडेड कॉन्टेंट को दिखाने के लिए शेयर करते हैं उनकी परमिशन देता है. कोई परमिशन नहीं मिली + किक करें इस सर्वर से अन्य मेम्बर्स को रिमूव कर देगा. किक किए गए मेम्बर्स दोबारा जॉइन कर सकते हैं अगर उनके पास दूसरा इनवाइट है. अगर सर्वर मेम्बर के लिए शर्तों को इनेबल करता है, तो यह परमिशन जॉइन करने की रिक्वेस्ट करने वाले मेम्बर्स को अप्रूव या रिजेक्ट करने की अनुमति देती है. मेम्बर्स को इस सर्वर से दूसरे मेम्बर्स को निकालने की परमिशन देता है. किक किए गए (बाहर निकाले गए) मेम्बर्स सिर्फ़ तभी दोबारा जॉइन कर पाएंगे जब उनके पास दूसरा इनवाइट होगा. मेम्बर्स को इन चैनलों का नाम, डिस्क्रिप्शन, और टैक्स्ट / वॉइस सेटिंग्स बदलने की परमिशन देता है. ये इन चैनलों को भी डिलीट कर सकते हैं. (स्टेज मॉडरेटर के लिए ज़रूरी) मेम्बर्स को स्टेज स्टार्ट करने के लिए टॉपिक सेट करने और बोलने के लिए अनुरोध को इनेबल या डिसेबल करने की अनुमति दें. वे स्टेज चैनल को भी डिलीट कर सकते हैं. @@ -7561,11 +7649,15 @@ सिर्फ़ डैश ही ऐसा स्पेशल कैरेक्टर है जिसकी अनुमति है. टैग इसमें जाते हैं. सर्वर डिस्कवरी में, आप नाम, डिस्क्रिप्शन और टैग से सर्च कर सकते हैं. आप 10 तक जोड़ सकते हैं. + {count}+ मेम्बर्स वाले सर्वर अब सर्वर डिस्कवरी में शामिल होने के लिए पात्र हैं. + अपनी कम्युनिटी को तेज़ी से बढ़ाएं सर्वर इमोजी सभी फ़ोल्डर बंद करें फ़ोल्डर को रीड कर लिया गया है के तौर पर मार्क करें + फ़ोल्डर में सभी सर्वर को म्यूट करें सर्वर फोल्डर फ़ोल्डर सेटिंग + फ़ोल्डर में सभी सर्वर को अनम्यूट करें सर्वर इनसाइट्स यह सर्वर फ़िलहाल पूरा भरा हुआ है. सर्वर म्यूट @@ -7588,6 +7680,9 @@ डिबग लॉगिंग को बदलने से यह बंद हो जाएगा और Discord फिर से लॉन्च हो जाएगा. क्या आप वाकई ऐसा करना चाहते हैं? इस लिंक को कभी एक्स्पायर न होने दें पर सेट करें स्टेटस सेट करें + सर्वर के पास इस फ़ीचर का एक्सेस नहीं है. + आपके पास इस फ़ीचर का एक्सेस नहीं है. + कस्टम इनवाइट लिंक को सेट करने से पहले आपको सभी मेम्बर्स के लिए एक्सेसिबल एक टेक्स्ट चैनल को सेट करना होगा. सेटिंग एडवांस इसे ऐड करें! @@ -8408,6 +8503,9 @@ क्लेम नहीं किए गए अकाउंट आवाज़ ऑन करना पहले जैसा करें + अनफेवरिट चैनल + अनफेवरिट DM + अनफेवरिट ग्रुप DM नापसंद इस व्यक्ति पर फ़ोकस न करें माफ करें, इस लिंक को हैंडल करने के लिए आपके डिवाइस पर कोई ऐप्लिकेशन नहीं मिला: @@ -8806,6 +8904,10 @@ इस चैनल में बोलने के लिए आपको पुश टू टॉक ऑन करना होगा. पुश टू टॉक की ज़रूरत है इनवाइट लिंक कस्टम करें + ध्यान रखें कि कस्टम इनवाइट लिंक्स के लिए एक टेक्स्ट चैनल की ज़रूरत होती है, जिससे सभी मेम्बर्स इसे ऐक्सेस कर सकें और ये काम कर सके. + इनवाइट लिंक कस्टम करें ({uses}) + अपने सर्वर को अपने चुने हुए फ़ैन्सी कस्टम इनवाइट लिंक के साथ आसानी से एक्सेसिबल बनाएं. इस बात का ध्यान रखें कि इससे आपका सर्वर इस लिंक का इस्तेमाल करने वाले किसी भी व्यक्ति के लिए पब्लिक हो जाएगा. + इस बात का ध्यान रखें कि अगर हमें किसी गलत बरताव का पता चलता है या अगर कोई इंटेलेक्चुअल प्रॉपर्टी से जुड़ा विवाद होता है, तो हम इस कस्टम इनवाइट लिंक को वापस ले सकते हैं. यह सर्वर अब सभी के लिए उपलब्ध है**!!{url}!!** यह सर्वर अब सभी के लिए [!!{urlText}!!]({urlValue}) पर उपलब्ध है आपका-URL-यहां है diff --git a/app/src/main/res/values-hr/plurals.xml b/app/src/main/res/values-hr/plurals.xml index 5d87487b66..99b8da1c68 100644 --- a/app/src/main/res/values-hr/plurals.xml +++ b/app/src/main/res/values-hr/plurals.xml @@ -1085,6 +1085,16 @@ {#} Boosta iskorištena {#} Boostova iskorišteno + + {#} mjesecu + {#} mjeseca + {#} mjeseci + + + {#} mjesecu + {#} mjeseca + {#} mjeseci + {#} Boost {#} Boosta @@ -1195,6 +1205,11 @@ {#} boosta {#} boostova + + server boost je otkazan + server boosta su otkazana + server boostova je otkazano + {#} mjesec {#} mjeseca @@ -1635,6 +1650,11 @@ {count} druge osobe {count} drugih osoba + + 1 upotreba + {uses} upotrebe + {uses} upotreba + 1 upotreba {uses} upotrebe diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index d167e467cd..07efb027d8 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -1196,6 +1196,7 @@ Promijeni avatar za server Promijeni ikonu Uredi profil servera + Avatar i banner profila Bio servera Ako se ostavi prazno, uzet će se tvoj glavni bio. Reci ovom serveru nešto o sebi @@ -1203,6 +1204,7 @@ Koristi drugi avatar u svakom od svojih servera i još mnogo toga uz Discord Nitro! Nadimak (onemogućen) Da bi promijenio kako te drugi vide unutar ovog servera, možeš postaviti nadimak i avatar koji vrijede samo za njega. + Resetiraj na zadani avatar Nepoznata greška Promijeni server avatar Koristi drugi avatar u svakom od svojih servera i još mnogo toga uz **Discord Nitro!** @@ -1225,6 +1227,7 @@ Promijeni lozinku Promijeni broj telefona? Promijeni pozadinu + Nije bilo moguće promijeniti prilagođeni link pozivnice jer sadrži nedozvoljene znakove, prekratak je, ili ga netko već koristi. Prilagođeni link pozivnice smije sadržavati samo slova, brojeve ili crtice. Sadržaj dnevnika izmjena Pokaži prijatelju našu novu početnu stranicu! Možeš se pouzdati u nas da ćemo ostaviti dobar dojam. Saznaj više @@ -1240,16 +1243,6 @@ Sudionika Kanal izbrisan. Zaglavlje kanala - Informacije o kanalu - Isključivanjem zvuka sprječava se pojavljivanje nepročitanih indikatora i obavijesti osim ako nisu nastali kao spominjanje. - Naziv - Obavijesti - Pojedinosti - Tema - Uredi - Tvoje postavke - Sakrij informacije o kanalu - Prikaži informacije o kanalu Tvoja uloga nema dozvolu za ulazak u ovaj kanal. Kanal zaključan Dozvole su sinkronizirane s kategorijom: **{categoryName}** @@ -1357,6 +1350,7 @@ Uzmi Obriši Izbriši priloge + Očisti prekoračenje builda Brisanje teksta Klikni za više informacija Kloniraj kanal @@ -1933,6 +1927,7 @@ !!{a}!!, !!{b}!! i još {n} su trenutno u glasovnom. Sada nema nikoga u glasovnom. Prilagođena boja + Imaj na umu da uz prilagođene linkove pozivnica moraš imati najmanje jedan tekstualni kanal koji je svim članovima dostupan. Prilagođeni status Obriši nakon Obriši status @@ -2261,6 +2256,7 @@ Aktivnost Počnite svirati zajedno sada u glasovnom! NOVO! Aktivnosti + Igrajte zajedno besplatno u bilo kojem glasovnom kanalu. Boostanjem otključajte još aktivnosti! neka druga Aktivnost Emoji Dodaj u favorite @@ -2310,6 +2306,7 @@ Ovaj emoji je s poslužitelja koji je ili privatan ili nedostupan. [Saznaj više](openPremiumSettings) o korištenju prilagođenog emojija. Ukloni iz favorita {count} + Taj emoji je bio prevelik! Emoji mora biti manji od {maxSize} KB. Klikni za više informacija {count} Uzmi @mention da spomeneš korisnike i tako ih dodaš u ovu privatnu nit. @@ -2482,10 +2479,18 @@ Kopiraj vezu Otvori u pregledniku Podijeli vezu + Stavi kanal u favorite + Stavi DM u favorite + Stavi grupni DM u favorite Ne možeš imati više favorita. Omiljeno + Pozdravimo svi zajedno tvojeg novog favorita među Discordovim mogućnostima! Kad ti je neki kanal, glasovni razgovor ili DM važan, staviš mu zvjezdicu preko njegovog kontekstualnog izbornika i to će tada postati favorit. + Favoriti + Idi na izvorni server + Favoriti Ne možeš imati više od {count} favorita. Ajoj! + Ovo ime će se pojaviti samo u tvojim favoritima. Razno Opiši svoj problem Tvoj problem @@ -2547,6 +2552,7 @@ Smanji glasnoću ostalih aplikacija za ovaj postotak dok netko priča. Postavi na 0%% za isključenje prigušenja. Teme će se arhivirati nakon navedenog trajanja neaktivnosti. Kada vidiš zeleni indikator, tada Discord prenosi tvoj prekrasan glas. + SVIH MU BITOVA! Ako ideš više od {bitrate} kbps, to će imati utjecaja ne one kojima veza nije baš sjajna. Pri korištenju Discord certificiranog mikrofona određene značajke obrade glasa više se ne obrađuju u samom Discordu, već ih obrađuje mikrofon. Promijeni postavke privatnosti i prilagodi način interakcije novih članova s ovim kanalom. Zapisuje sve primljene RTP podatke kako bi se koristili za otklanjanje programskih grešaka tijekom sljedećeg glasovnog ili video poziva @@ -2739,6 +2745,7 @@ Isprobaj moj mikrofon Tekst u govor (TTS) Tekst-u-govor obavijesti + Ukini stišavanje za nova događanja Uključi mikrofon **!!{name}!!** Tekstni okvir Korisničko ograničenje @@ -2778,6 +2785,7 @@ Članovi servera Prihvati Poništi + Zahtjev za prijateljstvom je otkazan. Hm, nešto je pošlo krivo kad smo poslali zahtjeve za prijateljstvom. Uvijek možeš ponoviti pokušaj iz popisa prijatelja. Hm, nešto je pošlo krivo kad smo poslali zahtjev za prijateljstvom na ime !!{name}!!. Uvijek možeš ponoviti pokušaj iz popisa prijatelja. Zahtjev za prijateljstvom neuspješan @@ -3097,6 +3105,9 @@ Gleda {username} Idi u kanal Kužim + S tvojom pretplatom javio se neki problem. Malo pričekaj i onda pokušaj opet. + Ajoj! + Nije bilo moguće povezivanje s uslugama Google Playa. Pričekaj, a onda pokušaj ponovo. Dopusti privremeno članstvo Zelena Siva @@ -3144,9 +3155,9 @@ Ovo izgleda super! Saznaj više Možda kasnije - Boostaj danas do razine 1 i kvaliteta zvuka će ti skočiti s 96 Kbps na 128 Kbps. - Boostaj danas do razine 2 i kvaliteta zvuka će ti skočiti sa 128 Kbps na 256 Kbps. - Boostaj danas do razine 3 i kvaliteta zvuka će ti skočiti s 256 Kbps na 384 Kbps. + Boostaj do razine 1 kako biste dobili bolji zvuk i imali osjećaj da ste u istoj sobi. + Boostaj do razine 2 kako biste dobili bolji zvuk i imali osjećaj da ste u istoj sobi. + Boostaj danas do razine 3 i kvaliteta zvuka će ti skočiti s 256 kbps na 384 kbps. Je li ti poznato da boostanje pruža i zvuk bolje kvalitete? Udario si u ograničenje od 100 servera Udvostruči broj servera na koje se možeš pridružiti, bit će ih 200. @@ -3196,6 +3207,7 @@ Od igranja, preko glazbe pa do učenja – za sve što trebaš ima ponešto. Pronađi svoju zajednicu na Discordu Prati ažuriranja + Pronađi svoju zajednicu Traži zajednice Popularne zajednice !!{username}!!, ovi serveri bi ti se mogli svidjeti @@ -3314,18 +3326,40 @@ Napravi {count} {number} + A ni tebi se neće ništa loše dogoditi ako ti napišeš nešto. + Za sad, ovaj server nema nikakvih glavnih poruka. + Ponovo učitaj stranicu, a možeš pogledati i što kaže naša [stranica statusa]({url}). + Nevjerojatno! Našao/la si ultra-rijetku grešku. + Osvježi da vidiš što se zbiva + Za sada, to bi bilo to! Doduše, možda ima još nešto… + Poruke koje dolaze kroz !!{channelName}!! otvoriti u bočnoj traci + {maxReplies}+ odgovora {numReplies} + Ponovno učitaj Najvažnije poruke + Sve glavne poruke od zadnja dva tjedna su ti pročitane. + Sve ti je već poznato Boja mape Naziv mape !!{folderName}!!, mapa {mentions} !!{folderName}!!, mapa {mentions}, !!{expandedState}!! Neimenovana mapa servera Postavke mape su spremljene! + Početna Ovo je novi prostor koji nam je trenutno u fazi beta testiranja, a namijenjen je da ti olakša praćenje zbivanja na serveru. Početna - !!{guildName}!! + Promijeni banner profila servera + Dodirni za uređivanje O meni za potrebe ovog servera + Uredi O meni za potrebe ovog servera + Ako ostane prazno, koristit će se tvoj zadani sadržaj O meni. + Dodirni kako bi dodao nešto o sebi za potrebe ovog servera Bio servera za server !!{guildName}!! + Promijeni banner profila servera + Obriši avatar za server + Banner profila servera + Resetiraj na zadani banner Trebaš više? Stekni potpunu prilagodbu profila servera uz Nitro. + Prenesi banner profila servera Budi tko god želiš i koristi drugi avatar, banner i bio u svakom od svojih servera, otvori si animirane avatare i još mnogo toga uz [Discord Nitro!](onAndMore) S profilima servera izrazi se u potpunosti Pozovi na servere @@ -3359,6 +3393,8 @@ Link za potvrdu je istekao. Potvrda je bila uspješna. Potvrđivanje tvojeg zahtjeva. + Pogledaj postavke servera + Ovdje vlada prilična gužva! Razmisli o tome da svoje zadane postavke o obavijestima servera postaviš na **samo @spominjanja** kako bi ti članovima život bio jednostavniji. Obavijesti @everyone Javi @everyone da događaj počinje. $[Reci @everyone da pozornica počinje.](tooltipHook) [Omogući](toggleClick) @@ -3582,6 +3618,8 @@ $[**!!{user}!!**](userHook) je napravio/la promjene na $[**!!{target}!!**](targetHook) Neka kanal za novosti servera zajednice bude **!!{newValue}!!** Kanal za novosti servera zajednice bude **obrisan** + Podesi prilagođeni link pozivnice na **!!{newValue}!!** + **Uklonjen je** prilagođeni link pozivnice Postavi razinu verifikacije servera na **Visoka** Postavi razinu verifikacije servera na **Niska** Postavi razinu verifikacije servera na **Srednja** @@ -3741,7 +3779,6 @@ Ako je ovo javni Discord, preporučujemo da ta postavka bude samo @mentions. Zbog veličine servera, članovi neće dobiti mobilne automatske obavijesti za poruke koje nisu tipa @spominjanja. Onemogući Otkrivanje - Onemogućavanje Zahtjeva za članove znači da se ljudi mogu pridružiti tvojoj zajednici bez prihvaćanja pravila ili tvojeg ručnog odobrenja. Sigurno to želiš? Otkrivanje mogu omogućiti ili onemogućiti isključivo administratori servera. Omogućena je 2FA obaveza za moderiranje @@ -3794,6 +3831,10 @@ Server će biti uklonjen iz Otkrivanja i ako više ne bude postavljen kao server zajednice. Ovaj server je uklonjen iz Otkrivanja. Ovaj server nije uspio zadovoljiti donje zahtjeve i stoga je automatski uklonjen iz Otkrivanja. Ne brini, možeš se vratiti čim ti server ponovno prođe sva ispitivanja. Zahtjeve koji se odnose na aktivnost provjeravamo tjedno. + To omogućuje pojavu informacija nakon što se klikne na prilagođeni emoji ili naljepnicu s tvojeg servera u bilo kojem chatu. Prikazane informacije omogućit će korisnicima da vide tvoj server i pridruže mu se. + Onemogući informacije o emojiju/naljepnici + Omogući informacije o emojiju/naljepnici + Prikaz informacija o emojijima/naljepnicama kad ih se klikne Uz Otkrivanje servera neka tvoja zajednica raste Discord će u pretraživanju dati prednost ovom serveru onim korisnicima koji govore odabranim jezikom. Ako ti je server uvršten u [Otkrivanje servera](onLinkClick), svatko ti ga može naći. @@ -3808,6 +3849,7 @@ Podkategorije Pseudonim Unesi alias + Dodaj do {count} prilagođenih emojia koje mogu koristiti svi na ovom serveru. Animirane GIF emojije mogu koristiti članovi koji imaju Discord Nitro. Imena emojija moraju sadržavati 2 ili više znakova i mogu sadržavati samo alfanumeričke znakove i podvlake. Emoji mora biti manji od {maxSize} KB. Boostaj si razinu do {level} i tada će ti biti dostupno više džepova za emojije! Emojiji razine {level} su izgubljeni Boostaj svoj server na razinu {level} ili kupi razinu da bi ti se emojiji otključali! @@ -3854,6 +3896,8 @@ Opcija arhiviranja 1 tjedan Napravi privatne niti Animirani banner servera + Prilagođeni link pozivnice za server + audio kvalitete {bitrate} kbps +{adding} server emoji slotova (pa će ukupno biti {total}) +{adding} mjesta za prilagođene naljepnice (pa imaš ukupno {total}) Ograničenje prijenosa za sve članove je {fileSize} @@ -4593,6 +4637,14 @@ !!{name}!! Emoji !!{name}!! Ikona !!{name}!! Logo + Što su kanali? + Kanali su ona mjesta na kojima možeš razgovarati, uskočiti u glasovni chat, igrati igre i još druge stvari. Svaki server ima popis kanala kroz koji možeš listati i pogledati što se nudi. + Izravne poruke + Direktne poruke (DM) su odvojene od servera. Možeš DM privatno prijateljima i nabrzinu malo popričati, a možeš napraviti i grupni DM s 10 osoba. + Trebaš pomoć još uvijek? + Ovdje nema onoga što tebi treba? Više informacija može ti pružiti naš [Centar za pomoć]({helpCenterUrl}). + Što je server? + Serveri su mjesta na kojima se možeš družiti sa svojim prijateljima i upoznavati ljude. Većina servera je privatna i u njih se ulazi samo ako te u njega pozovu. u !!{categoryName}!! Postavke glasovnih opcija unutar igre U glasovnom kanalu @@ -4611,6 +4663,7 @@ Zainteresiran Ne, hvala Kada su preneseni izravno na Discord + Slike veće od {maxSize} MB neće imati pretpregled. Kada su zalijepljeni kao linkovi u dopisivanju Prikazuj slike i videozapise Ulazni uređaj @@ -4682,6 +4735,7 @@ Ova aplikacija nema naredbe. Ova aplikacija na ovom serveru nema nijedan webhook. Dosegnut ja najveći mogući broj izmjena dozvola. + Imaš već najveći dopušteni broj dozvola. Treba ih ukloniti {removeCount} da bi se moglo raditi još izmjena. Ukloni integraciju Želiš li sigurno ukloniti **!!{applicationName}!!**? Došlo je do unutarnje greške servera. @@ -4841,6 +4895,7 @@ Dodajmo ponekog prijatelja! Pozovi ljude Pazi sad! Prijatelji koje pozoveš moći će vidjeti popis ranijih poruka. + Ovaj kanal je privatan i samo ga odabrani članovi i uloge mogu vidjeti. Traži prijatelje Pozivnica je poslana !!{maxAge}!!, !!{maxUses}!! @@ -4851,6 +4906,7 @@ Ili pošalji link pozivnice na stream prijatelju Pozovi na stream Pozovi na server + Pozovi prijatelje u **!!{name}!!** URL pozivnice Pridruži se glasovnom Tvoj novi server želi ti dobrodošlicu! @@ -5002,6 +5058,7 @@ Izbaci Izbaci Izbacivanje članova + Izbaci, odobri ili odbij članove Izbaci korisnika !!{user}!! Želiš li sigurno sa servera izbaciti korisnika !!{user}!!? Moći će se vratiti ponovno samo uz novu pozivnicu. \'!!{user}!!\' je izbačen/a sa servera. @@ -6182,9 +6239,21 @@ Otkazati !!{planPremiumType}!!? Otkazivanje će za sve pretplate na Nitro i Server boost stupiti na snagu momentalno. Tvoj Discord Tag će biti nasumično odabran ako si ga mijenjao/la. Ma, ipak ću zadržati Nitro + Ma, ipak ću zadržati Nitro Tvoja **2 besplatna Boosta** i **30%% popusta na Boost** {boostCount} Tvoj **30%% popust na Boost** + 2 besplatna boosta i 30%% popusta + Korištenje prilagođenih emojija i naljepnica svugdje + Raskalašeni profil, prilagođeni tag + Streaming videa visoke definicije na 60FPS + streamao/la si u {month} + sati + HD video streaming + Ograničenje prijenosa datoteka podignuto na 100 MB + velike datoteke + poslao/la si u {month} + Prenošenja većih datoteka Pristup **posebnim emojijima** i **naljepnicama** na svim tvojim serverima Pristup **posebnim emojijima** na svim tvojim serverima **Animirani avatar**, **banner profila** i poseban **Discord Tag** @@ -6305,15 +6374,21 @@ Boostanja servera koja su aktivna {numSubscriptions} na raspolaganju Sorry, ali trenutno nemamo mogućnost otkazati boostove koji su kupljeni preko gatewaya !!{paymentGatewayName}!!. Možeš otkazati svoje boostove tako da koristiš upravljanje pretplatama [!!{paymentGatewayName}!!]({subscriptionManagementLink}). + Želiš li sigurno otkazati ovaj server boost? Mi ćemo ga raznijeti na komadiće, ako baš hoćeš. Bit će uklonjen s povezanih servera i otkazan iz tvojih pretplata na kraju obračunskog razdoblja: **{endDate}**. + Želiš li sigurno otkazati server boost kojeg imaš u svojem inventaru? Mi ćemo ga raznijeti na komadiće, ako baš hoćeš. Bit će uklonjen s povezanih servera i otkazan iz tvojih pretplata na kraju obračunskog razdoblja: **{endDate}**. Da, otkaži boost Tvoja pretplata je već trebala biti plaćena. Trebaš ažurirati svoje postavke plaćanja prije nego kreneš upravljati boostovima. Ovaj boost dio je tvoje Nitro pretplate Otkaži boost Došlo je do greške pri pokušaju otkazivanja ovog boosta. + **{subscriptionCount}** {subscriptionCount} + Ova pretplata na server boost bit će otkazana na kraju tvojeg obračunskog razdoblja za Nitro ili Nitro Classic, **{endDate}**. Promjene tvoje pretplate su iskazane u nastavku: Otkaži server boost Otkaži Boostanje servera sa servera Otkaži Boostanje servera iz inventara Boost čeka svoje otkazivanje + Neka ti bude. Raznijet ćemo ovaj prekrasni boost kad si već navalio ili navalila. Otkazivanje ovog boosta na rasporedu je za: **{endDate}**. **Sve dok ne bude razoren, možeš koristiti ovaj server boost!** + Boost je otkazan! {date} Boostanje od {date} ({months}) Došlo je do greške kad si pokušao dati svoj boost. Pokušaj ponovno. @@ -6380,18 +6455,23 @@ Kada je server Boostan, oslobađaju se moćne stvari i nadogradnje u kojima svi na serveru mogu uživati. Daj serveru Boost i dobit ćeš: Pristup većem broju zabavnih aktivnosti! Istakni se animiranom ikonom servera - Kvaliteta zvuka pojačana na {targetQuality} Kbps + Kvaliteta zvuka pojačana na {targetQuality} kbps Prilagođenim postavkama prilagodi svoje pozivnice na server Ograničenje za prijenos datoteka pomaknuto je na 100 MB Da bi svima zorno predočio u čemu je bit tvojeg servera, stavi banner servera Moćna poboljšanja: veće datoteke se prenose, audio je bolji, a ni to nije sve! + Moćna poboljšanja: animirana ikona servera, još opcija za niti i još više toga! + Moćna poboljšanja: veće datoteke se prenose, banner servera, svaka uloga ima svoju ikonu, a ni to nije sve! + Moćna poboljšanja: prilagođeni link pozivnice, još džepova za emojije i animirani banner servera. Postavi jedinstvenu ikonu za svaku ulogu unutar servera Dijeljenje zaslona u 1080p/60fps Dijeljenje zaslona u 720p/60fps Prilagođene naljepnice u vlastitoj izradi koje mogu koristiti svi Prenesite do {numStickers} prilagođenih naljepnica i {numEmojis} prilagođenih emojija + Prenesi i do {numStickers} prilagođenih naljepnica Produljeno vrijeme arhiviranja za niti Mogućnost privatnih niti + Prilagođeni link pozivnice olakšava dovođenje novih članova Cilj: {levelName} Kupi Boostove i pomozi otključati posebne pogodnosti razine {levelName}. Ovaj server je već otkrio sve posebne pogodnosti Boostova! @@ -6530,6 +6610,7 @@ Tvoje pretplate U ovoj korekciji sadržane su naplate razmjerne korištenju, popusti i povrati. Ovo su tvoje trenutne pretplate. Naplaćivat će se u istom ciklusu naplate. + {planName} – otkazano !!{planName}!! Kredit Taj kredit će vrijediti nakon što se pretplatiš na !!{planName}!! pretplatu. Ovaj kredit može se primijeniti na !!{planName}!! pretplatu kupljenu na desktopu. @@ -6711,8 +6792,11 @@ Radnje profila Ako imaš Discord Nitro, možeš nam dati da ti stavimo tvoj vlastiti banner koji je tvojih ruku djelo. $[](renderTimeHook) proteklo + Preporučena minimalna veličina je 600×240 i omjer 5:2. Prihvaćaju se PNG, JPG i animirani GIF. Reci ovom serveru nešto o sebi + Nemoj spremati Spremiti promjene? + Ima nekih tvojih novih izmjena. Želiš li ih spremiti prije odlaska s ove stranice? To ima samo Nitro Pretpregled Badgevi korisnika @@ -6873,6 +6957,7 @@ Ukloni timeout Skini timeout s korisnika !!{user}!! Ukloni korisnika !!{user}!! iz niti + Ukloni prilagođeni link pozivnice Prikaži ugradnje i pretpreglede linkova na stranice koji su zalijepljeni u chat Pretpregledi ugradnji i linkova Prikaži emoji reakcije na poruke @@ -7009,11 +7094,13 @@ Zadane dozvole za sve članove servera Ikona uloge, {name} Odaberi sliku + Prenesi sliku koja je manja od 256 KB ili odaberi lokalni emoji s ovog servera. Preporučujemo da bude najmanje 64×64 piksela. Ako neki član ima više uloga, prikazat će se ikona najviše uloge. Saznaj više Prilagođena ikona uloge za {name}. Ovo je dio cijelog server Boost procesa. Emoji Prenesi sliku Pregledavanje datoteka + O, neeee! Datoteka je prevelika. Odaberi .png ili .jpg veličine najviše 256 KB. Odaberi PNG ili JPG za prijenos Kopirani id za ulogu: {role} Članovi koriste boju najviše dodijeljene uloge koja je na ovoj listi. Povlači uloge kako bi im promijenio/la poredak! @@ -7089,6 +7176,7 @@ Omogućuje linkove koje članovi dijele za prikazivanje ugrađenog sadržaja u ovim kanalima. Omogućuje linkove koje članovi dijele za prikazivanje ugrađenog sadržaja u ovom kanalu. Nijedno dopuštenje nije pronađeno + Izbacivanje će ukloniti ostale članove sa servera. Izbačeni članovi moći će se ponovno pridružiti ako dobiju drugu pozivnicu. Ako je na serveru omogućeno postavljanje zahtjeva prema članovima, ova dozvola omogućava sposobnost da se članovi koji se žele pridružiti ili prihvate ili odbiju. Članovima omogućuje ukloniti ostale članove sa servera. Izbačeni članovi moći će se ponovno pridružiti ako dobiju drugu pozivnicu. Članovima omogućuje promijeniti ime kanala, opis i glasovne / tekstualne postavke. Također mogu izbrisati ove kanale. (Potrebno za moderatora pozornice) Omogući članovima da postave temu za pokretanje pozornice i omogućavaju i onemogućavaju zahtjeve za govor. Također mogu obrisati kanal s pozornicom. @@ -7561,11 +7649,15 @@ Jedini specijalni znak koji je dopušten je crtica. Tagovi idu ovamo. U Otkrivanju servera serveri se mogu pretraživati po imenu, opisu i po tagovima. Možeš ih dodati najviše 10. + Serveri kojima je broj članova {count}+ od sada zadovoljavaju uvjete za ulazak u Otkrivanje servera. + Povećaj svoju zajednicu brže Emoji servera Zatvoriti sve mape Označi mapu kao pročitanu + Utišaj sve servere u mapi Mapa servera Postavke mape + Isključi utišavanje za sve servere u mapi Razrada servera Ovaj server is trenutno pun. Utišaj server @@ -7588,6 +7680,9 @@ Promjena bilježenja grešaka će ugasiti i ponovno pokrenuti Discord. Jesi li siguran da ovo želiš? Postavi ovaj link da nikad ne istekne Postavi status + Tvoj ti server ne može pristupiti toj funkciji. + Ovoj funkciji ti pristup nemaš. + Prije nego odrediš Prilagođeni link pozivnice, treba ti tekstualni kanal koji je dostupan svim članovima. Postavke Napredno Dodaj je! @@ -8408,6 +8503,9 @@ Nepreuzet račun Uključi zvuk Poništi radnju + Izbaci kanal iz favorita + Izbaci DM iz favorita + Izbaci grupni DM iz favorita Neomiljeno Skloni fikus s te osobe Žao nam je, nismo pronašli nijednu aplikaciju koja može obraditi ovaj link: @@ -8806,6 +8904,10 @@ Moraš imati Push to Talk omogućen kako bi mogao/la govoriti u ovom kanalu. Opcija Push to Talk je obavezna Prilagođeni link pozivnice + Imaj na umu da uz prilagođene linkove pozivnica moraš imati najmanje jedan tekstualni kanal koji je svim članovima dostupan. + Prilagođeni link pozivnice ({uses}) + Tvoj server može biti lakše dostupan sa simpatičnim linkom pozivnice po tvojem ukusu. Samo znaj da će tako tvoj server biti javno dostupan svima koji će koristiti ovaj link. + Imaj na umu da možemo povući prilagođene linkove pozivnice ako otkrijemo zloupotrebu ili ako dođe do sukoba s intelektualnim vlasništvom. Ovaj server je od sada dostupan svima na **!!{url}!!** Ovaj server je od sada dostupan svima na [!!{urlText}!!]({urlValue}) tvoj-url-ovdje diff --git a/app/src/main/res/values-hu/plurals.xml b/app/src/main/res/values-hu/plurals.xml index 231e71c15c..d102fd50aa 100644 --- a/app/src/main/res/values-hu/plurals.xml +++ b/app/src/main/res/values-hu/plurals.xml @@ -944,6 +944,14 @@ {#} gyorsítás beváltva {#} gyorsítás beváltva + + {#} hónap + {#} hónap + + + {#} hónap + {#} hónap + {#} gyorsítást {#} gyorsítást @@ -1040,6 +1048,10 @@ {#} gyorsítás {#} gyorsítás + + szervergyorsítás + szervergyorsítás + {#} hónap {#} hónap @@ -1432,6 +1444,10 @@ 1 további személy {count} további személy + + 1 használat + {uses} használat + 1 használat {uses} használat diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 721b0bbc1c..946d5d35c8 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -1196,6 +1196,7 @@ Szerverprofilkép módosítása Ikoncsere Szerverprofil szerkesztése + Profilkép és profilbanner Szerverleírás Ha üresen hagyod, a fő leírás lesz látható. Mesélj a szervernek egy kicsit magadról @@ -1203,6 +1204,7 @@ Használj eltérő profilképet minden szervereden, és juss hozzá még sok minden máshoz Discord Nitro-előfizetéssel! Becenév (letiltva) A szerverbecenév és -profilkép beállításával módosíthatod, hogy mások hogyan lássanak ezen a szerveren. + Alapértelmezett profilkép visszaállítása Ismeretlen hiba Szerver profilkép módosítása Használj eltérő profilképet minden egyes szerveren, és juss hozzá még sok minden máshoz is a **Discord Nitro-előfizetéssel**! @@ -1225,6 +1227,7 @@ Jelszó megváltoztatása Telefonszám módosítása? Háttércsere + Nem tudtuk megváltoztatni az egyedi meghívó linket, mert érvénytelen karaktereket tartalmaz, túl rövid vagy már használatban van. Az egyedi meghívó linkek csak betűket, számokat és kötőjeleket tartalmazhatnak. Változásnapló tartalma Mutasd meg új kezdőlapunkat egy barátodnak! Jó benyomást szeretnénk kelteni. További tájékoztatás @@ -1240,16 +1243,6 @@ Résztvevők Csatorna törölve. Csatornafejléc - Csatornainfó - Némítás esetén nem kapsz jelzéseket és értesítéseket olvasatlan üzenetekről, kivéve, ha megemlítenek. - Név - Értesítések - Részletek - Téma - Szerkesztés - Saját beállítások - Csatornainformáció elrejtése - Csatornainformáció megjelenítése A rangod nem férhet hozzá ehhez a csatornához. Csatorna zárolva Engedélyek szinkronizálva ezzel a kategóriával: **{categoryName}** @@ -1357,6 +1350,7 @@ Igénylés Törlés Csatolmányok törlése + Verzió-felülírás törlése Szöveg törlése Kattints a további tájékoztatásért Csatorna klónozása @@ -1933,6 +1927,7 @@ !!{a}!!, !!{b}!! és {n} elérhető a hangcsevegésben. Jelenleg senki sincs a hangcsevegésben. Egyéni szín + Ne feledd, hogy az egyedi meghívó linkek működéséhez szükséges egy szöveges csatorna, ami minden tag számára elérhető. Egyéni állapot Törlés utána Állapot törlése @@ -2261,6 +2256,7 @@ egy tevékenység Kezdődjön a közös játék, ezúttal hanggal! ÚJDONSÁG! Tevékenységek + Játsszatok együtt ingyen bármelyik hangcsatornán! A gyorsítással még több tevékenységet érhettek el! egy másik tevékenység Emotikon Hozzáadás a kedvencekhez @@ -2310,6 +2306,7 @@ Ez az emotikon privát vagy elérhetetlen szerverről származik. [Tudj meg többet](openPremiumSettings) az egyedi emotikonok használatáról. Eltávolítás a kedvencekből {count} érhető el + Ez az emotikon túl nagy volt! Az emotikonok mérete legfeljebb {maxSize} KB lehet. Kattints a további tájékoztatásért {count} A @mention segítségével felhasználók adhatók hozzá ehhez a privát gondolatmenethez. @@ -2482,10 +2479,18 @@ Link másolása Megnyitás böngészőben Link megosztása + Csatorna hozzáadása a kedvencekhez + DM hozzáadása a kedvencekhez + Csoportos DM hozzáadása a kedvencekhez Nem lehet több kedvenced. Hozzáadás a Kedvencekhez + Köszöntünk a „kedvenc” új Discordos funkciódban! Ha csatornákat, hangcsevegéseket és DM-eket (közvetlen üzeneteket) csillagozol meg a helyi menüből, a kedvencekhez adhatod őket. + Kedvencek + Ugrás az eredeti szerverre + Kedvencek Nem lehet több mint {count} kedvenced. Jaj, ne! + Ez a név csak a kedvencek között jelenik meg. Egyéb A probléma leírása A problémád @@ -2547,6 +2552,7 @@ Halkíts le más alkalmazásokat ennyi százalékkal amikor valaki beszél. Állítsd 0%%-ra, hogy kikapcsold. A gondolatmenetek archiválásra kerülnek egy meghatározott inaktív időtartamot követően. Ha a jelzés folytonos zöld, akkor a Discord közvetíti a gyönyörű hangodat. + MINDEN BIT! {bitrate} kbps sebesség fölé váltás hátrányosan érintheti a lassú internetes kapcsolattal rendelkezőket. Ha egy Discord által támogatott mikrofont használsz, bizonyos hangfeldolgozási műveleteket nem a Discord, hanem a mikrofon végez el. Módosítsd az adatvédelmi beállításokat, és szabd személyre, hogy a tagok miként léphetnek kapcsolatba ezzel a csatornával. A következő hang-/videokapcsolathoz kapott összes RTP-adatot rögzíti hibakeresési célokra. @@ -2739,6 +2745,7 @@ Mikrofon tesztelése Szöveg beszéddé alakítása Szöveg beszéddé alakítása értesítések + Új események némításának visszavonása Némítás visszavonása: **!!{name}!!** Szövegdoboz Felhasználókorlát @@ -2778,6 +2785,7 @@ Szerver tagok Elfogadás Mégse + Barátkérelem visszavonva. Hiba történt barátkérelmek küldése közben. Később újra megpróbálhatod a barátlista segítségével. Hiba történt a neki szánt barátkérelem elküldése közben: !!{name}!!. Később újra megpróbálhatod a barátlista segítségével. Sikertelen barátkérelem @@ -3097,6 +3105,9 @@ Nézi: {username} Ugrás a csatornára Megértettem + Hiba történt a vásárlás során. Kérjük, várj és próbáld újra. + Jaj, ne! + Nem sikerült csatlakozni a Google Play szolgáltatásaihoz. Kérjük, várj és próbáld újra. Ideiglenes tagság biztosítása Zöld Szürke @@ -3144,9 +3155,9 @@ Ez nagyszerűen néz ki! További tájékoztatás Talán később - Gyorsíts az 1. szintre még ma, és növeld a hangminőséget 96 kbps-ről 128 kbps-re! - Gyorsíts a 2. szintre még ma, és növeld a hangminőséget 128 kbps-ről 256 kbps-re! - Gyorsíts a 3. szintre még ma, és növeld a hangminőséget 256 kbps-ről 384 kbps-re! + Gyorsíts az 1. szintre a jobb hangzáshoz, hogy úgy érezhesd, mintha ugyanabban a szobában lennétek. + Gyorsíts a 2. szintre a jobb hangzáshoz, hogy úgy érezhesd, mintha ugyanabban a szobában lennétek. + Gyorsíts a 3. szintre még ma és növeld a hangminőséget 256 kbps-ről 384 kbps-re! Tudtad, hogy a gyorsítással jobb lesz a hangminőség? Elérted a 100 szerveres limitet Duplázd meg a szerverek számát, hogy akár 200-hoz is csatlakozhass. @@ -3196,6 +3207,7 @@ A videojátékoktól a zenén át a tanulásig, mindenhez megtalálod a megfelelő helyet. Találd meg a saját közösségedet a Discordon! Frissítések követése + Találd meg a közösségedet! Közösségek keresése Népszerű közösségek !!{username}!!, íme néhány szerver, ami bejöhet neked @@ -3313,18 +3325,40 @@ Létrehozás {count} {number} + De írhatnál néhányat! + Ennek a szervernek még nincsenek legnépszerűbb üzenetei. + Töltsd be újra az oldalt, vagy nézd meg az [állapotjelző oldalt]({url}). + Hoppá! Egy szuper ritka hibára bukkantál. + Frissítés a történések megtekintéséhez + Egyelőre ennyi! De várj, lehet, hogy akad még valami… + !!{channelName}!!-üzenet megnyitása az oldalsávon + {maxReplies}+ válasz {numReplies} + Újratöltés Fő üzenetek + Minden fontos üzenetet láttál az elmúlt 2 hétről. + Teljesen naprakész vagy Mappa színe Mappa neve !!{folderName}!!, mappa {mentions} !!{folderName}!!, mappa {mentions}, !!{expandedState}!! Névtelen szervermappa Mappa beállításai elmentve! + Kezdőlap Jelenleg bétateszteljük ezt az új felületet, hogy segítsünk képben maradni azzal, mi történik a szervereden. Kezdőlap – !!{guildName}!! + Szerverprofilbanner módosítása + Koppints a névjegy szerkesztéséhez ehhez a szerverhez + Névjegy szerkesztése ehhez a szerverhez + Üresen hagyva az alapértelmezett névjegyedet használja. + Koppints a névjegy hozzáadásához ehhez a szerverhez !!{guildName}!! szerverleírása + Szerverprofilbanner módosítása + Szerverprofilkép törlése + Szerverprofilbanner + Alapértelmezett banner visszaállítása Még többre van szükséged? Szabd személyre a teljes szerverprofilt a Nitro-előfizetés segítségével. + Szerverprofilbanner feltöltése Legyél, aki csak szeretnél és használj eltérő profilképet, bannert és bemutatkozást minden egyes szervereden, oldd fel az animált profilképeket, és juss hozzá még sok minden máshoz is a [Discord Nitro-előfizetéssel!](onAndMore) Fejezd ki magad teljes mértékben a szerverprofilokkal Meghívás szerverekre @@ -3358,6 +3392,8 @@ A hitelesítő hivatkozás lejárt. A hitelesítés sikeres. Kérelmed hitelesítése. + Szerverbeállítások megtekintése + Elég komoly itt a nyüzsi! Fontold meg a szerver alapértelmezett értesítési beállításainak átállítását **csak említések (@mentions)** lehetőségre, hogy kisegítsd a tagjaidat. @everyone értesítése És szólj mindenkinek (@everyone) az esemény indulásáról. $[Szóljunk mindenkinek (@everyone) a pódium indulásáról.](tooltipHook) [Engedélyezés](toggleClick) @@ -3581,6 +3617,8 @@ $[**!!{user}!!**](userHook) megváltoztatta ezt: $[**!!{target}!!**](targetHook) Közösségi szerver frissítések csatornájának beállítása erre: **!!{newValue}!!** Közösségi szerver frissítések csatornája **törölve** + Egyedi meghívó link beállítása erre: **!!{newValue}!!** + **Eltávolítottad** az egyedi meghívó linket Szerver-ellenőrzési szint beállítása erre: **Magas** Szerver-ellenőrzési szint beállítása erre: **Alacsony** Szerver-ellenőrzési szint beállítása erre: **Közepes** @@ -3740,7 +3778,6 @@ Erősen ajánljuk, hogy nyilvános Discord esetén ezt állítsd csak @mentions beállításra. A szerver mérete miatt a tagok nem kapnak mobilos azonnali értesítéseket a nem @említés üzenetekhez. Felfedezés letiltása - A tagsági követelmények kikapcsolása azt jelenti, hogy az emberek a szabályok elfogadása vagy a te manuális jóváhagyásod nélkül csatlakozhatnak a közösségedhez. Biztos vagy benne? A felfedezést csak szerver adminisztrátorok engedélyezhetik vagy tilthatják le. Kétlépcsős hitelesítési követelmények a moderáláshoz engedélyezve @@ -3793,6 +3830,10 @@ A közösség letiltása a szerverfelfedezésből is eltávolítja a szervered. A szerver el lett távolítva a Felfedezésből. A szervered nem felelt meg a lenti követelményeknek, így automatikusan eltávolításra került a Felfedezésből. Ne aggódj, újra csatlakozhatsz, amint ismét megfelelsz a követelményeknek. Az aktivitási követelményeket hetente újraszámoljuk. + Ez lehetővé teszi, hogy bármilyen csevegésben a szerveredről származó egyedi emotikonra vagy matricára kattintva információk jelenjenek meg. A felhasználók ekkor láthatják és csatlakozhatnak a szerveredhez a megjelenített információk segítségével. + Emotikon-/matricainformációk letiltása + Emotikon-/matricainformációk engedélyezése + Emotikon-/matricainformációk megjelenítése a kattintáskor Növeld meg közösséged szerverfelfedezéssel A Discord előnyben részesíti ezt a szervert a keresésnél olyan felhasználók számra, akik a választott nyelvet beszélik. Ha szerepelsz a [Szerverfelfedezés](onLinkClick) listáján, bárki rátalálhat a szerveredre és csatlakozhat hozzá. @@ -3807,6 +3848,7 @@ Alkategóriák Alias Alias megadása + Adj a szerveredhez akár {count} egyedi emotikont, amit bárki használhat! Az animált GIF-emotikonokat csak a Discord Nitro-tagok használhatják. Az emotikonok nevének minimális hossza 2 karakter, és csak alfanumerikus karaktereket, valamint aláhúzásokat tartalmazhatnak. Az emotikon mérete legfeljebb {maxSize} KB lehet. Gyorsítsd a szerveredet {level}. szintre, és szerezz további emotikonhelyet! A(z) {level}. szintű emotikonok elvesztek Gyorsítsd a szerveredet {level}. szintre, vagy vásárolj szintet az emotikonok megszerzéséhez! @@ -3853,6 +3895,8 @@ 1 hetes archiválási lehetőség gondolatmenetekhez Privát gondolatmenet létrehozása Animált szerverbanner + Egyedi meghívó link a szerverhez + {bitrate} kbps hangminőség +{adding} szerver emotikon hely (összesen {total}) +{adding} egyéni matricahely (összesen {total}) {fileSize} feltöltési korlát minden tag számára @@ -4592,6 +4636,14 @@ !!{name}!! emotikon !!{name}!! ikon !!{name}!! logó + Mik azok a csatornák? + A csatornákon beszélgethetsz, hangra válthatsz, játékokat játszhatsz és még sok mást. Minden szervernek van egy csatornalistája, amit átnézhetsz, hogy lásd, mi történik. + Közvetlen üzenetek + A közvetlen üzenetek függetlenek a szerverektől. Privátban is küldhetsz DM-et egy barátodnak, ha gyorsan megbeszélnél valamit vagy létrehozhatsz egy csoportos DM-et, akár 10 résztvevővel. + További segítségre van szükséged? + Nem találod, amit keresel? [Látogass el a Súgóközpontunkba]({helpCenterUrl}) további tájékoztatásért. + Mi az a szerver? + A szerverek olyan helyek, ahol együtt lóghatsz a barátaiddal és emberekkel találkozhatsz. A legtöbb szerver privát vagy meghívásos. !!{categoryName}!! kategóriában Játék közbeni hangbeállítások A hangcsatornában @@ -4610,6 +4662,7 @@ Érdekel Köszönöm, nem Ha közvetlenül Discordra van feltöltve + {maxSize} MB-nál nagyobb képekhez nem lesz előnézet. Ha hivatkozásként van elküldve a csevegésbe Képek, videók és vicces macskák megjelenítése Bemeneti eszköz @@ -4681,6 +4734,7 @@ Ez az alkalmazás nem rendelkezik parancsokkal. Ehhez az alkalmazáshoz nem tartozik webhook ezen a szerveren. Elérted az engedélyfelülírások maximális számát. + Elérted az engedélyek maximális számát. Távolíts el {removeCount} darabot a további változtatásokhoz. Integráció eltávolítása Biztos vagy benne, hogy eltávolítod a következőt: **!!{applicationName}!!**? Belső szerverhiba történt. @@ -4840,6 +4894,7 @@ Adj hozzá pár barátot! Személyek meghívása Fel a fejjel! A meghívott barátok láthatják a korábbi üzeneteid előzményeit. + Ez a csatorna privát, csak kiválasztott tagok és rangok nézhetik meg. Barátok keresése Meghívó elküldve !!{maxAge}!!, !!{maxUses}!! @@ -4850,6 +4905,7 @@ Vagy küldj közvetítés meghívó linket egy barátodnak Meghívás élő közvetítésre Meghívás a szerverre + Barátok meghívása ide: **!!{name}!!** Meghívó URL Csatlakozás hanghoz Üdv az új szervereden! @@ -5001,6 +5057,7 @@ Kirúgás Kirúgás Tagok kirúgása + Tagok kirúgása, jóváhagyása és elutasítása !!{user}!! kidobása Biztosan kirúgod !!{user}!! felhasználót a szerveredről? Új meghívóval ismét csatlakozhat. \'!!{user}!!\' felhasználó ki lett rúgva a szerverről. @@ -6181,9 +6238,21 @@ !!{planPremiumType}!! lemondása? A lemondás azonnal életbe lép minden Nitro- és szervergyorsítás-előfizetés esetében. A Discord-címke véletlenszerűen lesz kiválasztva, ha korábban módosítottad azt. Hagyjuk, megtartom a Nitro-előfizetést + Hagyjuk, megtartom a Nitro-előfizetést A **2 ingyenes gyorsításod** és **30%% gyorsítási kedvezményed** {boostCount} A **30%%-os gyorsítási kedvezményed** + 2 ingyenes gyorsítás és 30%%-os kedvezmény + Egyedi emotikon és matricák használata bárhol + Menő profil és egyedi címke + Magas felbontású, 60 FPS videós közvetítés + közvetítettél {month} alatt + óra + HD videós közvetítés + 100 MB-ra emelt fájlfeltöltési korlát + nagy fájlok + küldtél {month} alatt + Nagyobb fájlfeltöltések Hozzáférés **egyedi emotikonokhoz** és **matricákhoz** minden szervereden Hozzáférés **egyedi emotikonokhoz** minden szervereden **Animált profilkép**, **profilbanner** és egyedi **Discord-címke** @@ -6304,15 +6373,21 @@ Aktív szervergyorsítások {numSubscriptions} érhető el Sajnáljuk, jelenleg nem támogatjuk a(z) !!{paymentGatewayName}!! rendszeren vásárolt gyorsítók lemondását. A gyorsítást a(z) [!!{paymentGatewayName}!! előfizetéskezelésen keresztül tudod lemondani: ]({subscriptionManagementLink}). + Biztosan törlöd ezt a szervergyorsítást? Ezzel darabokra törjük ezt a drágakövet. A gyorsítás eltávolításra kerül a kapcsolódó szerverekről és törlődik az előfizetésedből a számlázási időszakod végéig: **{endDate}**. + Biztosan törlöd a szervergyorsítást az eszköztáradból? Ezzel darabokra törjük ezt a drágakövet. A gyorsítás eltávolításra kerül a kapcsolódó szerverekről és törlődik az előfizetésedből a számlázási időszakod végéig: **{endDate}**. Igen, törlöm a gyorsítást Az előfizetésed lejárt. Frissítsd a fizetési információkat a gyorsítások kezelése előtt. Ez a gyorsítás része a Nitro-előfizetésednek Gyorsítás lemondása Hiba történt a gyorsítás lemondása során. + **{subscriptionCount}** × {subscriptionCount} törölve + Ez a szervergyorsítási előfizetés a Nitro vagy Nitro Classic számlázási időszakának végén törlődik: **{endDate}**. Az előfizetésedet érintő változások az alábbiak: Szervergyorsítás lemondása Szervergyorsítás törlése egy szerverről Szervergyorsítás törlése a könyvtárból Gyorsítás lemondása függőben + Rendben, készen állunk darabokra törni ezt a drágakövet a kedvedért. A gyorsítás törlése ekkorra van beütemezve: **{endDate}**. **A szétzúzásig tovább használhatod a gyorsítást!** + Gyorsítás törölve! {date} Gyorsítás {date} óta ({months}) Hiba történt a gyorsítás során. Próbáld újra. @@ -6384,13 +6459,18 @@ Fájlfeltöltési korlát felemelve 100 MB-ra Mutasd meg mindenkinek, miről szól a szervered egy szerverbannerrel Komoly fejlesztések: nagyobb méretű fájlfeltöltések, jobb hangminőség és számos egyéb! + Komoly fejlesztések: animált szerverikon, további gondolatmenet-beállítások és számos más dolog! + Komoly fejlesztések: nagyobb méretű fájlfeltöltések, szerverbanner, egyedi rangikonok és számos más dolog! + Komoly fejlesztések: egyedi meghívó link, extra emotikonhelyek és animált szerverbanner. Minden ranghoz egyedi ikon beállítása a szerveren Képernyőmegosztás 1080p/60fps-sel Képernyőmegosztás 720p/60 fps-sel Egyedi matricák feltöltése mindenkinek Tölts fel akár {numStickers} egyedi matricát és {numEmojis} egyedi emotikont + Tölts fel akár {numStickers} egyedi matricát! Hosszabb archiválási lehetőségek gondolatmenetekhez Privát gondolatmenet létrehozása + Az egyedi meghívó linkkel könnyedén hozzáadhatsz új tagokat Cél: {levelName} Vásárolj gyorsításokat {levelName} jutalmak feloldásának elősegítéséhez! Ez a szerver feloldotta az összes gyorsítási jutalmat! @@ -6529,6 +6609,7 @@ Az előfizetéseid Ez a beállítás arányosításokat, kedvezményeket és visszatérítéseket is tartalmaz. Ezek az aktuális előfizetéseid. Ezeket ugyanabban a számlázási ciklusban fogjuk kiszámlázni. + {planName} lemondva !!{planName}!! Kredit Ez a kredit akkor kerül alkalmazásra, ha feliratkoztál egy !!{planName}!! előfizetésre. Ezt a kreditet az asztali alkalmazásban vásárolt !!{planName}!!-előfizetés esetében lehet alkalmazni. @@ -6710,8 +6791,11 @@ Profilakciók Töltsd fel a személyre szabott banneredet és sok mást a Discord Nitro-előfizetéssel! $[](renderTimeHook) telt el + A javasolt minimális méret 600x240, a javasolt képarány 5:2. Az elfogadott fájltípusok közé tartozik a PNG és a JPG, valamint az animált GIF. Mesélj a szervernek egy kicsit magadról + Nincs mentés Mented a módosításokat? + Módosításokat eszközöltél. El szeretnéd menteni ezeket, mielőtt elhagyod az oldalt? A Nitro-előfizetés exkluzív része Előnézet Felhasználói jelvények @@ -6872,6 +6956,7 @@ Eltávolítás megszüntetése „!!{user}!!” felfüggesztésének visszavonása !!{user}!! eltávolítása a gondolatmenetből + Egyedi meghívó link eltávolítása Hivatkozások megjelenítése és a beszélgetésbe beillesztett webhelyek hivatkozásainak előnézete Beágyazások és hivatkozás-előnézetek Emotikonreakciók megjelenítése üzeneteken @@ -7008,11 +7093,13 @@ Alapértelmezett jogosultságok a szerver minden tagja számára Rangikon, {name} Kép kiválasztása + Tölts fel egy 256 KB-nál kisebb képet, vagy válassz egy egyedi emotikont erről a szerverről. Javasoljuk, hogy legyen legalább 64x64 pixeles. Ha több rangjuk is van, a tagok a legmagasabb rangjuk ikonját fogják látni. További információ Egyedi rangikon a következőhöz: {name}. Ez a funkció a Szervergyorsítás része. Emotikon Kép feltöltése Fájlok tallózása + Jaj, ne! A fájl mérete túl nagy. Válassz 256 KB vagy kisebb méretű .png- vagy .jpg-fájlt. Válaszd ki a feltöltendő PNG- vagy JPG-fájlt Másolt azonosító ehhez a ranghoz: {role} A tagok színe a legmagasabb általuk birtokolt rang színe. Készíts új sorrendet a rangok mozgatásával. @@ -7088,6 +7175,7 @@ Lehetővé teszi a tagok által megosztott hivatkozások számára a beágyazott tartalmak megjelenítését a csatornákon. Lehetővé teszi a tagok által megosztott hivatkozások számára a beágyazott tartalmak megjelenítését a csatornán. Nem található jogosultság + A kirúgással eltávolítasz más tagokat erről a szerverről. A kirúgott tagok újra csatlakozhatnak, ha új meghívót kapnak. Amennyiben a szerver engedélyezi a tagsági követelményeket, ez az engedély lehetővé teszi a csatlakozási kérelmet benyújtó tagok jóváhagyását vagy elutasítását. Lehetővé teszi a tagok számára, hogy eltávolítsanak más tagokat erről a szerverről. A kirúgott tagok újra csatlakozhatnak, ha új meghívót kapnak. Lehetővé teszi a tagok számára, hogy módosítsák a csatornák nevét, leírását és szöveges/hangbeállításait. Emellett törölhetik is a csatornákat. (Szükséges pódiummoderátor esetében) Lehetővé teszi a tagok számára, hogy témát állítsanak be a pódium elindításához, és szót adjanak, vagy megtagadják azt. Emellett törölhetik is a pódiumcsatornát. @@ -7560,11 +7648,15 @@ A különleges karakterek közül csak a kötőjel használható. Ez a címkék helye. A Szerverfelfedezésben név, leírás és címkék alapján kereshetsz. Akár 10 ilyet is megadhatsz. + {count}+ taggal rendelkező szerverek már csatlakozhatnak a Szerverfelfedezéshez. + Növeld a közösségedet gyorsabban! Szerver emotikon Minden mappa bezárása Mappa megjelölése olvasottként + Minden szerver némítása a mappában Szervermappa Mappa beállítások + Minden szerver némításának visszavonása a mappában Server Insights Ez a szerver jelenleg tele van. Szerver némítása @@ -7587,6 +7679,9 @@ A hibakeresési naplózás módosítása újra fogja indítani a Discordot. Biztos vagy ebben? Link beállítása, hogy sose járjon le Státusz beállítása + A szerverednek ehhez a funkcióhoz nincs hozzáférése. + Ehhez a funkcióhoz nincs hozzáférésed. + Egyedi meghívó link létrehozása előtt be kell állítanod egy szöveges csatornát, ami minden tag számára elérhető. Beállítások Fejlett Add hozzá! @@ -8407,6 +8502,9 @@ Gazdátlan fiók Süketítés ki Visszavonás + Csatorna eltávolítása a kedvencek közül + DM eltávolítása a kedvencek közül + Csoportos DM eltávolítása a kedvencek közül Eltávolítás a Kedvencek közül Fókuszálás megszüntetése ennél a személynél Sajnáljuk, de nem találtunk olyan alkalmazást az eszközödön, mely kezeli ezt a linket: @@ -8805,6 +8903,10 @@ Engedélyezd a Push to Talk módot ahhoz, hogy beszélhess ezen a csatornán. Push to Talk szükséges Egyedi meghívó link + Ne feledd, hogy az egyedi meghívó linkek működéséhez szükséges egy szöveges csatorna, ami minden tag számára elérhető. + Egyedi meghívó link ({uses}) + Tedd a szervered egyszerűen elérhetővé a választásod szerinti menő egyedi meghívó link segítségével! Ne feledd, ezzel a szervered nyilvánosan elérhető lesz bárkinek, aki a linkre kattint! + Ne feledd, hogy visszavehetjük az egyedi meghívó linkeket, amennyiben visszaélést fedezünk fel, vagy ha szellemi tulajdonnal kapcsolatos érdekütközés merül fel. Ez a szerver újra elérhető mindenki számára a következő címen: **!!{url}!!** Ez a szerver újra elérhető mindenki számára a következő címen: [!!{urlText}!!]({urlValue}) url-címed-ide diff --git a/app/src/main/res/values-it/plurals.xml b/app/src/main/res/values-it/plurals.xml index 291f5d967d..3b8bdcd2fe 100644 --- a/app/src/main/res/values-it/plurals.xml +++ b/app/src/main/res/values-it/plurals.xml @@ -944,6 +944,14 @@ {#} potenziamento applicato {#} potenziamenti applicati + + {#} mese + {#} mesi + + + {#} mese + {#} mesi + {#} potenziamento {#} potenziamenti @@ -1040,6 +1048,10 @@ {#} Potenziamento {#} Potenziamenti + + potenziamento server cancellato + potenziamenti server cancellati + {#} mese {#} mesi @@ -1432,6 +1444,10 @@ 1 altro altri {count} + + 1 utilizzo + {uses} utilizzi + 1 utilizzo {uses} utilizzi diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 9a7705688e..009c7c6d0d 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -1196,6 +1196,7 @@ Cambia l\'avatar per questo server Cambia icona Modifica il profilo del server + Avatar e banner del profilo Profilo del server Se lasciato in bianco, saranno utilizzate le tue informazioni principali. Parla un po\' di te a questo server @@ -1203,6 +1204,7 @@ Utilizza un avatar diverso in ognuno dei tuoi server e molto altro ancora con Discord Nitro! Nickname (disattivato) Puoi modificare il modo in cui gli altri possono vederti all\'interno di questo server impostando un nickname e un avatar specifici per questo server. + Ripristina l\'avatar predefinito Errore sconosciuto Cambia avatar del server Utilizza un avatar diverso in ognuno dei tuoi server e molto altro ancora con **Discord Nitro!** @@ -1230,6 +1232,7 @@ Cambia password Vuoi cambiare numero di telefono? Cambia sfondo + Non è stato possibile cambiare il link d\'invito personalizzato poiché contiene caratteri non validi, è troppo corto o è già in uso. I link d\'invito personalizzati possono contenere solo lettere, numeri e trattini. Contenuto del changelog Mostra la nostra nuova homepage ai tuoi amici! Siamo qui per fare una buona impressione. Scopri di più @@ -1245,16 +1248,6 @@ Partecipanti Il canale è stato eliminato. Intestazione canale - Informazioni del canale - Silenziando non ti saranno mostrate le notifiche e gli indicatori per i messaggi non letti a meno che tu non venga menzionato. - Nome - Notifiche - Dettagli - Argomento - Modifica - Le tue impostazioni - Nascondi informazioni del canale - Mostra informazioni del canale Il tuo ruolo non dispone dei permessi per accedere a questo canale. Canale bloccato Permessi sincronizzati con categoria: **{categoryName}** @@ -1362,6 +1355,7 @@ Riscatta Cancella Cancella allegati + Rimuovi permesso speciale Cancella testo Clicca per scoprire di più Clona il canale @@ -1938,6 +1932,7 @@ !!{a}!!, !!{b}!! e {n} sono nel canale vocale in questo momento. Non c\'è nessuno nel canale vocale in questo momento. Colore personalizzato + Ricorda che un canale testuale deve essere accessibile a tutti i membri, perché il suo link d\'invito personalizzato funzioni. Stato personalizzato Svuota dopo Cancella stato @@ -2266,6 +2261,7 @@ un\'attività Inizia a giocare con gli altri utenti nei canali vocali! NOVITÀ! Attività + Gioca insieme gratuitamente in qualsiasi canale vocale. Sblocca altre attività con un potenziamento! un\'altra attività Emoji Aggiungi ai Preferiti @@ -2315,6 +2311,7 @@ Questa emoji proviene da un server privato o non disponibile. [Scopri di più](openPremiumSettings) sull\'utilizzo delle emoji personalizzate. Rimuovi dai Preferiti Disponibilità: {count} + Quell\'emoji era troppo grande. Le emoji devono avere dimensioni inferiori a {maxSize} kB. Clicca per scoprire di più {count} Puoi @menzionare gli utenti per aggiungerli a questo thread privato. @@ -2487,10 +2484,18 @@ Copia link Apri nel browser Condividi link + Canale preferito + MD preferito + Chat di gruppo preferita Non puoi avere altri preferiti. Preferito: sì + Diamo il benvenuto alla nuova funzionalità Preferita di Discord! Aggiungi i canali, le chat vocali e i MD ai tuoi preferiti con una stellina tramite i rispettivi menu di contesto. + Preferiti + Vai al server originale + Preferiti Non puoi avere più di {count} preferiti. Oh, no! + Questo nome comparirà solo nei tuoi preferiti. Varie Descrivi il tuo problema Il tuo problema @@ -2552,6 +2557,7 @@ Riduce il volume delle altre applicazioni di una data percentuale mentre parla qualcuno. Sposta il selettore allo 0%% per disattivare l\'attenuazione. I thread verranno archiviati una volta trascorso il tempo di inattività specificato. Quando l\'indicatore è verde, Discord sta trasmettendo la tua bella voce. + TUTTI QUEI BIT! Superare i {bitrate} kbps potrebbe creare disagi a chi ha una connessione lenta. Se stai utilizzando un microfono certificato da Discord, alcune funzionalità di elaborazione della voce vengono gestite dal microfono, non più dal nostro client. Cambia le impostazioni privacy e personalizza il modo in cui i membri possono interagire con questo canale. Registra tutti i dati RTP ricevuti per la connessione voce/video successiva a scopo di debug. @@ -2744,6 +2750,7 @@ Prova il mio microfono Sintesi vocale Notifiche con sintesi vocale + Togli il silenziamento ai nuovi eventi Riattiva notifiche **!!{name}!!** Casella di testo Limite utenti @@ -2783,6 +2790,7 @@ Membri del server Accetta Annulla + La richiesta di amicizia è stata annullata. Uhm, qualcosa è andato storto con l\'invio delle richieste di amicizia. Puoi sempre riprovare più tardi dalla lista degli amici. Uhm, qualcosa è andato storto con l\'invio della richiesta di amicizia a !!{name}!!. Puoi sempre riprovare più tardi dalla lista degli amici. Richiesta di amicizia non riuscita @@ -3102,6 +3110,9 @@ Sta guardando {username} Vai al canale Capito + Si è verificato un errore con il tuo acquisto. Ti preghiamo di attendere e riprovare. + Oh, no! + Impossibile connettersi a Google Play Services. Aspetta e riprova fra un attimo. Unione temporanea al server Verde Grigio @@ -3149,8 +3160,8 @@ È fantastico! Scopri di più Magari più tardi - Potenzia al livello 1 oggi stesso e migliora la tua qualità audio da 96 kbps a 128 kbps. - Potenzia al livello 2 oggi stesso e migliora la tua qualità audio da 128 kbps a 256 kbps. + Potenzia al livello 1 per ottenere una qualità audio migliore: vi sembrerà di trovarvi tutti nella stessa stanza. + Potenzia al livello 2 per ottenere una qualità audio migliore: vi sembrerà di trovarvi tutti nella stessa stanza. Potenzia al livello 3 oggi stesso e migliora la tua qualità audio da 256 kbps a 384 kbps. Sapevi che puoi ottenere una migliore qualità audio con i potenziamenti? Hai raggiunto il limite di 100 server @@ -3201,6 +3212,7 @@ Dai giochi, alla musica, fino all\'apprendimento: c\'è un posto per te. Trova la tua community su Discord Segui aggiornamenti + Trova la tua community Cerca community Community popolari !!{username}!!, potrebbero piacerti questi server @@ -3319,18 +3331,40 @@ Crea {count} {number} + Ma potresti scriverne alcuni! + Questo server non ha ancora messaggi più attivi. + Ricarica la pagina o controlla la nostra [pagina dello stato]({url}). + Ops! Hai scovato un errore rarissimo. + Ricarica per vedere cosa sta succedendo + Questo è quanto, per ora! Ma aspetta, potrebbe esserci dell\'altro… + Apri il messaggio di !!{channelName}!! nella barra laterale + {maxReplies}+ risposte {numReplies} + Ricarica Messaggi più attivi + Hai visto tutti i messaggi più attivi delle ultime 2 settimane. + Ora hai letto tutto Colore della cartella Nome della cartella !!{folderName}!!, cartella {mentions} !!{folderName}!!, cartella {mentions}, !!{expandedState}!! Cartella server senza nome Impostazioni cartella salvate! + Pagina principale Questa è una nuova sezione di cui stiamo effettuando il beta test per aiutarti a rimanere al corrente di tutto ciò che accade nel tuo server. Pagina principale - !!{guildName}!! + Cambia il banner del profilo del server + Tocca per modificare la sezione Chi sono di questo server + Modifica la sezione Chi sono di questo server + Se lasciato in bianco, saranno utilizzate le tue informazioni predefinite della sezione Chi sono. + Tocca per aggiungere la sezione Chi sono di questo server Profilo del server per !!{guildName}!! + Cambia il banner del profilo del server + Elimina l\'avatar del server + Banner del profilo del server + Ripristina il banner predefinito Hai bisogno di altro? Ottieni una personalizzazione del profilo del server completa con Nitro. + Carica il banner del profilo del server Puoi essere chi vuoi e utilizzare avatar, banner e informazioni diversi in ognuno dei tuoi server, sbloccare avatar animati e molto altro ancora con [Discord Nitro!](onAndMore) Esprimiti al massimo con i profili del server Invita nei server @@ -3364,6 +3398,8 @@ Il link per la verifica è scaduto. Verifica completata. Verifica della tua richiesta in corso. + Visualizza impostazioni del server + Quante cose da fare! Prendi in considerazione l\'idea di cambiare le impostazioni di notifica predefinite del server a **solo @menzioni** per aiutare i membri. Invia una notifica a @everyone Fai anche sapere a @everyone che l\'evento sta iniziando. $[Informa @everyone che la conferenza sta iniziando.](tooltipHook) [Attiva](toggleClick) @@ -3587,6 +3623,8 @@ $[**!!{user}!!**](userHook) ha modificato $[**!!{target}!!**](targetHook) Imposta il canale degli aggiornamenti dei server di community su **!!{newValue}!!** **Rimosso** il canale degli aggiornamenti dei server di community + Cambia il link d\'invito personalizzato in **!!{newValue}!!** + **Ha rimosso** il link d\'invito personalizzato Impostato il livello di verifica del server a **alto** Impostato il livello di verifica del server a **basso** Impostato il livello di verifica del server a **medio** @@ -3746,7 +3784,6 @@ Consigliamo vivamente di attivare le notifiche solo per le @menzioni in un Discord pubblico. A causa delle dimensioni di questo server, i membri non riceveranno notifiche push su mobile per i messaggi che non siano @menzioni. Disattiva Esplora - Disattivando i requisiti dei membri, le persone potranno unirsi alla tua community senza accettarne le regole o senza la tua approvazione manuale. Sei sicuro? Solo gli amministratori del server possono abilitare e disabilitare Esplora. Requisito 2FA per la moderazione abilitato @@ -3799,6 +3836,10 @@ Disattivare Community rimuoverà anche il tuo server da Esplora server. Questo server è stato rimosso da Esplora. Questo server non ha soddisfatto i requisiti sottostanti ed è stato rimosso automaticamente da Esplora. Non ti preoccupare, verrai aggiunto nuovamente il server quando tornerà a soddisfarli. I requisiti di attività vengono ricalcolati settimanalmente. + Permette alle informazioni di comparire quando sul tuo server, in qualunque chat, viene cliccata un\'emoji o un adesivo personalizzati. Gli utenti potranno visualizzare e unirsi al tuo server tramite le informazioni mostrate. + Disattiva informazioni emoji/adesivo + Attiva informazioni emoji/adesivo + Mostra le informazioni dell\'emoji/adesivo con un clic Fai crescere la tua community con Esplora server Discord farà comparire questo server tra le ricerche degli utenti che parlano la stessa lingua. Apparire in [Esplora server](onLinkClick) permette a chiunque di trovare e unirsi al tuo server. @@ -3813,6 +3854,7 @@ Sottocategorie Nome emoji Inserisci il nome dell\'emoji + Aggiungi fino a {count} emoji personalizzate che tutti possono usare in questo server. Le GIF animate possono essere usate solo dai membri che hanno Discord Nitro. I nomi delle emoji devono essere lunghi almeno 2 caratteri e possono contenere solo caratteri alfanumerici e trattini bassi. Le emoji devono occupare meno di {maxSize} kB. Potenzia il tuo server al livello {level} per sbloccare slot per emoji aggiuntivi! Perse emoji di livello {level} Potenzia il tuo server al livello {level} o compra un livello per sbloccare le emoji! @@ -3859,6 +3901,8 @@ Opzione di archiviazione da 1 settimana per i thread Crea thread privati Banner del server animato + Link d\'invito personalizzato per il server + Qualità audio {bitrate} kbps +{adding} slot per le emoji del server (per un totale di {total}) +{adding} slot per adesivi personalizzati ({total} in totale) {fileSize} di limite di caricamento per tutti i membri @@ -4598,6 +4642,14 @@ Emoji !!{name}!! Icona !!{name}!! Logo !!{name}!! + Che cosa sono i canali? + I canali sono i posti in cui puoi chiacchierare, fare un salto per salutare gli amici, giocare in compagnia e molto altro. Ogni server ha una lista canali che puoi scorrere per vedere cosa succede. + Messaggi diretti + I messaggi diretti sono separati dai server. Puoi mandare un MD a un amico in privato per fare due chiacchiere o creare una chat di gruppo per un massimo di 10 persone. + Ti serve ancora aiuto? + Non trovi quello di cui hai bisogno? [Visita il nostro Centro assistenza]({helpCenterUrl}) per ulteriori informazioni. + Che cos\'è un server? + I server sono luoghi in cui puoi passare del tempo con i tuoi amici e incontrare persone. Gran parte dei server sono privati o accessibili solo su invito. in !!{categoryName}!! Impostazioni della voce in gioco Nel canale vocale @@ -4616,6 +4668,7 @@ Mi interessa No, grazie Quando sono caricati direttamente su Discord + Le immagini più grandi di {maxSize} MB non avranno l\'anteprima. Quando sono inviati come link alla chat testuale Mostra le immagini, i video e i lolcat… Dispositivo di ingresso @@ -4687,6 +4740,7 @@ Questa applicazione non ha comandi. Questa applicazione non ha webhook in questo server. Hai raggiunto il limite massimo di sovrascritture dei permessi. + Hai raggiunto il numero massimo di permessi. Rimuovine {removeCount} per fare altre modifiche. Rimuovi integrazione Sei sicuro di voler rimuovere **!!{applicationName}!!**? Si è verificato un errore interno del server. @@ -4846,6 +4900,7 @@ Aggiungiamo qualche amico! Invita Piccolo avvertimento! Gli amici che inviti possono vedere la cronologia dei messaggi precedente al loro arrivo. + Questo canale è privato, perciò solo i membri e i ruoli selezionati potranno visualizzarlo. Cerca nuovi amici Invito inviato !!{maxAge}!!, !!{maxUses}!! @@ -4856,6 +4911,7 @@ Oppure, manda un link d\'invito allo stream a un amico Invita allo stream Invita al server + Invita gli amici su **!!{name}!!** URL di invito Unisciti alla chat vocale Eccoti sul tuo nuovo server! @@ -5007,6 +5063,7 @@ Espelli Espelli Espelli membri + Espelli, approva e rifiuta membri Espelli !!{user}!! Vuoi davvero espellere !!{user}!! dal server? Potrà riunirsi con un nuovo invito. «!!{user}!!» è stato espulso dal server. @@ -6187,9 +6244,21 @@ Annulla !!{planPremiumType}!!? La cancellazione avrà effetto immediato per qualsiasi abbonamento a Discord Nitro o di potenziamento server. Il tuo Discord Tag sarà randomizzato se l\'hai cambiato. No, conserva Nitro + No, conserva Nitro I **2 potenziamenti gratuiti** e lo **sconto del 30%% sui potenziamenti** {boostCount} Il **30%% di sconto sui potenziamenti** + 2 potenziamenti gratuiti e 30%% di sconto + Usa le emoji e gli adesivi personalizzati ovunque + Regali del profilo e tag personalizzato + Alta definizione, streaming video a 60 FPS + hai fatto streaming per {month} + ore + Streaming video HD + Upload dei file aumentato a 100MB + file grandi + hai inviato {month} + Dimensioni di caricamento maggiori Accesso a **emoji** e **adesivi personalizzati** in tutti i tuoi server Accesso a **emoji personalizzate** in tutti i tuoi server **Avatar animato**, **banner del profilo** e **Discord Tag** personalizzato @@ -6310,15 +6379,21 @@ Attiva potenziamenti server {numSubscriptions} disponibili Ci dispiace, ma al momento non supportiamo l\'annullamento dei potenziamenti acquistati con !!{paymentGatewayName}!!. Puoi annullare il tuo potenziamento tramite la Gestione abbonamento [!!{paymentGatewayName}!!]({subscriptionManagementLink}). + Vuoi davvero cancellare un potenziamento server? Faremo a pezzi questo gioiellino. Sarà rimosso dai server associati e cancellato dal tuo abbonamento alla fine del periodo di fatturazione: **{endDate}**. + Vuoi davvero cancellare un potenziamento server dal tuo inventario? Faremo a pezzi questo gioiellino. Sarà rimosso dai server associati e cancellato dal tuo abbonamento alla fine del periodo di fatturazione: **{endDate}**. Sì, cancella potenziamento Il tuo abbonamento è scaduto. Aggiornare le informazioni di pagamento prima di gestire i potenziamenti. Questo potenziamento è incluso con il tuo abbonamento Nitro Cancella potenziamento Si è verificato un errore nel tentativo di cancellare questo potenziamento. + **{subscriptionCount}** {subscriptionCount} + Questo abbonamento di potenziamento server sarà cancellato alla fine del periodo di fatturazione di Nitro o Nitro Classic, **{endDate}**. I cambiamenti al tuo abbonamento sono spiegati qui sotto: Cancella potenziamento server Cancella potenziamento server da un server Cancella potenziamento server dall\'inventario Potenziamento in fase di cancellazione + D\'accordo, siamo pronti a fare a pezzi questo gioiellino per te. Questo potenziamento sarà cancellato il: **{endDate}**. **Puoi comunque continuare a usare il potenziamento fino alla sua distruzione!** + Potenziamento cancellato! {date} Potenziando da {date} ({months}) Si è verificato un errore nel tentativo di effettuare un potenziamento. Riprova. @@ -6390,13 +6465,18 @@ Limite di upload dei file aumentato a 100MB Mostra a tutti di cosa tratta il tuo server impostando un banner del server Miglioramenti importanti, tra cui la possibilità di caricare file di grandezza maggiore, qualità audio migliorata e molto altro! + Miglioramenti importanti, tra cui icona del server animata, opzioni di thread aggiuntive e molto altro! + Miglioramenti importanti, tra cui la possibilità di caricare file di grandezza maggiore, banner del server, icone di ruolo personalizzate e molto altro! + Miglioramenti importanti, tra cui link d\'invito personalizzato, slot extra per le emoji e banner del server animato. Imposta un\'icona unica per ogni ruolo nel server Condivisione schermo in 1080p/60fps Condivisione schermo in 720p/60 fps Caricare adesivi personalizzati disponibili per tutti Carica fino a {numStickers} adesivi personalizzati e {numEmojis} emoji personalizzate + Carica fino a {numStickers} adesivi personalizzati Opzioni di archiviazione più lunghe per i thread Creare thread privati + Aggiungi nuovi membri facilmente con un link d\'invito personalizzato Obiettivo: {levelName} Acquista potenziamenti per aiutare a sbloccare i benefici di {levelName}! Questo server ha sbloccato tutti i benefici del potenziamento! @@ -6535,6 +6615,7 @@ I tuoi abbonamenti Questo adeguamento include ripartizioni, sconti e rimborsi. Questi sono i tuoi abbonamenti correnti. Ti verranno addebitati in un\'unica fattura. + Abbonamento a {planName} cancellato Tariffa !!{planName}!! Questa tariffa verrà applicata dopo che avrai sottoscritto un abbonamento !!{planName}!!. Questa tariffa può essere applicata solo a un abbonamento !!{planName}!! acquistato su desktop. @@ -6716,8 +6797,11 @@ Azioni profilo Carica il tuo banner personalizzato e molto altro ancora con Discord Nitro! $[](renderTimeHook) trascorsi + Le dimensioni minime consigliate sono 600x240 con proporzione 5:2. I tipi di file consentiti includono PNG, JPG e GIF animate. Parla un po\' di te a questo server + Non salvare Salvare le modifiche? + Hai fatto delle modifiche. Vuoi salvarle prima di uscire da questa schermata? Esclusiva Nitro Anteprima Badge utente @@ -6878,6 +6962,7 @@ Annulla Time out Annulla Time out di !!{user}!! Rimuovi !!{user}!! dal thread + Rimuovi il link d\'invito personalizzato Mostra embed e anteprime dei link dei siti web nella chat testuale Embed e anteprime dei link Mostra le reazioni con emoji ai messaggi @@ -7014,11 +7099,13 @@ Permessi predefiniti per tutti i membri del server Icona di ruolo, {name} Scegli immagine + Carica un\'immagine che occupi meno di 256 kB o scegli un\'emoji personalizzata dal server. Consigliamo un\'immagine di almeno 64x64 pixel. I membri vedranno l\'icona corrispondente al loro ruolo più importante, se ne possiedono più di uno. Scopri di più Icona di ruolo personalizzata per {name}. Questa funzionalità fa parte del Potenziamento server. Emoji Carica immagine Sfoglia file + Oh, no! Il file è troppo grande. Seleziona un file .png o .jpg che non occupi più di 256 kB. Scegli un PNG o JPG da caricare ID copiato per ruolo: {role} I membri che hanno più ruoli useranno il colore di quello più in alto di questa lista. Riordina i ruoli trascinandoli. @@ -7094,6 +7181,7 @@ Consente ai link condivisi dai membri di mostrare le risorse contenute, in questi canali. Consente ai link condivisi dai membri di mostrare le risorse contenute, in questo canale. Nessun permesso trovato + L\'espulsione consente di rimuovere altri membri da questo server. I membri espulsi potranno rientrare con un nuovo invito. Se il server presenta requisiti dei membri, questo permesso dà la possibilità di approvare o rifiutare i membri che chiedono di unirsi al server. Consente ai membri di rimuovere altri membri da questo server. I membri espulsi potranno rientrare con un nuovo invito. Consente ai membri di cambiare il nome e la descrizione di questi canali, e le impostazioni testuali/vocali. Potranno anche eliminare questi canali. (Obbligatorio per il moderatore del palco) Consente ai membri di scegliere un argomento per avviare il palco e attivare o disattivare la possibilità di fare richieste per parlare. Possono anche eliminare il canale palco. @@ -7566,11 +7654,15 @@ I trattini sono gli unici caratteri speciali consentiti. Inserisci qui i tag. In Esplora server puoi cercare per nome, descrizione e tag: puoi aggiungerne fino a 10. + Adesso i server con più di {count} membri possono unirsi a Esplora server. + Espandi la tua community più velocemente Emoji del server Chiudi tutte le cartelle Segna cartella come letta + Silenzia tutti i server nella cartella Cartella Server Impostazioni cartella + Togli il silenziamento a tutti i server nella cartella Dati del server Questo server è momentaneamente al completo. Silenziamento nel server @@ -7593,6 +7685,9 @@ Devi riavviare Discord per cambiare il logging di debug. Procedere? Non fare scadere mai questo link Scegli uno stato + Il tuo server non ha accesso a questa funzionalità. + Non hai accesso a questa funzionalità. + Devi impostare un canale testuale accessibile a tutti i membri prima di creare un link d\'invito personalizzato. Impostazioni Avanzate Aggiungilo! @@ -8416,6 +8511,9 @@ Account non registrato Riattiva audio Annulla + Canale non più preferito + MD non più preferito + Chat di gruppo non più preferita Preferito: no Rimuovi dal primo piano questa persona Siamo spiacenti, ma non sono state trovate app associabili a questo link sul tuo dispositivo: @@ -8814,6 +8912,10 @@ Devi avere il push-to-talk attivato per parlare in questo canale. È necessario il push-to-talk Link d\'invito personalizzato + Ricorda che un canale testuale deve essere accessibile a tutti i membri, perché il suo link d\'invito personalizzato funzioni. + Link d\'invito personalizzato ({uses}) + Facilita l\'accesso al tuo server con un link d\'invito personalizzato. Ricordati che questo renderà il server disponibile pubblicamente a chiunque usi il link. + Ricorda che potremmo riprenderci il link d\'invito personalizzato, se rileviamo un possibile abuso o un conflitto di proprietà intellettuale. Questo server ora è accessibile a tutti tramite il link **!!{url}!!** Questo server ora è accessibile a tutti tramite il link [!!{urlText}!!]({urlValue}) il-tuo-url diff --git a/app/src/main/res/values-ja/plurals.xml b/app/src/main/res/values-ja/plurals.xml index 8e705a94d8..eb73591346 100644 --- a/app/src/main/res/values-ja/plurals.xml +++ b/app/src/main/res/values-ja/plurals.xml @@ -557,8 +557,8 @@ {#} 件のイベント - {#} 件の返信 - {#} 件の返信 + {#}件の返信 + {#}件の返信 , {#} 件の未読のメンション @@ -944,6 +944,14 @@ {#} 個の適用済みブースト {#} 個の適用済みブースト + + {#}ヵ月 + {#}ヵ月 + + + {#}ヵ月 + {#}ヵ月 + {#} ブースト {#} ブースト @@ -1040,6 +1048,10 @@ {#}ブースト {#}ブースト + + サーバーブースト + サーバーブースト + {#}ヶ月 {#}ヶ月 @@ -1432,6 +1444,10 @@ 1 人 {count} 人 + + 1 + {uses} + 1回 {uses}回 diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index ca4068a1e3..76b6371916 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -1196,6 +1196,7 @@ サーバーアバターを変更 アイコン を変更 サーバープロフィールを編集 + アバターとプロフィールバナー サーバープロフィール 空欄にした場合、メインのプロフィールが使用されます。 サーバーのみんなにあなたのことをちょこっと教えてください @@ -1203,6 +1204,7 @@ サーバーごとに使うアバターを変えることも、Discord Nitro ならできちゃいます! ニックネーム(無効) このサーバー専用のニックネームとアバターを設定して、サーバー内のメンバーに見せる自分を変更できます。 + アバターを初期設定に戻す 不明なエラー サーバー アバターを 変更 サーバーごとに使うアバターを変えることも、**Discord Nitro ならできちゃいます!** @@ -1230,6 +1232,7 @@ パスワードを変更 電話番号を変更しますか? 背景を変更 + 利用できない文字列が含まれている、短すぎる、またはすでに使われているため、カスタム招待リンクの変更ができませんでした。 カスタム招待リンクには半角英数字とハイフンのみ含めることができます。 変更履歴コンテンツ 友達にDiscordの新しいホームページをご紹介ください! 第一印象は大切ですからね。 詳細 @@ -1245,16 +1248,6 @@ 参加者 チャンネルは削除されました。 チャンネルのヘッダー - チャンネル情報 - 通知オフにすると、自分がメンションされた場合を除き、未読メッセージ表示や通知がされなくなります。 - 名前 - 通知 - 詳細 - トピック - 編集 - あなたの設定 - チャンネル情報を非表示 - チャンネル情報を表示 あなたのロールではこのチャンネルにアクセスできません。 ロックされたチャンネル 権限はカテゴリー:**{categoryName}**と同期しています @@ -1362,6 +1355,7 @@ 登録 削除 添付ファイルのクリア + ビルドの上書きをクリア テキストを消去 クリックして詳細を表示 チャンネルを複製 @@ -1943,6 +1937,7 @@ !!{a}!!、!!{b}!!、{n}がボイスチャンネルにいます。 誰もボイスチャンネルにいません。 カスタムカラー + カスタム招待リンクを使用するには、全メンバーがアクセス可能なテキストチャンネルが1つ必要です。 カスタムステータス 後に消去 ステータスを消去 @@ -2271,6 +2266,7 @@ 1 件のアクティビティ ボイスチャンネルで今すぐ一緒にプレイ! NEW! アクティビティ + 無料でみんなと一緒にボイスチャンネルでプレイしましょう。さらにサーバーブーストでアクティビティがもっとアンロックされます! 別のアクティビティ 絵文字 お気に入りに追加 @@ -2320,6 +2316,7 @@ プライベートまたは利用不可のサーバーで作られた絵文字です。カスタム絵文字の利用について、[詳しくはこちら](openPremiumSettings)をご覧ください。 お気に入りから削除 {count} + 絵文字が大きすぎます!絵文字は{maxSize}KB未満でなければなりません。 クリックして詳細を表示 {count} ユーザーを @mention すると、このプライベートスレッドに追加できます。 @@ -2492,10 +2489,18 @@ リンクをコピー ブラウザで開く リンクの共有 + チャンネルをお気に入りに追加 + ダイレクトメッセージをお気に入りに追加 + グループDMをお気に入りに追加 これ以上お気に入り登録はできません。 お気に入りに追加 + Discordの新機能、「お気に入り」をご紹介!コンテキストメニューからチャンネル、ボイスチャット、DMをお気に入りに追加しましょう。 + お気に入り + 元のサーバーへ行く + お気に入り お気に入り登録は {count} 件までです。 申し訳ありません。 + この名前はあなたのお気に入りリストでのみ表示されます。 その他 問題について詳しくお聞かせください 報告したい問題 @@ -2557,6 +2562,7 @@ 誰かが話している時に他のアプリの音量を下げます。 0%%に設定すると減衰を無効にします。 スレッドは、指定された期間にわたって活動がなかった場合、アーカイブされます。 インジケーターが緑に点灯している時は、Discordがあなたの美声を送信しています。 + 上げすぎ注意!回線が貧弱なユーザーに悪影響を及ぼす可能性があるため、{bitrate}kbps以上に調節するのはおすすめしません。 Discord認証マイクを使用している間は、特定の音声処理機能はDiscordではなく マイク側で処理されます。 プライバシー設定を変更し、メンバーがこのチャンネルに対して行える操作をカスタマイズしましょう。 デバッグのため、次の音声/動画接続で受信したRTPデータを全て記録します。 @@ -2749,6 +2755,7 @@ マイクのテスト テキスト読み上げ テキスト読み上げによる通知 + 新しいイベントの通知をオン **!!{name}!!**を通知オン テキストボックス ユーザー人数制限 @@ -2788,6 +2795,7 @@ サーバーのメンバー 追加する キャンセル + フレンド申請をキャンセルしました。 ふむ、フレンド申請の送信中に問題が発生しました。後でフレンドリストからいつでもやり直しできますよ。 ふむ、フレンド申請を!!{name}!!に送信中に問題が発生しました。後でフレンドリストからいつでもやり直しできますよ。 フレンド申請に失敗しました @@ -3107,6 +3115,9 @@ {username}を視聴中 チャンネルへ移動 了解 + 購入で問題が発生しました。しばらくしてからもう一度お試しください。 + 申し訳ありません。 + Google Playに接続できませんでした。しばらくお待ちいただきもう一度お試しください。 一時的なメンバーとして招待 グリーン グレー @@ -3154,9 +3165,9 @@ いい感じ! 詳細 また後で - 今すぐレベル 1 にブーストして、音質も 96 kbps から 128 kbps にブーストしましょう。 - 今すぐレベル 2 にブーストして、音質も 128 kbps から 256 kbps にブーストしましょう。 - 今すぐレベル 3 にブーストして、音質も 256 kbps から 384 kbps にブーストしましょう。 + レベル1にブーストして音声品質をよりなめらかにしましょう。同じ部屋でおしゃべりしてるみたいになります。 + レベル2にブーストして音声品質をよりなめらかにしましょう。同じ部屋でおしゃべりしてるみたいになります。 + 今すぐレベル3にブーストして、音質も256kbpsから384kbpsにブーストしましょう。 ブーストで音質もアップしちゃうって知ってましたか? サーバー数上限(100)に達しました 参加できるサーバー数の上限を 200 まで増やします。 @@ -3206,6 +3217,7 @@ ゲームから音楽、学びまで、あなたにぴったりの場所がここにある。 Discordで自分のコミュニティを探す アップデートをフォロー + コミュニティを見つけよう コミュニティを検索 人気のコミュニティ !!{username}!!におすすめのサーバーです @@ -3324,18 +3336,40 @@ 新規作成 {count} {number} + 書いてもいいんですよ! + このサーバーにトップメッセージはありません…今はね。 + ページを更新するか、[ステータスページ]({url})をご確認ください。 + おっと!ウルトラレアなエラーを引いてしまったようです。 + 更新して最新の状況を見る + 今のところは以上!あっいや、まだかも… + !!{channelName}!!からのメッセージをサイドバーで開く + {maxReplies}以上の返信 {numReplies} + リロード トップメッセージ + 直近2週間のトップメッセージは全て表示しました。 + 通知はありません フォルダの色 フォルダ名 !!{folderName}!!, フォルダ {mentions} !!{folderName}!!, フォルダ {mentions}, !!{expandedState}!! 名称未設定のサーバーフォルダ フォルダ設定を保存しました! - これはサーバーでの出来事をいつでも把握できるよう、ベータ版テスト中の新 UI です。 + ホーム + これはサーバーでの出来事をいつでも把握できるよう、ベータ版テスト中の新UIです。 ホーム - !!{guildName}!! + サーバープロフィールバナーを変更 + タップしてこのサーバーのプロフィールを編集 + このサーバーのプロフィールを編集 + 空欄にした場合、デフォルトのプロフィールが使用されます。 + タップしてこのサーバーにプロフィールを追加 !!{guildName}!!で使うサーバープロフィール + サーバープロフィールバナーを変更 + サーバーアバターを削除 + サーバープロフィールバナー + バナーを初期設定に戻す まだ足りない? Nitro でサーバープロフィールのカスタマイズ機能を全部アンロックできますよ。 + サーバープロフィールバナーをアップロード なりたい自分になるため、サーバーごとにアバターやバナー、自己紹介を変えたり、アニメアバターをアンロックしたり。その他いろんなことが [Discord Nitro](onAndMore) ならできちゃいます! サーバープロフィールで自分の全てを表現しちゃおう サーバーに招待 @@ -3369,6 +3403,8 @@ 認証リンクの有効期限が切れています。 認証に成功しました。 リクエストを認証中です。 + サーバー設定を表示 + 通知だらけで目が回っちゃう!サーバーのデフォルト通知設定を**@mentionsのみ**にしてメンバーに優しいサーバーにするのはいかがでしょうか。 @everyone に通知 また、イベントの開始を @everyone に伝えます。 $[ステージの開始を @everyone に伝えるよう設定できます。](tooltipHook) [有効にする](toggleClick) @@ -3592,6 +3628,8 @@ $[**!!{user}!!**](userHook)が$[**!!{target}!!**](targetHook)に変更を加えました コミュニティサーバーのアップデートチャンネルを **!!{newValue}!!** に設定 コミュニティサーバーのアップデートチャンネルを**削除しました** + カスタム招待リンクを**!!{newValue}!!**に設定 + カスタム招待リンクを**削除**しました サーバーの認証レベルを**高**に変更しました サーバーの認証レベルを**低**に変更しました サーバーの認証レベルを**中**に変更しました @@ -3751,7 +3789,6 @@ 公開サーバーでは、こちらは @mentions のみに設定する事を強くおすすめします。 サーバーの規模が大きいため、メンバーには、@mention以外のメッセージのモバイルプッシュ通知は届きません。 発見を無効にする - メンバー要件を無効にすると、ルールの確認や手動承認なしで、新しいメンバーがサーバーに参加できるようになります。 よろしいですか? 発見は、サーバー管理者のみが有効化・無効化できます。 管理の二要素認証が有効化されました @@ -3804,6 +3841,10 @@ コミュニティを無効にすると、サーバー発見から削除されます。 このサーバーは「サーバー発見」から削除されました。 このサーバーは以下の要件を満たしていなかったため、「サーバー発見」から自動的に削除されました。改めて審査を通ればまた参加できますので、ご心配なく。 要件の再チェックは毎週行っています。 + 所属サーバーのカスタム絵文字またはステッカーをどこかのチャットで使う際、クリック時に情報が表示されます。ユーザーは、表示された情報からそのサーバーに参加することができるようになります。 + 絵文字/スタンプ情報を無効化 + 絵文字/スタンプ情報を有効化 + クリック時に絵文字/ステッカーの情報を表示 サーバー発見でコミュニティを広げましょう Discordは検索の際、選択された言語を話すユーザーに対してこのサーバーを優先させます。 [サーバー発見](onLinkClick)に載ると、誰でもあなたのサーバーを見つけて参加できるようになります。 @@ -3818,6 +3859,7 @@ サブカテゴリー エイリアス エイリアスを入力する + このサーバーでは、誰でも使えるカスタム絵文字を最大{count}個まで追加できます。アニメGIF絵文字はDiscord Nitroを使用するメンバーのみが使えます。絵文字の名前は2文字以上、使用可能なのは英数字と下線です。絵文字のサイズは{maxSize}KB以下である必要があります。 サーバーをレベル {level} にブーストして、さらに絵文字スロットをアンロック! レベル {level} の絵文字が失われました サーバーをレベル {level} にブースト、またはレベルを購入して絵文字をアンロック! @@ -3864,6 +3906,8 @@ スレッドのアーカイブ期限を 1 週間とするオプション プライベートスレッドの作成 アニメサーバーバナー + このサーバーのカスタム招待リンク + {bitrate}Kbps音声品質 +{adding} サーバー絵文字スロット (合計 {total}) +{adding} カスタムスタンプスロット(合計 {total}) 全メンバー対象のアップロード上限は{fileSize} @@ -4603,6 +4647,14 @@ !!{name}!!の絵文字 !!{name}!!のアイコン !!{name}!!のロゴ + チャンネルとは? + チャンネルとは、おしゃべりしたり、通話に参加したり、ゲームをしたりできる場所です。サーバーにはチャンネルリストがあり、スクロールしてみんなの様子を見ることができます。 + ダイレクトメッセージ + ダイレクトメッセージはサーバーとは異なるものです。ちょっとした会話にフレンドへプライベートにDMを送ったり、10人までのグループDMを作ったりできます。 + お困りですか? + 探している情報が見つかりませんか?[詳しくはヘルプセンター]({helpCenterUrl})をご確認ください。 + サーバーとは? + サーバーは、フレンドと交流したり、新しい人たちと出会える場所です。多くのサーバーはプライベートで、招待制となっています。 !!{categoryName}!!内 ゲーム内の音声設定 音声チャンネル内 @@ -4621,6 +4673,7 @@ 興味あり やめておく Discordに直接アップロードされたとき + {maxSize}MBを超える画像のプレビューは表示できません。 チャットにリンクが投稿されたとき 画像・映像などを表示 入力デバイス @@ -4692,6 +4745,7 @@ このアプリケーションにはコマンドがありません。 本サーバー内にはこのアプリケーションのウェブフックがありません。 権限上書き回数の上限に達しました。 + 権限の数が上限に達しました。さらに変更を加えるには、{removeCount}件削除してください。 連携を削除 本当に **!!{applicationName}!!** を削除してもよろしいですか? サーバーでエラーが発生しました。 @@ -4851,6 +4905,7 @@ 友達を追加しよう! 友達を招待 注意してください!招待した友達はあなたの以前のメッセージ履歴を見ることができます。 + このチャンネルはプライベートです。選ばれたメンバー、ロールだけがこのチャンネルを見ることができます。 友達を検索 招待を送信しました !!{maxAge}!!、 !!{maxUses}!! @@ -4861,6 +4916,7 @@ もしくは、フレンドに配信の招待リンクを送る 配信に招待する サーバーに招待 + フレンドを**!!{name}!!**に招待する 招待URL ボイスチャンネルに参加 新しいサーバーへようこそ! @@ -5012,6 +5068,7 @@ キック キック メンバーをキック + メンバーのキック、承認、拒否 !!{user}!!を追放 !!{user}!! をサーバーからキック(追放)しますか? キック後、再度サーバーに参加させる場合は、改めて招待してください。 「!!{user}!!」がサーバーからキックされました。 @@ -6192,9 +6249,21 @@ !!{planPremiumType}!!をキャンセルしますか? キャンセルは、あらゆるNitroおよびサーバーブースト・サブスクリプションについて即時有効となります。Discord Tagは、変更していた場合ランダムになります。 やっぱり Nitro を続ける + Nitroを続ける **2 つの特典ブースト**と**ブースト 30%% 割引** {boostCount} **ブースト 30%% 割引** + 2つの特典ブーストと30%%割引 + どこでもカスタム絵文字とステッカーが使える + プロフィールスワッグとカスタムタグ + 高解像度、60FPSのビデオ配信 + あなたは{month}間配信しました + 時間 + HD動画配信 + ファイルアップロード上限を100MBにアップ + 大きなファイル + あなたは{month}間送信しました + ファイルのアップロードサイズ増 参加している全てのサーバーでの**カスタム絵文字**と**スタンプ**の利用 参加している全てのサーバーでの**カスタム絵文字** **アニメアバター**、**プロフィールバナー**、カスタム**Discord Tag** @@ -6315,15 +6384,21 @@ アクティブなサーバーブースト {numSubscriptions}利用できます 申し訳ございません。現在、!!{paymentGatewayName}!!を通じて購入されたブーストのキャンセルをサポートしておりません。ブーストのキャンセルは、[!!{paymentGatewayName}!!のサブスクリプション管理]({subscriptionManagementLink})から行ってください。 + このサーバーブーストをキャンセルしますか?ジェムを砕くことになっちゃいますよ。 該当するサーバーから削除され、課金期間(**{endDate}**)の終了時にご利用のサブスクリプションからキャンセルされます。 + インベントリからサーバーブーストをキャンセルしますか?ジェムを砕くことになっちゃいますよ。 該当するサーバーから削除され、課金期間(**{endDate}**)の終了時にご利用のサブスクリプションからキャンセルされます。 はい、ブーストをキャンセルする サブスクリプションの期限が過ぎています。ブーストを管理するにはお支払い情報を更新してください。 このブーストはご利用のNitro購読に含まれています ブーストのキャンセル このブーストのキャンセル中にエラーが発生しました。 + **{subscriptionCount}**回の{subscriptionCount}がキャンセルされました + このサーバーブーストサブスクリプションは、NitroまたはNitro Classicの課金期間(**{endDate}**)の終了時にキャンセルされます。 サブスクリプションへの変更が以下のように反映されました。 サーバーブーストのキャンセル サーバーからサーバーブーストをキャンセル インベントリからサーバーブーストをキャンセル キャンセル保留中のブースト + 分かりました。ブーストジェムを砕いてしまいますよ。 このブーストは、**{endDate}**にキャンセルされます。 **このブーストは破壊されるまでは使用できます!** + ブーストをキャンセルしました! {date} {date}よりブースト中({months}) ブーストしようとした際にエラーが発生しました。もう一度お試しください。 @@ -6390,18 +6465,23 @@ ブーストを行うと、サーバーのメンバー全員が楽しめる強力な機能やアップグレードがアンロックされます。さっそくブーストして、次のような特典をゲット! 楽しいアクティビティがさらに解放! アニメサーバーアイコンで目立っちゃおう - 音質が {targetQuality} Kbps にアップ + 音質が{targetQuality}Kbpsにアップ サーバーへの招待にカスタム背景を設定しよう ファイルアップロード上限を 100MB にアップ サーバーバナーでみんなにあなたのサーバーをアピールしよう アップロードサイズ増、音質アップなどなどの強力なアップグレード! + グレートなアップグレード:アニメサーバーアイコン、スレッドの追加機能などなど! + グレートなアップグレード:アップロードサイズ増、サーバーバナー、カスタムロールアイコンなどなど! + グレートなアップグレード:カスタム招待リンク、追加絵文字スロット、アニメサーバーバナー。 サーバーの各ロールに独自のアイコンを設定 1080p/60fps の高画質画面共有 720p/60fps で画面共有 全員が使えるカスタムスタンプをアップロード 最大 {numStickers} 個のカスタムスタンプ、{numEmojis} 個のカスタム絵文字をアップロード + 最大{numStickers}個のカスタムステッカーをアップロード スレッドのアーカイブ期限が延長可能に プライベートスレッドの作成 + カスタム招待リンクでお手軽に新メンバーを追加 目標:{levelName} ブーストを購入して{levelName}特典のアンロックに貢献しよう! このサーバーのブースト特典は全てアンロックされています! @@ -6540,6 +6620,7 @@ お客様の購読 この調整には、配分、割引、返金が含まれます。 こちらが現在の購読です。 同じ請求サイクルで課金されます。 + {planName}をキャンセルしました !!{planName}!! クレジット このクレジットは!!{planName}!!サブスクリプションにサインアップすると、適用されます。 このクレジットは、デスクトップ版で購入した !!{planName}!! サブスクリプションに適用できます。 @@ -6721,8 +6802,11 @@ プロフィール操作 Discord Nitro なら、自分だけのバナーをアップロードしたりできますよ! $[](renderTimeHook)経過 + 推奨最小サイズは600x240、推奨アスペクト比は5:2です。使用可能なファイルタイプはPNG、JPG、およびアニメーションGIFです。 サーバーのみんなにあなたのことをちょこっと教えてください + 保存しない 変更を保存しますか? + 変更を行ないました。このページから退出する前に、変更を保存しますか? Nitro 限定 プレビュー ユーザーバッジ @@ -6883,6 +6967,7 @@ タイムアウトを解除 \'!!{user}!!\' のタイムアウトを解除 !!{user}!! をスレッドから削除 + カスタム招待リンクを削除 埋め込み画像を表示し、チャットに投稿されたウェブリンクをプレビューします 埋め込みとリンクのプレビュー メッセージへの絵文字リアクションを表示します @@ -7019,11 +7104,13 @@ サーバーメンバー全員のデフォルト権限 ロールアイコン、{name} 画像を選択 + 256KB以下の画像をアップロードするか、このサーバーのカスタム絵文字をひとつ選択してください。64x64ピクセル以上を推奨します。複数のロールを持つメンバーは、もっとも高位のロールのアイコンで表示されます。 もっと詳しく {name} のカスタムロールアイコン。この機能はサーバーブースト特典に含まれます。 絵文字 画像をアップロード ファイルを閲覧 + おっと、ファイルが大きすぎるようです!256KB以下の.pngまたは.jpgファイルを選んでください。 アップロードする PNG または JPG ファイルを選択してください ロール: {role} 用にIDをコピーしました メンバーには、このリストに割り当てられている最も高いロールの色が適用されます。ドラッグすることでロールの順序を入れ替えられます。 @@ -7099,6 +7186,7 @@ メンバーがこれらのチャンネルで共有する、埋め込みコンテンツを表示するリンクを許可します。 メンバーがこのチャンネルで共有する、埋め込みコンテンツを表示するリンクを許可します。 権限はありませんでした + キックすると、他メンバーをこのサーバーから削除できます。キックされたメンバーは、招待があれば再度サーバーに参加できます。サーバーがメンバー要件を有効化していた場合、この権限により参加を希望するメンバーの承認および拒否をする機能が有効になります。 この権限を持つメンバーは、他メンバーをこのサーバーから削除できます。キック(追放)されたメンバーは、招待があれば再度サーバーに参加できます。 この権限を持つメンバーは、これらのチャンネルの名前、説明、テキスト/ボイス設定を変更できます。また、これらのチャンネルを削除することもできます。 (ステージ・モデレーターには必須)メンバーが、トピックを設定してステージを開始し、スピーカー参加リクエストを許可・拒否することができ、またステージチャンネルを削除することもできるようにする。 @@ -7571,11 +7659,15 @@ 使用できる特殊文字はダッシュだけです。 タグはこちらへ。 サーバー発見では、名前、説明、タグが検索対象になります。タグは 10 個まで追加できます。 + {count}人以上のメンバーがいるサーバーは、サーバー発見に参加できるようになりました。 + コミュニティ拡大をスピードアップ サーバー絵文字 全てのフォルダを閉じる フォルダを既読にマークする + フォルダ内の全てのサーバーを通知オフ サーバーフォルダー フォルダ設定 + フォルダ内の全てのサーバーを通知オン サーバーインサイト このサーバーは現在満員です。 サーバーミュート @@ -7598,6 +7690,9 @@ デバッグログを変更すると、Discordは終了して再起動します。 実行してもよろしいですか? このリンクを無期限に設定する ステータスを設定 + あなたのサーバーには、この機能へのアクセス権限がありません。 + この機能へのアクセス権限がありません。 + カスタム招待リンクを設定するには、全てのメンバーがアクセス可能なテキストチャンネルが1つ必要です。 設定 詳細設定 追加する! @@ -8419,6 +8514,9 @@ 未承認アカウント スピーカーミュート解除 元に戻す + チャンネルをお気に入りから削除 + ダイレクトメッセージをお気に入りから削除 + グループDMをお気に入りから削除 お気に入りから削除 この人への焦点を外す 申し訳ありませんが、このリンクを実行できるアプリが見つかりません: @@ -8817,6 +8915,10 @@ このチャンネルで発言するにはプッシュツートークを有効にする必要があります。 プッシュツートークが必要です カスタム招待リンク + カスタム招待リンクを使用するには、全メンバーがアクセス可能なテキストチャンネルが1つ必要です。 + カスタム招待リンク({uses}回使用) + あなたのサーバーに参加しやすくなる、素敵なカスタム招待リンクを作成できます。 なおリンクを使うと、リンク経由で参加するあらゆるユーザーに対してサーバーが公開状態になりますので、ご注意ください。 + 悪意のある表現や知的財産権の侵害を発見した場合は、カスタム招待リンクが棄却されることがあります。 サーバーは**!!{url}!!**の誰にでもアクセス出来るようになりました。 サーバーは[!!{urlText}!!]({urlValue})の誰にでもアクセス出来るようになりました。 あなたのURL diff --git a/app/src/main/res/values-ko/plurals.xml b/app/src/main/res/values-ko/plurals.xml index 0a1e793150..60819ff359 100644 --- a/app/src/main/res/values-ko/plurals.xml +++ b/app/src/main/res/values-ko/plurals.xml @@ -944,6 +944,14 @@ {#}개 {#}개 + + {#}개월 + {#}개월 + + + {#}개월 + {#}개월 + 부스트 {#}회 부스트 {#}회 @@ -1040,6 +1048,10 @@ 부스트 {#}회 부스트 {#}회 + + 서버 부스트 + 서버 부스트 + {#}개월 {#}개월 @@ -1432,6 +1444,10 @@ 1명 {count}명 + + 1 회 + {uses}회 + 1회 {uses}회 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index feba332a65..2f11dde7ae 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -1196,6 +1196,7 @@ 서버 아바타 변경하기 아이콘 변경 서버 프로필 편집 + 아바타 및 프로필 배너 서버 소개글 칸을 비워두면 기본 소개글이 사용돼요. 이 서버에 자신을 소개하세요 @@ -1203,6 +1204,7 @@ Discord Nitro 구독으로 참가 중인 서버마다 각기 다른 아바타를 사용해보세요! 별명 (비활성화됨) 서버 별명 및 아바타 설정으로, 이 서버에서 자신이 어떻게 타인에게 나타날지를 바꿀 수 있어요. + 기본 아바타로 재설정하기 알 수 없는 오류 서버 아바타 변경하기 **Discord Nitro 구독**으로 참가 중인 서버마다 각기 다른 아바타를 사용해보세요! @@ -1230,6 +1232,7 @@ 비밀번호 변경하기 전화번호를 변경하고 싶으신가요? 배경 변경하기 + 사용자 지정 링크 변경에 실패했어요. 잘못된 글자가 포함되어 있거나, 너무 짧거나, 이미 존재하는 링크예요. 사용자 지정 링크는 영숫자와 -만 사용 가능해요. 변경 사항 목차 친구에게 Discord의 새로운 홈페이지를 보여주세요! 분명 마음에 들어할 거예요. 자세히 알아보기 @@ -1245,16 +1248,6 @@ 채널이 삭제되었어요. 채널 헤더 - 채널 정보 - 알림을 끄면 멘션을 제외한 새 메시지 알림이 나타나지 않아요. - 이름 - 알림 - 상세 내역 - 주제 - 수정 - 내 설정 - 채널 정보 숨기기 - 채널 정보 보이기 이 채널 이용 권한이 없어요. 채널 잠김 **{categoryName}** 카테고리와 동기화된 권한 @@ -1362,6 +1355,7 @@ 받기 지우기 첨부 파일 지우기 + 빌드 우선 설정 취소 텍스트 삭제 자세히 알아보기 채널 복제하기 @@ -1938,6 +1932,7 @@ !!{a}!! 님, !!{b}!! 님 외 {n}이 현재 음성 채널에 있어요. 현재 음성 채널에 아무도 없어요. 사용자 지정 색상 + 작동하려면 사용자 지정 초대 링크에 모든 멤버가 접속할 수 있는 채팅 채널이 하나 있어야 해요. 사용자 지정 상태 지우기까지: 상태 지우기 @@ -2266,6 +2261,7 @@ 활동 이제 대화하며 플레이 해보세요! 새 기능! 활동 + 아무 음성 채널에서 무료로 함께 플레이하세요! 부스트로 더 많은 활동을 해제하세요! 다른 활동 이모티콘 즐겨찾기에 추가하기 @@ -2315,6 +2311,7 @@ 비공개거나 사용할 수 없는 서버의 이모티콘이에요. [여기서](openPremiumSettings) 사용자 지정 이모티콘 사용법에 대해 알아보세요. 즐겨찾기에서 제거하기 {count} 사용 가능 + 이모티콘의 크기가 너무 커요! 이모티콘의 최대 용량은 {maxSize}KB예요. 자세히 알아보기 {count} 이 비공개 스레드에 사용자를 추가하려면 @mention하세요. @@ -2487,10 +2484,18 @@ 링크 복사 브라우저에서 열기 링크 공유 + 채널 즐겨찾기 + DM 즐겨찾기 + 그룹 메시지 즐겨찾기 즐겨찾기를 더는 추가할 수 없어요. 즐겨찾기에 추가 + 새로운 Discord 기능을 소개해드릴게요! 컨텍스트 메뉴를 통해 채널, 음성 채팅, DM에 별표 표시를 하면 즐겨찾기에 추가할 수 있어요! + 즐겨찾기 + 원래 서버로 이동하기 + 즐겨찾기 즐겨찾기는 {count}개 이하여야 해요. 이런! + 이 이름은 즐겨찾기에서만 표시돼요. 기타 문제 설명하기 내 문제 @@ -2552,6 +2557,7 @@ 누군가 말하면 다른 애플리케이션의 음량을 줄여요. 이 기능을 끄려면 0%%로 설정하세요. 설정한 비활동 시간이 지나면 스레드가 보관 상태가 돼요. 녹색 신호가 들어오면 Discord가 당신의 멋진 목소리를 전송하고 있는 거예요. + 잘 들리시나요! 속도를 {bitrate}kbps 이상으로 올리면 인터넷 연결이 불안정한 사람에게는 불리하게 작용할 수 있기 때문에 권장하지 않아요. Discord 인증 마이크를 사용하면 일부 음성 처리 기능은 Discord가 아닌 마이크 자체에서 조정돼요. 개인정보 보호 설정을 관리하고, 멤버들이 이 채널과 어떻게 상호작용할 수 있을지를 설정하세요. 다음 음성/동영상 연결을 위해 수신된 모든 RTP 데이터를 디버깅 목적으로 기록해요. @@ -2744,6 +2750,7 @@ 마이크 테스트하기 텍스트 음성 변환(TTS) 텍스트 음성 변환(TTS) 관련 알림 + 새 이벤트 알림 켜기 **!!{name}!!** 알림 켜기 텍스트 박스 최대 사용자 수 @@ -2783,6 +2790,7 @@ 서버 멤버 수락 취소 + 친구 요청이 취소되었어요. 친구 요청을 보내는 중 무언가가 잘못됐어요. 친구 목록에서 언제든 다시 시도할 수 있어요. !!{name}!!님에게 친구 요청을 보내는 중 무언가가 잘못됐어요. 친구 목록에서 언제든 다시 시도할 수 있어요. 친구 요청 실패 @@ -3102,6 +3110,9 @@ {username} 시청 중 채널로 이동 알겠어요 + 구매 중 오류가 발생했어요. 잠시 후 다시 시도해 주세요. + 이런! + Google Play Services에 연결할 수 없어요. 잠시 후 다시 시도해 주세요. 임시 멤버 자격 부여 녹색 회색 @@ -3149,8 +3160,8 @@ 멋지네요! 자세히 알아보기 나중에 - 오늘 바로 레벨 1로 부스트해 오디오 품질을 96kbps에서 128kbps로 향상시키세요. - 오늘 바로 레벨 2로 부스트해 오디오 품질을 128kbps에서 256kbps로 향상시키세요. + 모두가 같은 방에 있는 것처럼 매끄러운 오디오 품질을 위해 레벨 1로 부스트하세요. + 모두가 같은 방에 있는 것처럼 매끄러운 오디오 품질을 위해 레벨 2로 부스트하세요. 오늘 바로 레벨 3으로 부스트해 오디오 품질을 256kbps에서 384kbps로 향상시키세요. 부스트로 오디오 품질을 향상시킬 수 있다는 사실, 알고 계셨나요? 서버는 100개까지만 참가할 수 있어요 @@ -3201,6 +3212,7 @@ 게임, 음악, 학습까지. 원하는 걸 찾아보세요. Discord에서 커뮤니티 찾기 업데이트 팔로우 + 나를 위한 커뮤니티를 찾아보세요 커뮤니티 검색하기 인기 커뮤니티 !!{username}!! 님이 좋아할 만한 서버 @@ -3319,18 +3331,40 @@ 만들기 이벤트 {count} {number} + 하지만 지금이라도 새로 작성할 수 있죠! + 이 서버에는 아직 최상단 메시지가 없네요. + 페이지를 다시 불러오거나 [상태 페이지]({url})를 확인해주세요. + 이런! 초 희귀한 오류가 발생한 거 같아요. + 새로 고침해서 무슨 일이 벌어지고 있는지 확인하세요 + 지금은 이게 전부에요! 근데 잠깐, 뭔가 더 있을 수도 있어요… + 사이드바에서 !!{channelName}!!의 메시지 열기 + 답장 {maxReplies}개 이상 답장 {numReplies} + 다시 불러오기 최상단 메시지 + 지난 2주의 모든 최상단 메시지를 확인하셨어요 + 다 읽으셨어요 폴더 색상 폴더 이름 !!{folderName}!!, 폴더 {mentions} !!{folderName}!!, 폴더 {mentions}, !!{expandedState}!! 이름 없는 서버 폴더 폴더 설정 저장 성공! + 이건 서버에서 무슨 일이 벌어지고 있는지 확인을 돕는 새 기능의 베타 테스트 버전이에요. 홈 - !!{guildName}!! + 서버 프로필 배너 변경 + 탭하여 이 서버에 대한 내 소개 수정하기 + 이 서버에 대한 내 소개 수정하기 + 칸을 비워두면 기본 소개글이 사용돼요. + 탭하여 이 서버에 대한 내 소개 추가하기 !!{guildName}!! 서버 소개글 + 서버 프로필 배너 변경 + 서버 아바타 삭제 + 서버 프로필 배너 + 기본 배너로 재설정하기 더 필요하세요? Nitro가 있으면 서버 프로필을 마음껏 맞춤 설정할 수 있어요. + 서버 프로필 배너 올리기 참가 중인 서버마다 다른 아바타, 배너, 소개글을 사용하고, 움직이는 아바타를 잠금 해제하는 등, [Discord Nitro](onAndMore) 구독으로 다양한 특전을 누리세요! 서버 프로필로 자신을 마음껏 표현해보세요 서버 초대 @@ -3364,6 +3398,8 @@ 인증 링크가 만료되었어요. 인증이 성공했어요. 요청을 확인하세요. + 서버 설정 보기 + 여긴 꽤 소란스럽네요! 멤버들에게 도움이 될 수 있도록 이 서버의 기본 알림 설정을 **멘션 알림만**으로 바꾸는 걸 고려해보세요. @everyone에게 알림 보내기 @everyone에게 이벤트 시작을 알리세요. $[무대가 시작되었다고 @everyone에게 알려요.](tooltipHook) [활성화](toggleClick) @@ -3587,6 +3623,8 @@ $[**!!{user}!!**](userHook) 님이 $[**!!{target}!!**](targetHook) 항목을 변경했어요 커뮤니티 서버 업데이트 채널을 **!!{newValue}!!**(으)로 설정 커뮤니티 서버 업데이트 채널 **삭제 완료** + 사용자 지정 초대 링크를 **!!{newValue}!!**(으)로 설정 + 사용자 지정 초대 링크를 **제거했어요** 서버 보안 수준을 **높음**으로 설정함 서버 보안 수준을 **낮음**으로 설정함 서버 보안 수준을 **중간**으로 설정함 @@ -3746,7 +3784,6 @@ 이는 공개 Discord에 대해 \'@mentions만\'으로 설정하는 게 좋아요. 서버 규모 때문에 멤버들이 @mention이 아닌 메시지로는 모바일 푸시 알림을 받을 수 없어요. 서버 찾기 비활성화 - 멤버 요구사항을 비활성화하면 규칙에 동의하지 않거나 수동 승인을 거치지 않은 사람도 커뮤니티에 참가할 수 있어요. 확실한가요? 서버 관리자만 서버 찾기 기능을 켜거나 끌 수 있어요. 관리용 2단계 인증 요구 조건 활성화됨 @@ -3799,6 +3836,10 @@ 커뮤니티를 비활성화하면 이 서버가 서버 찾기에 표시되지 않아요. 이 서버는 서버 찾기에서 제거되었어요. 서버가 아래의 요구 조건을 만족하지 못해서 자동으로 서버 찾기에서 제거되었어요. 하지만 걱정하지 마세요. 요구 조건을 만족하면 다시 결과에 나오거든요. 활동 요구 조건은 매주 확인한답니다. + 어떤 채팅에서든 내 서버의 사용자 지정 이모티콘 또는 스티커를 클릭하면 정보가 나타나요. 사람들이 표시된 정보를 보고 서버에 참가할 수 있죠. + 이모티콘/스티커 정보 비활성화 + 이모티콘/스티커 정보 활성화 + 클릭 시 이모티콘/스티커 정보 표시하기 서버 찾기로 커뮤니티를 키우세요 Discord가 검색 결과에서 이 서버를 해당 언어를 사용하는 사람들에게 우선적으로 보여줄 거예요. [서버 찾기](onLinkClick) 목록에 오르면 누구나 내 서버를 찾아서 참가할 수 있어요. @@ -3813,6 +3854,7 @@ 하위 카테고리 가명 가명 입력하기 + 서버에 접속한 누구든지 사용할 수 있는 커스텀 이모티콘을 최대 {count}개 추가할 수 있어요. 움직이는 GIF 이모티콘은 Discord Nitro 가입 멤버만 사용할 수 있어요. 이모티콘 이름은 최소 2자리이며 글자와 숫자, 밑줄만 포함해야 해요. 이모티콘 크기는 {maxSize}KB 미만이어야 해요. 서버를 레벨 {level}(으)로 부스트하면 이모티콘 슬롯을 더 해제할 수 있어요! 레벨 {level} 이모티콘을 잃었어요 이모티콘을 잠금 해제하려면 서버를 레벨 {level}(으)로 부스트 하거나 레벨을 구매하세요! @@ -3859,6 +3901,8 @@ 스레드 1주 보관 옵션 비공개 스레드 만들기 움직이는 서버 배너 + 서버의 사용자 지정 초대 링크 + 오디오 품질 {bitrate}kbps 서버 이모티콘 슬롯 {adding} 추가(총 {total}) 사용자 지정 스티커 슬롯 {adding}개 추가 (총 {total}개) 모든 멤버 업로드 제한 {fileSize} @@ -4598,6 +4642,14 @@ !!{name}!! 이모티콘 !!{name}!! 아이콘 !!{name}!! 로고 + 채널은 무엇인가요? + 채널이란 대화를 나누고, 목소리로 소통하고, 게임을 플레이하는 등의 활동을 할 수 있는 곳이에요. 각 서버에는 채널 목록이 있어 훑어보며 무슨 일이 있는지 확인해볼 수 있죠. + 다이렉트 메시지 + 다이렉트 메시지는 서버와 별개예요. 친구에게 비공개로 DM을 보내거 잠시 이야기를 나누거나, 최대 10명과 함께하는 그룹 메시지를 생성할 수 있어요. + 여전히 도움이 필요하신가요? + 찾으시려는 정보를 확인하지 못하셨나요? 자세한 정보는 [고객센터]({helpCenterUrl})에서 확인하실 수 있어요. + 서버란 무엇인가요? + 서버란 친구와 함께 시간을 보내고 사람들을 만날 수 있는 공간이에요. 대부분 서버가 비공개 및 초대 전용이죠. :!!{categoryName}!!에 속해 있음 게임 내 음성 설정 음성 채널 접속 중 @@ -4616,6 +4668,7 @@ 관심 있음 사양할게요 Discord에 직접 올렸을 때 + {maxSize}MB 보다 큰 용량의 이미지는 미리 보기가 지원되지 않아요. 채팅에 링크로 올렸을 때 사진, 동영상, 고양이짤 표시하기 녹음 장치 @@ -4687,6 +4740,7 @@ 애플리케이션에 명령어가 없어요. 이 애플리케이션은 이 서버에 웹후크를 가지고 있지 않아요. 권한 덮어쓰기 횟수 제한에 도달했어요. + 최대 권한 개수에 도달했어요. 더 변경하려면 {removeCount}개를 제거하세요. 연동 제거하기 정말 **!!{applicationName}!!**(을)를 제거하시겠어요? 내부 서버에 오류가 발생했어요. @@ -4846,6 +4900,7 @@ 친구를 몇 명 추가해볼까요! 초대하기 조심하세요! 초대한 친구들이 이전의 내 메시지 기록을 볼 수 있어요. + 이 채널은 비공개예요. 선택한 멤버들과 역할만 이 채널을 볼 수 있어요. 친구 찾기 초대장 발송함 !!{maxAge}!!, !!{maxUses}!! @@ -4856,6 +4911,7 @@ 또는 친구에게 방송 초대 링크 보내기 방송으로 초대하기 서버에 초대하기 + 친구를 **!!{name}!!** 그룹으로 초대하기 초대 URL 음성 채널 참가하기 새 서버에 오신 것을 환영해요! @@ -5007,6 +5063,7 @@ 추방하기 추방하기 멤버 추방하기 + 멤버 추방, 승인, 거부 !!{user}!!님 추방하기 정말로 !!{user}!! 님을 서버에서 추방하시겠어요? 새 초대를 받으면 다시 참가할 수 있어요. \'!!{user}!!\' 님이 서버에서 추방되었어요. @@ -6187,9 +6244,21 @@ !!{planPremiumType}!! 플랜을 취소할까요? 모든 Nitro 및 서버 부스트 구독의 취소는 즉시 효력을 발휘해요. Discord Tag를 변경했다면 무작위로 지정될 거예요. Nitro를 유지할래요 + 됐어요, Nitro를 유지할래요 **무료 부스트 2개** 및 **부스트 30%% 할인** 적용된 부스트 {boostCount} **부스트 30%% 할인** + 무료 부스트 2개 및 30%% 할인 + 사용자 지정 이모티콘 및 스티커를 어디에서나 사용 + 프로필 굿즈 및 사용자 지정 태그 + 고화질, 60FPS 동영상 방송 + 방송한 지 {month} 됐어요 + 시간 + HD 동영상 방송 + 파일 업로드 크기가 100MB로 늘어났어요 + 대형 파일 + 보낸 지 {month} 됐어요 + 파일 업로드 용량 증가 소속된 모든 서버에서 **사용자 지정 이모티콘** 및 **스티커** 이용 소속된 모든 서버에서 **사용자 지정 이모티콘** 사용 **움직이는 아바타**, **프로필 배너**, 사용자 지정 **Discord Tag** @@ -6310,15 +6379,21 @@ 서버 부스트 활성화 {numSubscriptions} 사용 가능 죄송해요. 현재는 !!{paymentGatewayName}!!을(를) 통해 부스트를 취소할 수 없어요. [!!{paymentGatewayName}!!의 구독 관리]({subscriptionManagementLink})에서 부스트를 취소할 수 있어요. + 정말로 이 서버 부스트를 취소할까요? 이 보석을 산산이 깨뜨릴 거예요. 청구 기간 최종일인 **{endDate}**에 해당 서버에서 제거되고, 구독이 취소돼요. + 정말로 인벤토리에서 서버 부스트를 취소할까요? 이 보석을 산산이 깨뜨릴 거예요. 청구 기간 최종일인 **{endDate}**에 연결된 서버에서 제거되고, 구독이 취소돼요. 부스트 취소하기 구독이 연체되었어요. 부스트를 관리하려면 결제 정보를 업데이트해주세요. 이 부스트는 Nitro 구독에 포함되어 있어요 부스트 취소 부스트를 취소하는 중 오류가 발생했어요. + **{subscriptionCount}** {subscriptionCount} 취소 완료 + 이 서버 부스트 구독은 다음 Nitro 또는 Nitro Classic 청구 기간 최종일인 **{endDate}**에 취소돼요. 구독에 대한 변경 사항이 다음과 같이 반영돼요. 서버 부스트 취소 서버 부스트 취소 인벤토리에서 서버 부스트 취소 부스트 취소 대기 중 + 좋아요, 부스트 보석을 깨뜨릴 준비는 끝났어요. 이 부스트는 **{endDate}**에 취소될 예정이에요. **부서질 때까지는 이 부스트를 이용할 수 있답니다!** + 부스트가 취소됐어요! {date} {date} 이후로 부스트 중 ({months}) 부스트 중 오류가 발생했어요. 다시 시도해 주세요. @@ -6385,18 +6460,23 @@ 부스트를 쓰면 강력한 기능이 해제되고 모두가 업그레이드된 서버를 이용할 수 있어요. 부스트를 제공하고 다음을 획득하세요. 더 많은 재밌는 활동에 액세스하세요! 움직이는 서버 아이콘으로 눈에 띄어보세요 - 오디오 품질이 {targetQuality}Kbps로 향상됐어요 + 오디오 품질이 {targetQuality}kbps로 향상됐어요 서버 초대를 사용자 지정 배경으로 커스터마이즈 해보세요 파일 업로드 제한이 100MB로 늘어났어요 서버 배너로 사람들에게 내 서버가 어떤 곳인지 보여주세요 파일 업로드 크기가 더 커지고, 음성 품질도 향상되는 등 강력한 업그레이드가 있어요! + 움직이는 서버 아이콘, 추가 스레드 옵션 등 강력한 업그레이드가 있어요! + 더 커진 파일 업로드 크기, 서버 배너, 사용자 지정 역할 아이콘 등 강력한 업그레이드가 있어요! + 사용자 지정 초대 링크, 추가 이모티콘 슬롯, 움직이는 서버 배너 등 강력한 업그레이드가 있어요! 이 서버의 각 역할에 대해 고유한 아이콘을 설정하세요 1080p/60fps로 화면을 공유하세요 720p/60fps로 화면을 공유하세요 사용자 지정 스티커를 업로드해서 모두가 사용할 수 있도록 하세요 사용자 지정 스티커와 이모티콘을 각각 최대 {numStickers}개, {numEmojis}개까지 업로드하세요 + 사용자 지정 스티커를 최대 {numStickers}개까지 업로드하세요 스레드를 더 오래 보관할 수 있는 옵션 비공개 스레드 만들기 + 사용자 지정 초대 링크로 간편하게 새 멤버를 추가하세요 목표: {levelName} 부스트를 구매하면 {levelName} 특전이 해제돼요! 이 서버는 부스트 특전을 모두 해제했어요! @@ -6535,6 +6615,7 @@ 내 구독 이 조정에는 비례 배분, 할인, 환불이 포함돼요. 현재 구독 중인 서비스예요. 같은 청구 기간으로 청구돼요. + {planName} 취소됨 !!{planName}!! 크레딧 이 크레딧은 !!{planName}!! 구독을 신청하면 적용돼요. 이 크레딧은 PC에서 구매한 !!{planName}!! 구독에 적용할 수 있어요. @@ -6716,8 +6797,11 @@ 프로필 작업 Discord Nitro로 개인 배너를 업로드하는 등 다양한 기능을 이용할 수 있어요! 경과 시간: $[](renderTimeHook) + 권장 최소 크기는 600x240이며 권장 종횡비는 5:2입니다. 허용되는 파일 유형은 PNG, JPG, 움직이는 GIF입니다. 이 서버에 자신을 소개하세요 + 저장하지 않기 변경사항을 저장할까요? + 변경했어요. 이 페이지를 나가기 전 변경사항을 저장할까요? Nitro 전용 미리 보기 사용자 배지 @@ -6878,6 +6962,7 @@ 타임아웃 해제 \'!!{user}!!\' 님에게 적용된 타임아웃 해제 !!{user}!! 님을 스레드에서 제거하기 + 사용자 지정 초대 링크 제거 채팅에 붙여넣어진 웹사이트 링크를 미리 보고 임베드를 표시해요 임베드 및 링크 미리 보기 메시지에 이모티콘 반응 표시하기 @@ -7014,11 +7099,13 @@ 모든 서버 멤버에 대한 기본 권한 역할 아이콘, {name} 이미지 선택하기 + 256KB 미만인 이미지를 올리거나 서버에서 사용자 지정 이모티콘을 선택하세요. 최소 64x64픽셀 이상을 추천해요. 역할이 여러 개라면 멤버들에게는 가장 높은 역할의 아이콘이 보여요. 자세히 알아보기 {name}용 사용자 지정 역할 아이콘. 이 기능은 서버 부스팅에 포함되어 있어요. 이모티콘 이미지 업로드 파일 찾아보기 + 앗, 파일이 너무 커요. 256KB 이하인 png 또는 jpg 파일을 선택해주세요. 업로드할 PNG 또는 JPG 선택하기 역할 id 복사 완료: {role} 멤버의 이름은 가장 높은 역할의 색상으로 표시돼요. 역할을 드래그해서 재배치하세요. @@ -7094,6 +7181,7 @@ 멤버들이 이 채널들에 임베드된 콘텐츠의 링크를 공유할 수 있도록 허용합니다. 멤버들이 이 채널에 임베드된 콘텐츠의 링크를 공유할 수 있도록 허용합니다. 권한을 찾지 못했어요 + 추방으로 다른 멤버를 이 서버에서 제거할 수 있어요. 추방된 멤버들도 초대를 받는다면 다시 이 서버에 가입할 수 있어요. 서버에 멤버 요구사항이 있다면 이 권한으로 가입을 요청하는 멤버를 승인하거나 거부할 수 있어요. 멤버들이 이 서버에서 다른 멤버를 추방할 수 있도록 허용합니다. 추방된 멤버들도 초대를 받는다면 다시 이 서버에 가입할 수 있습니다. 멤버들이 이 채널들의 이름, 설명, 그리고 텍스트 및 음성 설정을 바꿀 수 있도록 허용합니다. 또한 멤버들이 채널들을 삭제할 수 있습니다. (스테이지 관리자에게 필요) 주제를 설정해 스테이지를 시작하고, 발언권 요청을 받을지 말지를 결정할 권한, 그리고 스테이지 채널을 삭제할 수 있는 권한을 멤버들에게 허용합니다. @@ -7566,11 +7654,15 @@ 특수문자는 -만 사용할 수 있어요. 태그가 여기에 나와요. 서버 찾기에서는 이름, 설명, 태그로 검색할 수 있어요. 최대 10개까지 가능해요. + 이제 {count}명 이상의 서버가 서버 찾기에 포함돼요. + 더욱 빠르게 커뮤니티 키우기 서버 이모티콘 폴더 모두 닫기 폴더 읽음으로 표시하기 + 폴더의 모든 서버 알림 끄기 서버 폴더 폴더 설정 + 폴더의 모든 서버 알림 켜기 서버 인사이트 이 서버는 현재 가득 차 있어요. 서버 알림 끄기 @@ -7593,6 +7685,9 @@ 디버그 로그 설정을 변경하려면 Discord를 재시작해야 해요. 그래도 이 작업을 계속 하시겠어요? 이 링크를 만료되지 않도록 하기 상태 설정 + 서버가 이 기능에 액세스할 수 없어요. + 이 기능에 액세스할 수 없어요. + 사용자 지정 초대 링크를 설정하기 전에 모든 멤버가 액세스할 수 있는 텍스트 채널을 설정해야 해요. 설정 고급 직접 추가해 보세요! @@ -8416,6 +8511,9 @@ 미등록 계정 헤드셋 음소거 해제하기 되돌리기 + 채널 즐겨찾기 취소 + DM 즐겨찾기 취소 + 그룹 메시지 즐겨찾기 취소 즐겨찾기 취소 원래대로 죄송합니다. 이 링크를 열 수 있는 애플리케이션이 설치되지 않았어요: @@ -8814,6 +8912,10 @@ 이 채널에서 말을 하시려면 \'눌러서 말하기\' 기능을 사용해야 해요. 눌러서 말하기 필요 사용자 지정 초대 링크 + 작동하려면 사용자 지정 초대 링크에 모든 멤버가 접속할 수 있는 채팅 채널이 하나 있어야 해요. + 사용자 지정 초대 링크(사용 {uses}) + 멋진 사용자 지정 초대 링크를 골라서 서버에 쉽게 접속할 수 있도록 해보세요. 주의: 이렇게 하면 이 링크를 사용하는 사람이면 누구나 공개적으로 서버를 이용할 수 있게 돼요. + 사용자 지정 초대 링크를 악용하거나 지적 재산 침해가 발생한다면 링크가 압수될 수도 있으니 주의하세요. **!!{url}!!** 주소를 통하여 누구나 이 서버에 액세스할 수 있어요 [!!{urlText}!!]({urlValue}) 주소를 통하여 누구나 이 서버에 액세스할 수 있어요 당신의-url-이에요 diff --git a/app/src/main/res/values-lt/plurals.xml b/app/src/main/res/values-lt/plurals.xml index 63e5704ebf..23648230d5 100644 --- a/app/src/main/res/values-lt/plurals.xml +++ b/app/src/main/res/values-lt/plurals.xml @@ -1058,6 +1058,16 @@ {#} taikyto stiprinimo {#} taikytų stiprinimų + + {#} mėnesį + {#} mėnesius + {#} mėnesių + + + {#} mėnesį + {#} mėnesius + {#} mėnesių + {#} stiprinimą {#} stiprinimus @@ -1169,6 +1179,10 @@ {#} stiprinimai {#} stiprinimų + + serverio stiprinimų + serverio stiprinimų + {#} mėn. {#} mėn. @@ -1614,6 +1628,11 @@ {count} kiti {count} kitų + + 1 panaudojimas + {uses} panaudojimai + {uses} panaudojimų + 1 naudojimas {uses} naudojimai diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index b92c25d72d..36729e2c32 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -1196,6 +1196,7 @@ Pakeisti serverio pseudoportretą Keisti Piktogramą Redaguoti serverio profilį + Pseudoportretas ir profilio reklamjuostė Serverio aprašas Jei nieko neparašysi, bus rodoma tavo pagrindinė biografija. Šiek tiek papasakok šiam serveriui apie save @@ -1203,6 +1204,7 @@ Naudok skirtingus pseudoportretus kiekviename savo serveryje ir dar daugiau su Discord Nitro! Slapyvardis (išjungtas) Gali pakeisti, kaip kiti mato tave šiame serveryje, nustatydamas serverio slapyvardį ir pseudoportretą. + Atstatyti numatytąjį pseudoportretą Nežinoma klaida Pakeisti serverio pseudoportretą Naudok skirtingus pseudoportretus kiekviename savo serveryje **ir dar daugiau su Discord Nitro!** @@ -1225,6 +1227,7 @@ Pakeisti slaptažodį Pakeisti Telefono Numerį? Keisti foną + Tinkintos pakvietimo nuorodos negalima pakeisti, nes joje yra netinkamų simbolių, ji per trumpa arba jau paimta. Tinkinta pakvietimo nuoroda gali būti sudaryta tik iš raidžių, skaičių ir brūkšnių. Pakeitimų žurnalo turinys Parodyk draugui mūsų naują pradžios puslapį! Stengiamės padaryti gerą įspūdį. Sužinoti daugiau @@ -1240,16 +1243,6 @@ Dalyviai Kanalas buvo ištrintas. Kanalo antraštė - Kanalo informacija - Nutildžius daugiau nebematysi jokių naujų žinučių ir prisijungimo / atsijungimo pranešimų, nebent tave paminės. - Pavadinimas - Pranešimai - Išsami informacija - Tema - Redaguoti - Tavo nustatymai - Slėpti kanalo informaciją - Rodyti kanalo informaciją Jūsų rolė neturi leidimo prisijungti prie šio kanalo. Kanalas Užrakintas Leidimai sinchronizuoti su šia kategorija: **{categoryName} ** @@ -1357,6 +1350,7 @@ Atsiimti Išvalyti Išvalyti priedus + Valyti versijos apėjimą Išvalyti tekstą Spustelėk norėdamas sužinoti daugiau Klonuoti Kanalą @@ -1933,6 +1927,7 @@ Šiuo metu balso kanale yra !!{a}!!, !!{b}!! ir {n}. Šiuo metu balso kanale nieko nėra. Pasirinktina spalva + Nepamiršk, kad tinkintos pakvietimo nuorodos neveiks, jei nebus bent vieno visiems nariams prieinamo tekstinių pokalbių kanalo. Pritaikyta būsena Išvalyti po Išvalyti būseną @@ -2261,6 +2256,7 @@ veikloje Dabar pradėk žaisti kartu balso kanale! NAUJA! Veikla + Žaiskite drauge nemokamai bet kuriame balso kanale. Gauk daugiau veiklų su stiprinimais! kitą veiklą Jaustukas Pridėti į mėgstamiausius @@ -2310,6 +2306,7 @@ Šis jaustukas priklauso privačiam arba nepasiekiamam serveriui. [Sužinok daugiau](openPremiumSettings) apie pritaikyto jaustuko naudojimą. Pašalinti iš mėgstamiausių {count} + Jaustukas buvo per didelis! Jaustukai turi būti iki {maxSize} KB. Spustelėk norėdamas sužinoti daugiau {count} @paminėk naudotojus, kad pridėtum juos į šią privačią giją. @@ -2482,10 +2479,18 @@ Kopijuoti nuorodą Atidaryti naršyklėje Bendrinti nuorodą + Mėgstamas kanalas + Mėgstama AŽ + Mėgstama grupinė AŽ Daugiau mėgstamiausiųjų turėti negali. Pažymėti kaip mėgstamiausią + Labas, tai nauja Discord funkcija – „Mėgstamiausi“! Įtrauk į šį sąrašą kanalus, pokalbius balsu ir AŽ naudodamas (-a) jų kontekstinius meniu. + Mėgstamiausi + Eiti į pradinį serverį + Mėgstamiausi Didžiausias leidžiamas mėgstamiausiųjų skaičius: {count}. O ne! + Šis pavadinimas bus rodomas tik mėgstamiausiųjų sąraše. Įvairūs Apibūdink savo problemą Tavo problema @@ -2547,6 +2552,7 @@ Sumažink kitos programėlės garsumą kalbant kitam. %% nurodo, kaip smarkiai programėlė bus nutildyta, 0%% išjungia šią funkciją. Gijos bus archyvuojamos po nustatytos neaktyvumo trukmės. Jei rodiklis yra žalias, tai Discord transliuoja tavo nuostabų balsą. + NAUDOJI DAUGYBĘ BITŲ! Didesnė kaip {bitrate} kbps sparta gali turėti neigiamo poveikio žmonėms, kurių ryšys prastas. Naudojant Discord sertifikuota mikrofoną tam tikros balso apdorojimo funkcijos nebėra tvarkomos Discord, bet paties mikrofono. Pakeisk privatumo nustatymus ir nurodyk, kaip nariai gali sąveikauti su šiuo kanalu. Derinimo tikslais įrašo visus RTP duomenis, gausimus per kitą balso / vaizdo ryšį. @@ -2739,6 +2745,7 @@ Tikrinti mano mikrofoną Funkcija Text-to-Speech Tekstas-į-Kalbą Pranešimai + Panaikinti naujų renginių nutildymą Atšaukti **!!{name}!!** nutildymą Teksto langelis Naudotojų Limitas @@ -2778,6 +2785,7 @@ Serverio nariai Sutikti Atšaukti + Prašymas draugauti buvo atšauktas. Oi, siunčiant prašymus draugauti kažkas nepavyko. Visada gali pabandyti dar kartą iš draugų sąrašo. Oi, siunčiant prašymą draugauti !!{name}!! kažkas nepavyko. Visada gali pabandyti dar kartą iš draugų sąrašo. Nepavyko išsiųsti prašymo draugauti @@ -3097,6 +3105,9 @@ Žiuri {username} Eiti į kanalą Supratau + Su tavo pirkiniu iškilo problemų. Palauk ir bandyk dar kartą. + O ne! + Nepavyko prisijungti prie Google Play paslaugų. Truputį palauk ir pabandyk dar kartą. Suteikti laikiną narystę Žalias Pilkas @@ -3144,9 +3155,9 @@ Atrodo puikiai! Sužinoti daugiau Galbūt vėliau - Stiprink iki 1 lygio jau šiandien ir padidink savo garso kokybę nuo 96 Kbps to 128 Kbps. - Stiprink iki 2 lygio jau šiandien ir padidink savo garso kokybę nuo 128 Kbps to 256 Kbps. - Stiprink iki 3 lygio jau šiandien ir padidink savo garso kokybę nuo 256 Kbps to 384 Kbps. + Stiprink iki 1 lygio, kad girdėtumėte sklandų garsą ir visi jaustumėtės tarsi viename kambaryje. + Stiprink iki 2 lygio, kad girdėtumėte sklandų garsą ir visi jaustumėtės tarsi viename kambaryje. + Stiprink iki 3 lygio jau šiandien ir padidink garso kokybę nuo 256 kbps to 384 kbps. Ar žinojai, kad stiprinimai suteikia aukštesnę garso kokybę? Pasiekei 100 serverių limitą Padvigubink serverių, prie kurių gali prisijungti, skaičių iki 200. @@ -3196,6 +3207,7 @@ Nuo žaidimų iki muzikos ir mokymosi – rasi savo vietą. Rask savo bendruomenę Discord Stebėti atnaujinimus + Rask savo bendruomenę Ieškoti bendruomenių Populiarios bendruomenės !!{username}!!, tau gali patikti šie serveriai @@ -3314,18 +3326,40 @@ Sukurti {count} {number} + Bet gali tokių parašyti! + Šiame serveryje kol kas nėra populiariausių žinučių. + Įkelk puslapį iš naujo arba peržiūrėk mūsų [būsenos puslapį]({url}). + Oi! Tau pasisekė užkliūti už itin retos klaidos. + Jei nori sužinoti, kas vyksta, atnaujink puslapį + Kol kas tiek! Nors ne, gali būti ir daugiau… + Atidaryti !!{channelName}!! žinutes šoninėje juostoje + Atsakymų: {maxReplies}+ {numReplies} + Įkelti iš naujo Populiariausios žinutės + Peržiūrėjai visas populiariausias pastarųjų 2 savaičių žinutes. + Viskas peržiūrėta Aplanko spalva Aplanko pavadinimas !!{folderName}!!, aplankas {mentions} !!{folderName}!!, aplankas {mentions}, !!{expandedState}!! Serverio aplankas be pavadinimo Aplanko nustatymai išsaugoti! + Pradžia Tai nauja sąsajos išvaizda, kurią šiuo metu išbandome antrame etape, kad tau padėtume patogiau sekti, kas vyksta tavo serveryje. Pradžia – !!{guildName}!! + Pakeisti serverio profilio reklamjuostę + Paliesk, jei nori redaguoti šiam serveriui skirtą aprašą apie save + Redaguoti šiam serveriui skirtą aprašą apie save + Jei paliksi tuščią, bus rodomas tavo numatytasis aprašas apie save. + Paliesk, jei nori pridėti šiam serveriui skirtą aprašą apie save Serverio !!{guildName}!! aprašas + Pakeisti serverio profilio reklamjuostę + Šalinti serverio pseudoportretą + Serverio profilio reklamjuostė + Atstatyti numatytąją reklamjuostę Norisi daugiau? Gauk visas serverio profilio tinkinimo funkcijas su Nitro. + Įkelti serverio profilio reklamjuostę Būk, kuo nori būti, ir naudok skirtingus pseudoportretus, reklamjuostes ir aprašus kiekviename savo serveryje – gauk animuotus pseudoportretus ir dar daugiau su [Discord Nitro!](onAndMore) Iki galo išreikšk save naudodamas serverio profilius Pakviesk prisijungti prie serverių @@ -3359,6 +3393,8 @@ Patvirtinimo nuoroda nebegalioja. Sėkmingai patvirtinta. Tikriname tavo prašymą. + Peržiūrėti serverio nustatymus + Atrodo, čia nemažai veiksmo. Gal nori padėti naujiems nariams ir pakeisti numatytąjį serverio pranešimų nustatymą į **Tik @paminėjimai**? Pranešti visiems (@everyone) Taip pat pranešk visiems (@everyone), kad renginys prasideda. $[Visiems (@everyone) pranešti, kad scenos kanalas prasideda.](tooltipHook) [Įjungti](toggleClick) @@ -3582,6 +3618,8 @@ $[**!!{user}!!**](userHook) padarė pakeitimus $[**!!{target}!!**](targetHook) Kaip bendruomenių serverių naujienų kanalą nustatyti **!!{newValue}!!** Bendruomenių serverių naujienų kanalas **išvalytas** + Nustatyti tinkintą pakvietimo nuorodą į **!!{newValue}!!** + Tinkinta pakvietimo nuoroda **pašalinta** Nustatė serverio patikrinimo lygį į **Aukštas** Nustatė serverio patikrinimo lygį į **Žemas** Nustatė serverio patikrinimo lygį į **Vidutinis** @@ -3741,7 +3779,6 @@ Viešam Discord mes labai rekomenduojame nustatyti tik @paminėjimai. Dėl šio serverio dydžio nariai negali gauti mobiliųjų push pranešimų apie ne @paminėjimo žinutes. Išjungti atradimo funkciją - Išjungus nariams taikomus reikalavimus nauji žmonės galės prisijungti prie bendruomenės nepriimdami taisyklių ir tau jų nepatvirtinus rankiniu būdu. Esi tikras? Atradimo funkciją įjungti ir išjungti gali tik serverio administratoriai. 2FA reikalavimas moderavimui įjungtas @@ -3794,6 +3831,10 @@ Išjungus bendruomenę, serveris taip pat bus pašalintas iš serverių atradimo sąrašo. Tavo serveris buvo pašalintas iš atradimo sąrašo. Šis serveris neatitiko toliau nurodytų reikalavimų ir buvo automatiškai pašalintas iš atradimo sąrašo. Nesijaudink, serveriui įgyvendinus visus reikalavimus, galėsi vėl prisijungti. Reikalavimus pakartotinai tikriname kas savaite. + Tai leidžia pasirodyti informacijai, spustelėjus tinkintą jaustuką ar lipduką iš tavo serverio bet kuriame pokalbyje. Naudotojai galės matyti informaciją ir ja pasinaudodami prisijungti prie serverio. + Išjungti jaustuko / lipduko informaciją + Įjungti jaustuko / lipduko informaciją + Spustelėjus rodyti jaustuko / lipduko informaciją Plėsk savo bendruomenę su serverių atradimo funkcija Paieškoje naudotojams, kurie kalba pasirinkta kalba, Discord teiks pirmenybę šiam serveriui. Jei tavo serveris įtrauktas į [serverių atradimo](onLinkClick) sąrašą, jį galės rasti bet kas. @@ -3808,6 +3849,7 @@ Subkategorijos Pseudonimas Įveski pseudonimą + Įtrauk tinkintus jaustukus (iki {count}), kuriuos kiekvienas galės naudoti šiame serveryje. Animuotus GIF jaustukus naudoti gali tik Discord Nitro turintys nariai. Jaustukų pavadinimai turėtų būti sudaryti bent iš 2 simbolių; juose gali būti tik raidės, skaičiai ir pabraukimo brūkšniai. Jaustukai negali viršyti {maxSize} KB. Stiprink savo serverį iki {level} lygio ir gauk papildomų jaustuko vietų! Prarasti {level} lygio jaustukai Stiprink savo serverį iki {level} lygio ar nusipirk lygį, kad pasiektum savo jaustukus! @@ -3854,6 +3896,8 @@ 1 savaitės archyvavimo parinktis gijoms Privačių gijų kūrimas Animuota serverio reklamjuostė + Serverio tinkinta pakvietimo nuoroda + {bitrate} kbps garso kokybė +{adding} serverio emoji vietos (iš viso {total}) papildomų pritaikytų lipdukų vietų: {adding} (iš viso {total}) {fileSize} įkėlimo riba visiems nariams @@ -4593,6 +4637,14 @@ !!{name}!! Jaustukas !!{name}!! Piktograma !!{name}!! Logotipas + Kas yra kanalai? + Kanaluose galima kalbėti, balsu bendrauti, žaisti žaidimus ir panašiai. Kiekviename serveryje rasi kanalų sąrašą – peržiūrėk jį, kad žinotum, kas kur vyksta. + Asmeninės žinutės + Asmeninės žinutės nesusijusios su serveriais. Norėdamas susisiekti su draugu privačiai, gali jam parašyti asmeninę žinutę, taip pat gali sukurti grupinę AŽ, skirtą iki 10 žmonių grupei. + Reikia daugiau pagalbos? + Nepavyko rasti, ko ieškojai? Jei reikia daugiau informacijos, [eik į mūsų pagalbos centrą]({helpCenterUrl}). + Kas yra serveris? + Serveriai – tai vietos, kuriose gali leisti laiką su draugais ir susipažinti su naujais žmonėmis. Dauguma serverių yra privatūs ir pasiekiami tik su kvietimu. viduje !!{categoryName}!! Balso nustatymai žaidime Balso kanale @@ -4611,6 +4663,7 @@ Domina Ne, Ačiū Kai įkelta tiesiogiai į Discord + Vaizdai, didesni nei {maxSize} MB, nebus rodomi. Kai paskelbta kaip nuorodos pokalbyje Rodyti vaizdus, vaizdo įrašus ir linksmuosius kačių paveikslėlius Įvesties Įrenginys @@ -4682,6 +4735,7 @@ Ši programėlė neturi komandų. Šiame serveryje nėra jokių šios programos webhook. Pasiekei maksimalų leidimų pakeitimų skaičių. + Pasiekei didžiausią leidimų skaičių. Jei nori dar ką nors keisti, pašalink bent {removeCount}. Pašalinti integraciją Ar tikrai nori šalinti **!!{applicationName}!!**? Įvyko vidinė serverio klaida. @@ -4841,6 +4895,7 @@ Pridėkime draugų! Kviesti Žmones Dėmesio! Pakviesti draugai gali matyti ankstesnių žinučių istoriją. + Šis kanalas privatus, tik pasirinkti nariai ir vaidmenys gali jį peržiūrėti. Ieškoti draugų Pakvietimas Išsiųstas !!{maxAge}!!, !!{maxUses}!! @@ -4851,6 +4906,7 @@ Arba siųsti pakvietimo į transliaciją nuorodą draugui Pakviesti į transliaciją Pakviesti į Serverį + Pakviesk draugų į serverį **!!{name}!!** Pakvietimo URL Prisijungti prie balso kanalo Sveikas atvykęs į savo naują serverį! @@ -5002,6 +5058,7 @@ Išmesti Išmesti Išmesti Narius + Išmesti, patvirtinti ir atmesti narius Išmesti !!{user}!! Ar tikrai nori iš šio serverio išmesti !!{user}!!? Jis ar ji galės sugrįžti su nauju kvietimu. „!!{user}!!“ buvo išspirtas iš serverio. @@ -6182,9 +6239,21 @@ Atšaukti !!{planPremiumType}!!? Atšaukimas nedelsiant įsigalios Nitro ir serverio stiprinimo prenumeratoms. Jei keitei Discord žymę, ji bus suteikiama atsitiktinai. Tiek to, pasilieku Nitro + Tiek to, pasilieku Nitro Tavo **2 nemokamų stiprinimų** ir **30 %% nuolaidos stiprinimams** {boostCount} Tavo **30 %% nuolaida stiprinimams** + 2 nemokami stiprinimai ir 30 %% nuolaida + Tinkinto jaustuko ir lipdukų naudojimas bet kur + Profilio blizgučiai ir tinkinta žymė + Aukštos raiškos (60 FPS) vaizdo transliacija + transliacijos per {month} + val. + HD vaizdo transliacija + Iki 100 MB padidintas failų įkėlimo limitas + dideli failai + siųsti {month} + Galimybė įkelti didesnius failus Prieigos prie **tinkintų jaustukų** ir **lipdukų** visuose tavo serveriuose Prieiga prie **tinkintų jaustukų** ir visuose tavo serveriuose **Animuoto pseudoportreto**, **profilio reklamjuostės** ir tinkintos **Discord žymės** @@ -6305,15 +6374,21 @@ Aktyvūs serverio stiprinimai Yra {numSubscriptions} Atsiprašome, šiuo metu nepalaikome stiprinimų, įsigytų naudojant !!{paymentGatewayName}!!, atšaukimo. Atšaukti stiprinimą gali [!!{paymentGatewayName}!! prenumeratos valdymo]({subscriptionManagementLink}) srityje. + Ar tikrai nori atšaukti šį serverio stiprinimą? Sumalsime šį lobį į šipulius. Jis bus pašalintas iš susijusių serverių ir atšauktas iš tavo prenumeratos pasibaigus atsiskaitymo laikotarpiui: **{endDate}**. + Ar tikrai nori atšaukti serverio stiprinimą iš atsargų? Sumalsime šį lobį į šipulius. Jis bus pašalintas iš susijusių serverių ir atšauktas iš tavo prenumeratos pasibaigus atsiskaitymo laikotarpiui: **{endDate}**. Taip, atšaukti stiprinimą Tavo prenumeratos mokėjimo terminas praėjęs. Kad galėtum tvarkyti stiprinimus, atnaujink mokėjimo informaciją. Šis stiprinimas įtrauktas į tavo Nitro prenumeratą Atšaukti stiprinimą Bandant atšaukti šį stiprinimą įvyko klaida. + Atšauktų {subscriptionCount} skaičius: **{subscriptionCount}** + Ši serverio stiprinimo prenumerata bus atšaukta pasibaigus atsiskaitymo už Nitro arba Nitro Classic laikotarpiui (**{endDate}**). Toliau nurodyti tavo prenumeratos pasikeitimai. Atšaukti serverio stiprinimą Atšaukti serverio stiprinimą iš serverio Atšaukti serverio stiprinimą iš atsargų Laukiantis stiprinimo atšaukimas + Gerai, sumalsime šį stiprinimą į šipulius. Suplanuota šio stiprinimo atšaukimo data: **{endDate}**. **Kol dar nesumalėme, vis dar gali naudoti šį stiprinimą!** + Stiprinimas atšauktas! {date} Stiprinama nuo {date} ({months}) Bandant stiprinti įvyko klaida. Pabandyk dar kartą. @@ -6380,18 +6455,23 @@ Stiprinimas suteikia galingų funkcijų ir naujinimų, kuriais mėgausis kiekvienas serverio naudotojas. Suteik stiprinimą ir gausi: Prieiga prie daugiau smagių veiklų! Išsiskirk iš kitų su animuota serverio piktograma - Iki {targetQuality} Kbps padidinta garso kokybė + Iki {targetQuality} kbps padidinta garso kokybė Tinkink savo serverio pakvietimus su tinkintu fonu Iki 100 MB padidintas failo įkėlimo limitas Naudok serverio reklamjuostę, kad visiems būtų aišku, kam tavo serveris skirtas Galingi papildymai: galimybė įkelti didesnius failus, geresnė garso kokybė ir dar daugiau! + Galingi papildymai: animuota serverio piktograma, papildomos gijos parinktys ir dar daugiau! + Galingi papildymai: galimybė įkelti didesnius failus, serverio reklamjuostė, tinkintos vaidmenų piktogramos ir dar daugiau! + Galingi papildymai: tinkinta pakvietimo nuoroda, papildomos vietos jaustukams ir animuota serverio reklamjuostė. Parink unikalią piktogramą kiekvienam vaidmeniui šiame serveryje Ekrano bendrinimas 1080p/60fps raiška Ekrano bendrinimas 720p/60fps raiška Visų naudojimui skirtų pritaikytų lipdukų įkėlimas Įkelk iki {numStickers} tinkintų lipdukų ir {numEmojis} pritaikytų jaustukų + Įkelk iki {numStickers} tinkintų lipdukų Vėlesnio archyvavimo parinktys gijoms Privačių gijų kūrimas + Lengvai pridėk naujus narius su tinkinta pakvietimo nuoroda Tikslas – {levelName} Pirk stiprinimus, kad padėtum gauti {levelName} pranašumus! Šis serveris jau gavo visus stiprinimų pranašumus! @@ -6530,6 +6610,7 @@ Tavo prenumeratos Šis koregavimas apima mokesčio perskaičiavimą, nuolaidas ir lėšų grąžinimą. Tai yra tavo dabartinės prenumeratos. Už jas mokėsi per tą patį atsiskaitymo ciklą. + {planName} atšaukta !!{planName}!! kreditas Šis kreditas bus pritaikytas, kai užsisakysi !!{planName}!! prenumeratą. Šį kreditą galima panaudoti !!{planName}!! prenumeratai, įsigytai naudojantis kompiuteriu. @@ -6711,8 +6792,11 @@ Veiksmai su profiliu Įkelk savo suasmenintą reklamjuostę ir dar daugiau, naudodamas Discord Nitro! $[](renderTimeHook) praėjo + Rekomenduojamas mažiausias dydis yra 600 x 240, o rekomenduojama proporcija – 5:2. Leidžiami failų tipai – PNG, JPG, animuoti GIF ir kt. Šiek tiek papasakok šiam serveriui apie save + Neišsaugoti Išsaugoti pakeitimus? + Atlikai pakeitimų. Ar nori juos išsaugoti prieš išeidamas (-a) iš šio puslapio? Tik Nitro Peržiūra Naudotojų ženkleliai @@ -6873,6 +6957,7 @@ Panaikinti nutildymą Panaikinti „!!{user}!!“ nutildymą Pašalinti !!{user}!! iš gijos + Pašalinti tinkintą pakvietimo nuorodą Rodyti įterpinius ir į pokalbio langą nukopijuotų tinklalapių nuorodų peržiūrą Įterpiniai ir nuorodų peržiūros Rodyti žinutėms priskirtas jaustukų reakcijas @@ -7009,11 +7094,13 @@ Numatytieji leidimai visiems serverio nariams Vaidmens piktograma, {name} Pasirinkti vaizdą + Įkelk iki 256 KB vaizdą arba išsirink tinkintą jaustuką iš šio serverio. Rekomenduojame naudoti bent 64 x 64 pikselių dydį. Jei nariai turi keletą vaidmenų, jie matys aukščiausio turimo vaidmens piktogramą. Sužinoti daugiau Tinkintos vaidmenų piktogramos, skirtos {name}. Ši funkcija – serverio stiprinimų dalis. Jaustukai Įkelti vaizdą Naršyti failus + O ne! Failas per didelis. Pasirink ne didesnį nei 256 KB .png arba .jpg vaizdą. Pasirinkti PNG ar JPG įkėlimui Nukopijuotas vaidmens ID: {role} Nariai turės tokią aukščiausio rango spalvą, kuri jiems priskiriama šiame sąraše. Nuvilk vaidmenis, jei nori juos pertvarkyti. @@ -7089,6 +7176,7 @@ Leidžiama naudoti nuorodas, kuriomis dalijasi nariai, kad įterptasis turinys būtų rodomas šiuose kanaluose. Leidžiama naudoti nuorodas, kuriomis dalijasi nariai, kad įterptasis turinys būtų rodomas šiame kanale. Leidimų nerasta + Išmetimas reiškia kitų šio serverio narių pašalinimą. Išmesti nariai galės vėl prisijungti, jei gaus kitą kvietimą. Jei serveryje įjungti nariams taikomi reikalavimai, šis leidimas suteikia galimybę patvirtinti arba atmesti narius, norinčius prisijungti. Nariams leidžiama iš šio serverio šalinti kitus narius. Pašalinti nariai galės vėl prisijungti, jei gaus kitą kvietimą. Nariams leidžiama keisti šių kanalų pavadinimus, aprašus ir teksto arba balso nustatymus. Jie taip pat gali šalinti šiuos kanalus. (Reikalinga scenos kanalo moderatoriui) Leisti nariams nustatyti temą, kad būtų galima pradėti scenos kanalą, ir įjungti arba išjungti prašymus leisti kalbėti. Jie taip pat gali ištrinti scenos kanalą. @@ -7561,11 +7649,15 @@ Vieninteliai leidžiami specialūs ženklai – brūkšniai. Žymes dėk čia. Serverių atradime galima atlikti paiešką pagal vardą, aprašą ir žymes. Gali pridėti iki 10. + Serveriai, turintys {count}+ narių, dabar gali prisijungti prie serverių atradimo funkcijos. + Plėsk savo bendruomenę greičiau Serverio Jaustukas Uždaryti visus aplankus Pažymėti aplanką kaip perskaitytą + Nutildyti visus aplanko serverius Serverio aplankas Aplanko nustatymai + Naikinti visų aplanko serverių nutildymą Serverio įžvalgos Šiuo metu šis serveris pilnas. Nutildyti serverį @@ -7588,6 +7680,9 @@ Keičiant derinimo išrašų rašymą išjungs ir vėl įjungs Discord. Ar tikrai nori tęsti? Nustatyti šią nuorodą, kad ji būtų nesibaigianti Nustatyti būseną + Tavo serveris neturi prieigos prie šios funkcijos. + Neturi prieigos prie šios funkcijos. + Tam, kad galėtum nustatyti tinkintą pakvietimo nuorodą, pirmiausia reikia nustatyti tekstinių pokalbių kanalą, kuris būtų prieinamas visiems nariams. Nustatymai Papildomi Pridėti! @@ -8408,6 +8503,9 @@ Nepatvirtinta Paskyra Įjungti garsą Anuliuoti + Nemėgstamas kanalas + Nemėgstama AŽ + Nemėgstama grupinė AŽ Panaikinti žymėjimą kaip mėgstamiausio Nebefokusuoti Šio Asmens Atsiprašome, tavo įrenginyje nerasta programėlių apdoroti šią nuorodą: @@ -8806,6 +8904,10 @@ Tau reikia būti įjungus Push-to-Talk, kad galėtum kalbėti šiame kanale. Būtina Push to talk funkcija Tinkinta pakvietimo nuoroda + Nepamiršk, kad tinkintos pakvietimo nuorodos neveiks, jei nebus bent vieno visiems nariams prieinamo tekstinių pokalbių kanalo. + Tikinta pakvietimo nuoroda ({uses}) + Padaryk savo serverį lengvai prieinamą su pasirinkta vaizdinga tinkinta pakvietimo nuoroda. Atkreipk dėmesį, kad tai padaro serverį viešai prieinamą visiems, kurie naudos šią nuorodą. + Turėk omenyje, kad galime atsiimti tinkintas pakvietimo nuorodas, jei nustatysime bet kokį piktnaudžiavimą arba intelektinės nuosavybės konfliktą. Dabar šis serveris prieinamas visiems **!!{url}!!** Dabar šis serveris prieinamas visiems [!!{urlText}!!]({urlValue}) jūsų-url-čia diff --git a/app/src/main/res/values-nl/plurals.xml b/app/src/main/res/values-nl/plurals.xml index 97baa00be6..284da41c77 100644 --- a/app/src/main/res/values-nl/plurals.xml +++ b/app/src/main/res/values-nl/plurals.xml @@ -944,6 +944,14 @@ {#} boost toegepast {#} boosts toegepast + + {#} maand + {#} maanden + + + {#} maand + {#} maanden + {#} boost {#} boosts @@ -1040,6 +1048,10 @@ {#} boost {#} boosts + + serverboost + serverboosts + {#} maand {#} maanden @@ -1432,6 +1444,10 @@ 1 andere persoon {count} anderen + + 1x gebruikt + {uses}x gebruikt + 1 gebruik {uses} gebruiken diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 1cfecee66d..6e611d70b0 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -1196,6 +1196,7 @@ Serveravatar wijzigen Icoon aanpassen Serverprofiel bewerken + Avatar en profielbanner Serverbiografie Als je niks invult, wordt je hoofdbiografe gebruikt. Vertel deze server iets over jezelf @@ -1203,6 +1204,7 @@ Gebruik een andere avatar op al je servers en nog veel meer met Discord Nitro! Bijnaam (uitgeschakeld) Je kunt wijzigen hoe anderen je zien in deze server door een bijnaam en avatar in te stellen. + Resetten naar standaardavatar Onbekende fout Andere serveravatar Gebruik een andere avatar op al je servers en nog veel meer met **Discord Nitro!** @@ -1230,6 +1232,7 @@ Wachtwoord veranderen Wil je telefoonnummer veranderen? Achtergrond wijzigen + De aangepaste uitnodigingslink kon niet worden gewijzigd omdat hij ongeldige tekens bevatte, te kort was of al in gebruik was. Aangepaste uitnodigingslinks mogen alleen letters, cijfers of streepjes bevatten. Inhoud changelog Laat onze nieuwe homepagina zien aan je vrienden! We maken graag een goede indruk. Meer informatie @@ -1245,16 +1248,6 @@ Deelnemers Kanaal is verwijderd. Kanaalheader - Kanaalinformatie - Met dempen voorkom je dat ongelezen indicatoren en meldingen verschijnen, tenzij je wordt genoemd. - Naam - Meldingen - Details - Onderwerp - Bewerken - Jouw instellingen - Kanaalinformatie verbergen - Kanaalinformatie tonen Je rol is niet gemachtigd om dit kanaal te bezoeken. Kanaal vergrendeld Machtigingen gesynchroniseerd met de categorie: **{categoryName}** @@ -1362,6 +1355,7 @@ Claimen Wissen Bijlages wissen + Duidelijke build-overschrijving Tekst wissen Klik voor meer informatie Kanaal klonen @@ -1938,6 +1932,7 @@ !!{a}!!, !!{b}!! en nog {n} zitten op dit moment in een spraakkanaal. Niemand zit op dit moment in een spraakkanaal. Persoonlijke kleur + Onthoud dat aangepaste uitnodigingslinks alleen werken als alle leden toegang hebben tot een tekstkanaal. Gepersonaliseerde status Wissen na Status wissen @@ -2266,6 +2261,7 @@ een activiteit Speel nu samen met spraak! NIEUW! Activiteiten + Speel gratis samen in een van de spraakkanalen. Ontgrendel meer activiteiten met boosting! aan andere activiteit Emoji Toevoegen aan favorieten @@ -2315,6 +2311,7 @@ Deze emoji is afkomstig van een besloten of niet-beschikbare server. [Lees meer](openPremiumSettings) over het gebruik van aangepaste emoji. Verwijderen uit favorieten {count} beschikbaar + Die emoji was te groot! Emoji\'s moeten minder dan {maxSize} kB groot zijn. Klik voor meer informatie {count} Gebruik @mention om gebruikers aan deze privéthread toe te voegen. @@ -2487,10 +2484,18 @@ Link kopiëren Openen in browser Link delen + Kanaal aan favorieten toevoegen + Privébericht aan favorieten toevoegen + Groeps-pb aan favorieten toevoegen Je kunt niet meer favorieten hebben. Favoriet + Welkom bij je \'favoriete\' nieuwe functie van Discord! Voeg favorieten toe door kanalen, voicechats en privéberichten een ster te geven via de contextmenu\'s. + Favorieten + Naar oorspronkelijke server + Favorieten Je kunt maximaal {count} favorieten hebben. O nee! + Deze naam verschijnt alleen in je favorieten. Overige Beschrijf je probleem Je probleem @@ -2552,6 +2557,7 @@ Verlaag het volume van andere applicaties met dit percentage wanneer iemand spreekt. Stel in op 0%% om demping volledig uit te schakelen. Threads worden gearchiveerd na de ingestelde inactiviteitsduur. Als het lampje ononderbroken groen is, verzendt Discord je mooie stem. + ALLE BITS! Alles boven de {bitrate} kbps wordt niet aanbevolen, omdat dit nadelig kan uitpakken voor mensen met een slechte verbinding. Tijdens het gebruik van een Discord Certified-microfoon worden bepaalde functies voor spraakverwerking niet langer afgehandeld door Discord zelf, maar door de microfoon. Pas de privacy-instellingen aan en wijzig hoeveel leden interactie kunnen hebben met dit kanaal. Legt alle RTP-data vast voor de volgende stem-/videoverbinding, voor foutopsporing. @@ -2744,6 +2750,7 @@ Test mijn microfoon Tekst naar spraak Tekst-naar-spraak-meldingen + Dempen opheffen bij nieuwe evenementen Dempen van **!!{name}!!** opheffen Tekstvak Gebruikslimiet @@ -2783,6 +2790,7 @@ Serverleden Accepteren Annuleren + Het vriendschapsverzoek is geannuleerd. Hmm, er is iets niet helemaal goed gegaan met het versturen van vriendschapsverzoeken. Je kunt het altijd nog een keer proberen via je vriendenlijst. Hmm, er is iets niet helemaal goed gegaan met het versturen van een vriendschapsverzoek aan !!{name}!!. Je kunt het altijd nog een keer proberen via je vriendenlijst. Vriendschapsverzoek mislukt @@ -3102,6 +3110,9 @@ Kijkt naar {username} Naar kanaal Begrepen + Er is iets misgegaan met je aankoop. Wacht even en probeer het opnieuw. + O nee! + Er kan geen verbinding worden gemaakt met Google Play Services. Wacht even en probeer het dan opnieuw. Verleen tijdelijk lidmaatschap Groen Grijs @@ -3149,8 +3160,8 @@ Dit ziet er fantastisch uit! Meer informatie Misschien later - Boost vandaag nog naar level 1 en verbeter je geluidskwaliteit van 96 kbps naar 128 kbps. - Boost vandaag nog naar level 2 en verbeter je geluidskwaliteit van 128 kbps naar 256 kbps. + Boost naar level 1 voor betere audio, zodat het lijkt alsof iedereen in dezelfde kamer is. + Boost naar level 2 voor betere audio, zodat het lijkt alsof iedereen in dezelfde kamer is. Boost vandaag nog naar level 3 en verbeter je geluidskwaliteit van 256 kbps naar 384 kbps. Wist je dat je betere geluidskwaliteit kunt krijgen door te boosten? Je hebt de serverlimiet van 100 bereikt @@ -3201,6 +3212,7 @@ Of het nu gaat om gamen, muziek of leren, er is altijd wel een plek voor je. Vind jouw community op Discord Updates volgen + Vind je community Zoek community\'s Populaire community\'s !!{username}!!, misschien zijn deze servers wel wat voor jou @@ -3318,18 +3330,40 @@ Creëren {count} {number} + Maar je kunt er wel een paar schrijven! + Deze server heeft nog geen topberichten. + Vernieuw de pagina of kijk op onze [statuspagina]({url}). + Oeps! Je bent een ultrazeldzame fout tegengekomen. + Ververs om te zien wat er gebeurt + Dat was voorlopig alles! O nee wacht, misschien is er toch nog iets… + Bericht van !!{channelName}!! openen in zijbalk + {maxReplies}+ reacties {numReplies} - Nieuwste berichten + Vernieuwen + Populairste berichten + Je hebt alle populairste berichten van de laatste 2 weken gezien. + Je bent weer helemaal bij Mapkleur Mapnaam !!{folderName}!!, map {mentions} !!{folderName}!!, map {mentions}, !!{expandedState}!! Servermap zonder naam Mapinstellingen opgeslagen! + Startpagina Dit is een nieuw gebied dat we bètatesten om je te helpen bij te houden wat er allemaal gebeurt in je server. Startpagina - !!{guildName}!! + Serverprofielbanner wijzigen + Tik om \'Over mij\' voor deze server te bewerken + \'Over mij\' van deze server bewerken + Als je niks invult, wordt je standaard \'Over mij\' gebruikt. + Tik om \'Over mij\' toe te voegen voor deze server Serverbiografie voor !!{guildName}!! + Serverprofielbanner wijzigen + Serveravatar verwijderen + Serverprofielbanner + Resetten naar standaardbanner Meer nodig? Met Nitro kun je je serverprofiel naar hartenlust aanpassen. + Serverprofielbanner uploaden Wees wie je wilt zijn met een andere avatar, banner en bio op al je servers, ontgrendel geanimeerde avatars en nog veel meer met [Discord Nitro!](onAndMore) Gebruik serverprofielen om te laten zien wie je bent Uitnodigen op servers @@ -3363,6 +3397,8 @@ De verificatielink is verlopen. Verificatie geslaagd. Bezig met het verifiëren van je verzoek. + Serverinstellingen bekijken + Het is hier nogal druk! Je kunt overwegen om de standaard meldingsinstellingen van deze server te veranderen in **alleen @mentions** om je leden tegemoet te komen. Stel @everyone op de hoogte Laat ook @everyone weten dat dit evenement gaat beginnen. $[Laat @everyone weten dat het podium gaat beginnen.](tooltipHook) [Inschakelen](toggleClick) @@ -3586,6 +3622,8 @@ $[**!!{user}!!**](userHook) heeft wijzigingen aangebracht aan $[**!!{target}!!**](targetHook) Stel kanaal voor communityserver-updates in op **!!{newValue}!!** Communityserver-updateskanaal: **toewijzing ongedaan gemaakt** + Stuur de aangepaste uitnodigingslink naar **!!{newValue}!!** + Aangepaste uitnodigingslink **verwijderd** Serververificatieniveau instellen op **Hoog** Serververificatieniveau instellen op **Laag** Serververificatieniveau instellen op **Gemiddeld** @@ -3745,7 +3783,6 @@ We raden ten zeerste aan om dit alleen in te stellen voor @mentions voor een openbare Discord. Vanwege de grootte van deze server ontvangen leden geen mobiele pushmeldingen voor berichten zonder @mention. Ontdekking uitschakelen - Als je lidvereisten uitzet, kan iedereen lid worden van je community zonder regels te aanvaarden en zonder dat jouw handmatige goedkeuring nodig is. Weet je het zeker? Alleen serverbeheerders kunnen Ontdekking in- en uitschakelen. 2FA-vereiste voor moderatie ingeschakeld @@ -3798,6 +3835,10 @@ Als je de community uitschakelt, wordt je server ook van serverontdekking verwijderd. Deze server is verwijderd uit Ontdekking. Deze server voldeed niet aan de onderstaande vereisten en is automatisch verwijderd uit Ontdekking. Geen zorgen, je kunt er weer bij zodra de server weer aan alle vereisten voldoet. We berekenen de activiteitsvereisten elke week opnieuw. + Dit zorgt ervoor dat er info verschijnt als je op een aangepaste emoji of server klikt vanaf je server, in welke chat dan ook. Gebruikers kunnen je server zien – en lid worden – via de informatie die dan wordt getoond. + Info emoji/sticker uitschakelen + Info emoji/sticker inschakelen + Info over emoji/sticker tonen als je erop klikt Vergroot je community met serverontdekking Discord geeft deze server bij zoekopdrachten prioriteit aan gebruikers die de geselecteerde taal spreken. Als je wordt vermeld in [serverontdekking](onLinkClick) kan iedereen je server vinden en deelnemen. @@ -3812,6 +3853,7 @@ Subcategorieën Alias Voer Alias in + Voeg maximaal {count} aangepaste emoji\'s toe die iedereen op deze server kan gebruiken. Geanimeerde gif-emoji\'s kunnen door leden met Discord Nitro worden gebruikt. Emoji-namen moeten minimaal 2 tekens lang zijn en mogen alleen alfanumerieke tekens en onderstrepingstekens bevatten. Emoji\'s moeten kleiner zijn dan {maxSize} kB. Boost je server naar niveau {level} om extra ruimte voor emoji\'s te ontgrendelen! Emoji\'s level {level} kwijt Boost je server naar niveau {level} of koop een niveau om je emoji\'s te ontgrendelen! @@ -3858,6 +3900,8 @@ Threads archiveren na 1 week Privéthreads creëren Geanimeerde serverbanner + Aangepaste uitnodigingslink voor de server + Geluidskwaliteit: {bitrate} kbps +{adding} server-emojivakjes (voor een totaal van {total}) +{adding} aangepaste-stickervakjes (voor een totaal van {total}) {fileSize} uploadlimiet voor alle leden @@ -4597,6 +4641,14 @@ !!{name}!!-emoji !!{name}!! Pictogram !!{name}!!-logo + Wat zijn kanalen? + In kanalen kun je praten, je stem laten horen, spelletjes spelen en meer. Elke server heeft een kanaallijst zodat je overal een kijkje kunt nemen. + Privéberichten + Privéberichten maken geen deel uit van servers. Je kunt een vriend(in) een pb sturen om snel even te chatten of een groeps-pb maken met maximaal 10 mensen. + Kom je er nog steeds niet uit? + Kun je niet vinden wat je zoekt? [Ga naar ons Helpcentrum]({helpCenterUrl}) voor meer informatie. + Wat is een server? + Op servers kun je samenkomen met vrienden en mensen ontmoeten. De meeste servers zijn privé en alleen op uitnodiging. in !!{categoryName}!! Spraakinstellingen in-game In het spraakkanaal @@ -4615,6 +4667,7 @@ Geïnteresseerd Nee bedankt Wanneer direct geüpload naar Discord + Afbeeldingen die groter zijn dan {maxSize} MB worden niet vooraf getoond. Wanneer gepost als links om te chatten Afbeeldingen, video\'s en lolcats weergeven Invoerapparaat @@ -4686,6 +4739,7 @@ Deze applicatie heeft geen opdrachten. Deze applicatie heeft geen webhooks in deze server. Je hebt het maximale aantal overschreven machtigingen bereikt. + Je hebt het maximale aantal machtigingen. Verwijder er {removeCount} om verdere wijzigingen aan te brengen. Integratie verwijderen Weet je zeker dat je **!!{applicationName}!!** wilt verwijderen? Er is een interne serverfout opgetreden. @@ -4845,6 +4899,7 @@ Laten we wat vrienden toevoegen! Mensen uitnodigen Opgelet! Vrienden die je hebt uitgenodigd, kunnen je berichtgeschiedenis lezen. + Dit kanaal is privé. Alleen geselecteerde leden en rollen kunnen dit kanaal bekijken. Zoek vrienden Uitnodiging verzonden !!{maxAge}!!, !!{maxUses}!! @@ -4855,6 +4910,7 @@ Of, stuur een uitnodigingslink voor een stream naar een vriend Uitnodigen om te streamen Uitnodigen op server + Nodig vrienden uit op **!!{name}!!** Uitnodigingslink Meedoen met spraak Welkom bij je nieuwe server! @@ -5006,6 +5062,7 @@ Kicken Kicken Leden verwijderen + Leden verwijderen, goedkeuren en afwijzen !!{user}!! kicken Weet je zeker dat je !!{user}!! wilt verwijderen van de server? Deze gebruiker kan opnieuw deelnemen met een nieuwe uitnodiging. \'!!{user}!!\' is van de server gegooid. @@ -6186,9 +6243,21 @@ !!{planPremiumType}!!Annuleren? Je annulering zal direct van kracht gaan voor alle Nitro- en Serverboost-abonnementen. Je Discord Tag wordt willekeurig verdeeld als je deze had aangepast. Laat maar, ik ga door met Nitro + Laat maar, ik ga door met Nitro Je **2 gratis boosts** en **30%% boostkorting** {boostCount} Je **boostkorting van 30%%** + 2 gratis boosts en 30%% korting + Overal aangepaste emoji en stickers gebruiken + Profielgoodies en een aangepaste tag + Video\'s streamen in high-definition met 60 FPS + je hebt {month} gestreamd + uur + HD-videostreamen + Hogere uploadlimiet van 100 MB + grote bestanden + je hebt {month} gestuurd + Grotere bestanden uploaden Toegang tot **aangepaste emoji\'s** en **stickers** op al je servers Toegang tot **aangepaste emoji\'s** op al je servers Een **geanimeerde avatar**, **profielbanner** en **aangepaste Discord Tag** @@ -6309,15 +6378,21 @@ Actieve serverboosts {numSubscriptions} beschikbaar Sorry, we ondersteunen momenteel het annuleren van boosts die via !!{paymentGatewayName}!! zijn gekocht niet. Je kunt je boost annuleren via het abonnementsbeheer [!!{paymentGatewayName}!! van ]({subscriptionManagementLink}). + Weet je zeker dat je deze serverboost wilt annuleren? Dan verpletteren we dat juweeltje. We verwijderen hem van gerelateerde servers en annuleren hem voor je abonnement aan het eind van je facturatieperiode: **{endDate}**. + Weet je zeker dat je een serverboost uit je inventaris wilt annuleren? Dan verpletteren we dat juweeltje. We verwijderen hem van gerelateerde servers en annuleren hem voor je abonnement aan het eind van je facturatieperiode: **{endDate}**. Ja, boost annuleren Je abonnement is verlopen. Werk je betalingsgegevens bij om boosts te beheren. Deze boost zit in je Nitro-abonnement Boost annuleren Er is een fout opgetreden bij het annuleren van deze boost. + **{subscriptionCount}** {subscriptionCount} geannuleerd + Dit serverboostabonnement wordt geannuleerd aan het eind van je facturatieperiode van je Nitro- of Nitro Classic-abonnement, op **{endDate}**. De wijzigingen aan je abonnement zie je hieronder: Serverboost annuleren Serverboost annuleren op server Serverboost uit inventaris annuleren Boost wacht op annulering + Oké, we zijn bereid om dit boostjuweeltje voor je te verpletteren. De annulering van deze boost staat gepland op **{endDate}**. **Je kunt deze boost nog gebruiken totdat we hem slopen.** + Boost geannuleerd! {date} Aan het boosten sinds {date} ({months}) Er is een fout opgetreden bij het boosten. Probeer het opnieuw. @@ -6389,13 +6464,18 @@ Uploadlimiet bestanden verhoogd tot 100 MB Laat met een serverbanner iedereen zien waar je server over gaat Effectieve upgrades: grotere bestanden uploaden, verbeterde audiokwaliteit en nog veel meer! + Krachtige upgrades: geanimeerd serverpictogram, extra threadopties en nog veel meer! + Krachtige upgrades: grotere bestanden uploaden, serverbanner, aangepaste rolpictogrammen en nog veel meer! + Krachtige upgrades: aangepaste uitnodigingslink, extra emojivakken en geanimeerde serverbanners. Stel een uniek pictogram in voor elke rol op de server Scherm delen in 1080p/60 fps Scherm delen in 720p/60fps Persoonlijke stickers uploaden die iedereen kan gebruiken Upload tot {numStickers} persoonlijke stickers en {numEmojis} gepersonaliseerde emoji\'s + Upload maximaal {numStickers} persoonlijke stickers Opties voor het langer archiveren van threads Privéthreads creëren + Voeg gemakkelijk nieuwe leden toe met een aangepaste uitnodigingslink Doel: {levelName} Koop boosts om {levelName}-voordelen te helpen ontgrendelen! Deze server heeft alle boostvoordelen ontgrendeld! @@ -6534,6 +6614,7 @@ Jouw abonnementen Deze wijziging is van toepassing op verrekening, korting en terugbetaling. Dit zijn je huidige abonnementen. De kosten ervan worden tegelijk in rekening gebracht. + {planName} geannuleerd Tegoed van !!{planName}!! Dit tegoed wordt toegepast zodra je je aanmeldt voor een abonnement op !!{planName}!!. Dit tegoed kan worden gebruikt voor een !!{planName}!!-abonnement dat is gekocht op een desktop. @@ -6715,8 +6796,11 @@ Profielacties Upload je eigen aangepaste banner en meer met Nitro! $[](renderTimeHook) voorbij + De aanbevolen minimumgrootte is 600x240 met beeldverhouding 5:2.Toegestane bestandstypes zijn PNG, JPG en geanimeerde gifjes. Vertel deze server iets over jezelf + Niet opslaan Wijzigingen opslaan? + Je hebt wijzigingen aangebracht. Wil je deze opslaan voordat je deze pagina verlaat? Exclusief voor Nitro Voorbeeld Gebruikersbadges @@ -6877,6 +6961,7 @@ Time-out intrekken Time-out van !!{user}!! intrekken !!{user}!! uit thread verwijderen + Aangepaste uitnodigingslink verwijderen Links van embeds en voorbeeldwebsites tonen die in de chat zijn gekopieerd Voorbeelden van embed- en voorbeeldlinks Laat emoji-reacties zien in berichten @@ -7013,11 +7098,13 @@ Standaardmachtigingen voor alle serverleden Rolpictogram, {name} Afbeelding kiezen + Upload een afbeelding van maximaal 256 kB of kies een persoonlijke emoji van de server. We raden minstens 64x64 pixels aan. Leden zien het pictogram van hun belangrijkste rol als ze meerdere rollen hebben. Meer informatie Persoonlijk rolpictogram voor {name}. Deze functie maakt deel uit van serverboosting. Emoji Afbeelding uploaden Blader door bestanden + O nee! Het bestand is te groot. Selecteer een .png- of .jpg-bestand van maximaal 256 kB. Kies een PNG- of JPG-bestand om te uploaden ID gekopieerd voor rol: {role} Leden gebruiken de kleur van de hoogste rol die ze op deze lijst hebben. Sleep de rollen om ze opnieuw te ordenen. @@ -7093,6 +7180,7 @@ Staat links toe waarmee leden ingesloten content kunnen delen in deze kanalen. Staat links toe waarmee leden ingesloten content kunnen delen in dit kanaal. Geen machtigingen gevonden + Als je leden verwijdert, verdwijnen ze van deze server. Verwijderde leden kunnen zich opnieuw aansluiten als ze een nieuwe uitnodiging hebben ontvangen. Als de optie \'Vereisten voor leden\' is ingeschakeld op de server, stelt deze machtiging je in staat om leden die willen meedoen goed of af te keuren. Leden kunnen andere leden verwijderen van deze server. Verwijderde leden kunnen zich opnieuw aansluiten als ze een nieuwe uitnodiging hebben ontvangen. Leden kunnen de naam, beschrijving en tekst-/spraakinstellingen van deze kanalen aanpassen. Ze kunnen deze kanalen ook verwijderen. (Vereist voor podiummoderator) Sta leden toe om een onderwerp in te stellen en het podium te starten, en spreekverzoeken in of uit te schakelen. Ook kunnen ze het podiumkanaal verwijderen. @@ -7564,11 +7652,15 @@ Het gedachtestreepje is het enige speciale teken dat is toegestaan. Hier komen de tags. In serverontdekking zoek je op naam, beschrijving en tags. Je mag er maximaal 10 toevoegen. + Servers met meer dan {count} leden komen nu in aanmerking voor serverontdekking. + Laat je community sneller groeien Server-emoticons Alle mappen sluiten Map als gelezen markeren + Alle servers in de map dempen Servermap Mapinstellingen + Dempen opheffen voor alle servers in de map Serverinzichten Deze server is momenteel vol. Server gedempt @@ -7591,6 +7683,9 @@ Het wijzigen van foutopsporing wordt afgesloten en Discord wordt opnieuw gestart. Weet je zeker dat je dit wilt doen? Stel deze link in om nooit te vervallen Status instellen + Je server heeft geen toegang tot deze functie. + Je hebt geen toegang tot deze functie. + Je moet een tekstkanaal instellen dat toegankelijk is voor alle leden voor je een aangepaste uitnodigingslink kunt instellen. Instellingen Geavanceerd Voeg het toe! @@ -8414,6 +8509,9 @@ Ongeclaimd account Hoorbaar maken Ongedaan maken + Kanaal uit favorieten verwijderen + Privébericht uit favorieten verwijderen + Groeps-pb uit favorieten verwijderen Verwijderen uit favorieten Onfocus deze persoon Sorry, er zijn geen applicaties gevonden op je apparaat om deze link te verwerken: @@ -8812,6 +8910,10 @@ Je moet push-to-talk inschakelen om in dit kanaal te spreken. Push to Talk vereist Aangepaste uitnodigingslink + Onthoud dat aangepaste uitnodigingslinks alleen werken als alle leden toegang hebben tot een tekstkanaal. + Aangepaste uitnodigingslink ({uses}) + Maak je server eenvoudig toegankelijk met een mooie, naar wens aangepaste uitnodigingslink. Wees je ervan bewust dat je server hierdoor openbaar beschikbaar wordt voor iedereen die deze link gebruikt. + Hou er rekening mee dat we aangepaste uitnodigingslinks kunnen terugnemen als we misbruik ontdekken of als er een conflict over intellectueel eigendom is. Deze server is nu voor iedereen toegankelijk op **!!{url}!!** Deze server is nu voor iedereen toegankelijk op [!!{urlText}!!]({urlValue}) jouw-link-hier diff --git a/app/src/main/res/values-no/plurals.xml b/app/src/main/res/values-no/plurals.xml index f6537ff77c..409c2397ba 100644 --- a/app/src/main/res/values-no/plurals.xml +++ b/app/src/main/res/values-no/plurals.xml @@ -932,6 +932,14 @@ {#} boost brukt {#} booster brukt + + {#} måned + {#} måneder + + + {#} måned + {#} måneder + {#} boost {#} booster @@ -1028,6 +1036,10 @@ {#} boost {#} booster + + Server Boost + Server Booster + {#} måned {#} måneder @@ -1420,6 +1432,10 @@ 1 annen {count} andre + + 1 bruk + {uses} bruk + 1 bruk {uses} bruk diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml index f4bfb6873a..5d432f0724 100644 --- a/app/src/main/res/values-no/strings.xml +++ b/app/src/main/res/values-no/strings.xml @@ -1168,6 +1168,7 @@ Bytt serveravatar Endre ikon Rediger serverprofil + Avatar og profilbanner Serverbio Hvis feltet er tomt, brukes hovedbioen din. Fortell serveren litt om deg selv @@ -1175,6 +1176,7 @@ Bruk forskjellig avatar på hver av serverne dine og mer med Discord Nitro! Kallenavn (deaktivert) Du kan endre hvordan andre ser deg i denne serveren ved å angi et kallenavn og en avatar for serveren. + Tilbakestill til standardavatar Ukjent feil Bytt server-avatar Bruk forskjellig avatar på hver av serverne dine og mer med **Discord Nitro!** @@ -1197,6 +1199,7 @@ Endre passord Vil du bytte telefonnummer? Endre bakgrunn + Den egendefinerte invitasjonslenken kunne ikke endres, for den inneholder ugyldige tegn, er for kort eller er allerede brukt. Egendefinerte invitasjonslenker kan bare inneholde bokstaver, tall og bindestreker. Innhold i endringsloggen Vis en venn den nye hjemmesiden vår! Vi satser på å gjøre et godt inntrykk. Finn ut mer @@ -1212,16 +1215,6 @@ Deltakere Kanalen er blitt slettet. Kanaloverskrift - Kanalinfo - Hvis du demper, ser du ikke indikatorer for uleste meldinger eller varslinger med mindre du blir nevnt. - Navn - Varsler - Detaljer - Emne - Rediger - Dine innstillinger - Skjul kanalinformasjon - Vis kanalinformasjon Rollen din har ikke tilgang til denne kanalen. Kanalen er låst Tillatelser synkronisert med kategori: **{categoryName}** @@ -1327,6 +1320,7 @@ Gjør krav Fjern Tøm vedlegg + Fjern overstyring av delversjon Klikk for mer info Klon kanalen En ny kanal blir opprettet med samme tillatelser, brukergrense og bitrate som **!!{name}!!**. @@ -1883,6 +1877,7 @@ !!{a}!!, !!{b}!! og {n} er i tale. Ingen snakker i tale. Egendefinert farge + Husk at egendefinerte invitasjonslenker kun fungerer hvis én tekstkanal er tilgjengelig for alle medlemmer. Egendefinert status Fjern etter Fjern status @@ -2211,6 +2206,7 @@ en aktivitet Begynn å bruke tale når du spiller med andre! NYHET! Aktiviteter + Spill sammen gratis i en av talekanalene. Lås opp flere aktiviteter med boosting! en annen aktivitet Emoji Legg til i favoritter @@ -2260,6 +2256,7 @@ Denne emojien er fra en server som enten er privat eller ikke tilgjengelig. [Finn ut mer](openPremiumSettings) om hvordan du bruker egendefinerte emojier. Fjern fra favoritter {count} er tilgjengelig + Den emojien var for stor! Emojier må være mindre enn {maxSize} KB. Klikk for mer info {count} @mention brukere for å legge dem til i denne private tråden. @@ -2374,10 +2371,18 @@ $[](upHook) for å velge Facebook Mislykket + Merk kanalen som favoritt + Merk DM-en som favoritt + Merk gruppe-DM-en som favoritt Du kan ikke ha flere favoritter. Favoritt + Velkommen til Discords nye «favorittfunksjon»! Legg til favoritter ved å merke kanaler, talechatter og DM-er via hurtigmenyene deres. + Favoritter + Gå til opprinnelig server + Favoritter Du kan ikke ha mer enn {count} favoritter. Å nei! + Dette navnet vil bare vises i favorittene dine. Beskriv problemet ditt Problemet ditt Send tilbakemelding @@ -2438,6 +2443,7 @@ Senk volumet til andre programmer med denn prosenten når noen snakker. Sett til 0 %% for å deaktivere demping. Tråder blir arkivert etter den angitte tidsperioden med inaktivitet. Dersom indikatoren lyser grønt så overfører Discord den vakre stemmen din. + ALLE BITENE! Hvis du går over {bitrate} kbps kan det påvirke folk med dårlig forbindelse. Når du bruker en Discord-sertifisert mikrofon, blir enkelte talebehandlingsfunksjoner ikke lenger håndtert av Discord selv, men av mikrofonen. Endre personverninnstillingene og definer hvordan medlemmene kan samhandle med denne kanalen. Registrerer alle RTP-data som mottas for neste tale-/videoforbindelse, for feilsøking. @@ -2630,6 +2636,7 @@ Test mikrofonen min Tekst-til-tale Varsler for tekst-til-tale + Opphev demping av nye eventer Opphev demping av **!!{name}!!** Tekstboks Brukergrense @@ -2669,6 +2676,7 @@ Servermedlemmer Godta Avbryt + Venneforespørselen har blitt kansellert. Hm, noe gikk galt da du skulle sende venneforespørsler. Du kan prøve på nytt senere fra vennelisten. Hm, noe gikk galt da du skulle sende en venneforespørsel til !!{name}!!. Du kan prøve på nytt senere fra vennelisten. Venneforespørsel mislyktes @@ -2988,6 +2996,9 @@ Ser på {username} Gå til kanalen Forstått + Det skjedde en feil under behandlingen av kjøpet. Vent litt og prøv igjen. + Å nei! + Kan ikke koble til Google Play Tjenester. Vent litt og prøv igjen. Gi midlertidig medlemskap Grønn Grå @@ -3035,8 +3046,8 @@ Dette ser bra ut! Mer informasjon Kanskje senere - Boost til nivå 1 i dag, så går lydkvaliteten fra 96 kbps til 128 kbps. - Boost til nivå 2 i dag, så går lydkvaliteten fra 128 kbps til 256 kbps. + Boost til nivå 1 for å få bedre lyd. Da vil det føles som om alle er i samme rom. + Boost til nivå 2 for å få bedre lyd. Da vil det føles som om alle er i samme rom. Boost til nivå 3 i dag, så går lydkvaliteten fra 256 kbps til 384 kbps. Visste du at boosting gir bedre lydkvalitet? Du har nådd grensen på 100 servere @@ -3087,6 +3098,7 @@ Fra spill til musikk til kunnskapsformidling – det finnes et sted for deg. Finn et fellesskap på Discord Følg oppdateringer + Finn et fellesskap for deg Søk etter fellesskap Populære fellesskap !!{username}!!, det kan hende du vil like disse serverne @@ -3204,18 +3216,40 @@ Opprett {count} {number} + Men du kan jo skrive noen! + Denne serveren har ingen toppmeldinger ennå. + Last inn siden på nytt, eller sjekk [statussiden]({url}) vår. + Uff da! Det oppsto visst en ultrasjelden feil. + Oppdater for å se hva som skjer + Det var alt! Eller vent, kanskje det er litt til … + Åpne meldingen fra !!{channelName}!! i sidemenyen + {maxReplies}+ svar {numReplies} + Last inn på nytt Toppmeldinger + Du har sett alle de viktigste meldingene fra de siste 2 ukene. + Du er i mål Mappefarge Mappenavn !!{folderName}!!, mappe {mentions} !!{folderName}!!, mappe {mentions}, !!{expandedState}!! Ikke navngitt servermappe Mappeinnstillinger lagret! + Hjem Dette er en ny overflate vi betatester. Overflaten kan gjøre det lettere for deg å få med deg det som skjer i serveren din. Hjem – !!{guildName}!! + Bytt serverprofilbanner + Trykk for å redigere «Om meg» for denne serveren + Rediger «Om meg» for denne serveren + Hvis feltet er tomt, brukes standardbioen din. + Trykk for å legge til en «Om meg» for denne serveren Serverbio for !!{guildName}!! + Bytt serverprofilbanner + Slett serveravatar + Serverprofilbanner + Tilbakestill til standardbanner Trenger du mer? Med Nitro får du full tilpassing av serverprofilen. + Last opp serverprofilbanner Vær den du vil med egen avatar, banner og bio på hver server med [Discord Nitro!](onAndMore) Du kan også lås opp animerte avatarer og mer. Uttrykk deg bedre med serverprofiler. Inviter til servere @@ -3249,6 +3283,8 @@ Bekreftelseslenken har utløpt. Bekreftelse fullført. Bekrefter forespørselen din. + Vis serverinnstillinger + Det er ganske travelt her! Du bør vurdere å endre serverens varslingsinnstilling til **Bare @mentions** for å hjelpe medlemmene dine. Varsle @everyone Si fra til @everyone at eventen starter. $[Si ifra til @everyone at scenen starter.](tooltipHook) [Slå på](toggleClick) @@ -3472,6 +3508,8 @@ $[**!!{user}!!**](userHook) gjorde endringer i $[**!!{target}!!**](targetHook) Angi kanalen for oppdateringer om fellesskapsserveren til **!!{newValue}!!** **Fjernet** kanalen for oppdateringer om fellesskapsserveren + Angi egendefinert invitasjonslenke til **!!{newValue}!!** + Egendefinert invitasjonslenke **fjernet** Angi nivået for serververifisering til **høyt** Angi nivået for serververifisering til **lavt** Angi nivået for serververifisering til **middels** @@ -3631,7 +3669,6 @@ Vi anbefaler på det sterkeste å sette denne til bare @mentions for et offentlig Discord. Grunnet denne serverens størrelse får ikke medlemmene mobilpushvarslinger på meldinger som du ikke er @nevnt i. Deaktiver oppdagelse - Det å deaktivere medlemskrav betyr at folk kan bli med i fellesskapet ditt uten å godta regler og uten din manuelle godkjenning. Er du sikker? Kun serveradministratorer kan aktivere og deaktivere oppdagelse. 2FA-kravet for moderasjon er aktivert @@ -3684,6 +3721,10 @@ Hvis du deaktiverer fellesskapet, fjernes også serveren din fra serveroppdagelse. Denne serveren er fjernet fra Oppdagelse. Denne serveren oppfyller ikke kravene nedenfor og har automatisk blitt fjernet fra Oppdagelse. Ingen grunn til bekymring, du kan bli med igjen når serveren oppfyller alle kravene igjen. Krav til aktivitet justeres ukentlig. + Dette gjør at informasjon vises når du klikker på en egendefinert emoji eller klistremerke fra serveren din i en chat. Brukerne kan se og bli med i serveren via opplysningene som vises. + Deaktiver info om emojier/klistremerker + Aktiver info om emojier/klistremerker + Vis info om emojier/klistremerker når de klikkes på Utvid fellesskapet ditt med serveroppdagelse Discord prioriterer denne serveren i søk fra brukere som snakker det valgte språket. Når du er listet i [serveroppdagelse](onLinkClick), kan alle finne deg og bli med på serveren din. @@ -3698,6 +3739,7 @@ Underkategorier Alias Angi alias + Legg til opptil {count} egendefinerte emojier som alle kan bruke på denne serveren. Animerte GIF-emojier kan brukes av medlemmer med Discord Nitro. Emoji-navn må være minst 2 tegn lange og kan bare inneholde alfanumeriske tegn og understreker. Emojier må være mindre enn {maxSize} KB i størrelse. Boost serveren din til nivå {level} for å låse opp flere emojiplasser! Du har mistet emojier på nivå {level} Boost serveren din til nivå {level} eller kjøp et nivå for å låse opp emojiene! @@ -3744,6 +3786,8 @@ Arkivering av tråder etter 1 uke Opprett private tråder Animert serverbanner + Egendefinert invitasjonslenke for serveren + {bitrate} kbps lydkvalitet +{adding} plasser for server-emojier (for totalt {total}) +{adding} egendefinerte klistremerkeplasser (for totalt {total}) {fileSize} opplastingsgrense for alle medlemmer @@ -4482,6 +4526,14 @@ !!{name}!! Emoji !!{name}!! Ikon !!{name}!! Logo + Hva er kanaler? + En kanal er et sted der man snakker, spiller spill og mer. Hver server har en kanalliste du kan bla gjennom for å se hva som skjer. + Direktemeldinger + Direktemeldinger er atskilt fra serverne. Du kan sende DM til en venn privat for å prate litt, eller lage en gruppe-DM for inntil 10 personer. + Trenger du mer hjelp? + Fant du ikke det du så etter? [Gå til hjelpesenteret]({helpCenterUrl}) hvis du vil vite mer. + Hva er en server? + En server er et sted der du kan henge med venner og møte andre. De fleste serverne er private og forutsetter en invitasjon. i !!{categoryName}!! Taleinnstillinger i spillet I talekanalen @@ -4500,6 +4552,7 @@ Interessert Nei takk Når det lastes opp direkte til Discord + Bilder større enn {maxSize} MB blir ikke forhåndsvist. Når det legges ut som lenker i chatten Vis bilder, videoer og lol-katter Inngangsenhet @@ -4571,6 +4624,7 @@ Denne søknaden har ingen kommandoer. Denne applikasjonen har ingen webhooks på denne serveren. Du har nådd maksimalt antall overskrivinger av tillatelser. + Du har nådd det maksimale antallet tillatelser. Fjern {removeCount} av dem for å gjøre flere endringer. Fjern integrasjon Er du sikker på at du vil fjerne **!!{applicationName}!!**? Det oppsto en intern serverfeil. @@ -4730,6 +4784,7 @@ Inviter noen venner. Inviter folk Pass på! Venner du inviterer kan se den tidligere meldingshistorikken. + Denne kanalen er privat, så det er bare utvalgte medlemmer og roller som har tilgang til å se den. Søk etter venner Invitasjonen er sendt !!{maxAge}!!, !!{maxUses}!! @@ -4740,6 +4795,7 @@ Eller send en strøminvitasjonslenke til en venn Inviter til strømmen Inviter til server + Inviter venner til **!!{name}!!** Nettadresse for invitasjon Bli med i tale Velkommen til den nye serveren din! @@ -4890,6 +4946,7 @@ Spark ut Spark ut Spark medlemmer + Kast ut, godkjenn og avvis medlemmer Spark ut !!{user}!! Er du sikker på at du vil sparke ut !!{user}!! fra serveren? Vedkommende kan bli med igjen med en ny invitasjon. «!!{user}!!» har blitt sparket ut fra serveren. @@ -6022,9 +6079,21 @@ Avbryte !!{planPremiumType}!!? Avbestillingen trer i kraft øyeblikkelig for abonnementer på Nitro og Server Boost. Discord-taggen din blir randomisert hvis du har endret den. Jeg vil beholde Nitro + Glem det, behold Nitro De **2 boostene på kjøpet** og **30 %% rabatt på booster** {boostCount} **30 %% rabatt på boost** + 2 gratis booster og 30 %% rabatt + Bruk av egentilpassede emojier og klistremerker overalt + Profilswag og tilpasset tagg + Høy oppløsning, videostrømming i 60 FPS + du har strømmet i {month} + timer + Videostrømming i HD + Filopplastingsgrense økt til 100 MB + store filer + du har sendt i {month} + Opplasting av større filer Tilgang til **egendefinerte emojier** og **klistremerker** på alle serverne dine Tilgang til **egendefinerte emojier** på alle serverne dine En **animert avatar**, **profilbanner** og egendefinert **Discord-tagg** @@ -6145,15 +6214,21 @@ Aktive Server Booster {numSubscriptions} tilgjengelig Beklager, vi støtter foreløpig ikke kansellering av booster som er kjøpt gjennom !!{paymentGatewayName}!!. Du kan kansellere boosten gjennom [!!{paymentGatewayName}!! sin abonnementsadministrasjon]({subscriptionManagementLink}). + Er du sikker på at du vil kansellere denne Server Boosten? Vi skal knuse denne juvelen til småbiter. Den fjernes fra tilknyttede servere og kanselleres fra abonnementet ditt på slutten av faktureringsperioden: **{endDate}**. + Er du sikker på at du vil fjerne en Server Boost fra beholdningen din? Vi skal knuse denne juvelen til småbiter. Den fjernes fra tilknyttede servere og kanselleres fra abonnementet ditt på slutten av faktureringsperioden: **{endDate}**. Ja, kanseller boost Betalingen for abonnementet ditt har forfalt. Du må oppdatere betalingsopplysningene før du kan administrere booster. Denne boosten er inkludert i Nitro-abonnementet ditt Kanseller Boost Det oppstod en feil ved kansellering av denne boosten. + **{subscriptionCount}** {subscriptionCount} kansellert + Dette Server Boost-abonnementet kanselleres på slutten av Nitro- eller Nitro Classic-faktureringsperioden, **{endDate}**. Endringene i abonnementet ditt er vist under: Kanseller Server Boost Kanseller Server Boost fra en server Kanseller Server Boost fra beholdning Booster som venter på kansellering + Greit, vi er klar til å knuse denne boostjuvelen for deg. Kansellering av denne boosten er planlagt til: **{endDate}**. **Du kan fremdeles bruke denne boosten til den tilintetgjøres!** + Boost kansellert! {date} Boosting siden {date} ({months}) Det oppstod en feil under forsøket på å booste. Prøv igjen. @@ -6220,18 +6295,23 @@ Boosting gir deg tilgang til nye muligheter og oppgraderinger som alle på serveren nyter godt av. Gi bort en boost for å motta: Tilgang til flere morsomme aktiviteter! Skill deg ut med et animert serverikon - Lydkvaliteten er økt til {targetQuality} Kpbs + Lydkvaliteten er økt til {targetQuality} kpbs Tilpass serverinvitasjonene dine med en egendefinert bakgrunn Filopplastingsgrense økt til 100 MB Bruk et serverbanner for å vise andre hva som skjer på serveren din Solide oppgraderinger: opplasting av større filer, bedre lydkvalitet og annet! + Kraftige oppgraderinger: animert serverikon, ekstra trådalternativer og mer! + Solide oppgraderinger: opplasting av større filer, serverbanner, egendefinerte rolleikoner og mer! + Kraftige oppgraderinger: egendefinert invitasjonslenke, ekstra emojiplasser og animert serverbanner. Angi et ulikt ikon for hver rolle i serveren Skjermdeling i 1080p og 60 fps Skjermdeling i 720 p og 60 fps Last opp egne klistremerker som alle kan bruke Last opp inntil {numStickers} egendefinerte klistremerker og {numEmojis} egendefinerte emojier + Last opp inntil {numStickers} egendefinerte klistremerker Mulighet for å arkivere tråder i lengre tid Opprett private tråder + Med en egendefinert invitasjonslenke er det enkelt å legge til nye medlemmer Mål: {levelName} Kjøp booster for å gjøre det lettere å låse opp fordeler på {levelName}! Denne serveren har låst opp alle boostfordelene! @@ -6370,6 +6450,7 @@ Dine abonnementer Denne justeringen inkluderer proporsjonal fordeling, rabatter og refusjoner. Her er dine gjeldende abonnementer. De vil faktureres på samme fakturasyklus. + {planName} kansellert !!{planName}!! kreditt Denne kreditten brukes når du registrerer deg for et !!{planName}!!-abonnement. Denne kreditten kan brukes når du kjøper et !!{planName}!!-abonnement på PC. @@ -6551,8 +6632,11 @@ Profilhandlinger Last opp din personlige fane og mer med Discord Nitro! $[](renderTimeHook) brukt + Anbefalt minimumsstørrelse og sideforhold er 600 x 240 og 5:2. Aksepterte filtyper inkluderer PNG, JPG og animert GIF. Fortell serveren litt om deg selv + Ikke lagre Lagre endringene? + Du har foretatt endringer. Vil du lagre dem før du forlater denne siden? Eksklusivt for Nitro Forhåndsvisning Brukermerker @@ -6713,6 +6797,7 @@ Opphev timeout Fjern timeout fra «!!{user}!!» Fjern !!{user}!! fra tråd + Fjern egendefinert invitasjonslenke Vis innebygginger og forhåndsvis nettstedslenker som limes inn i chatten Innebygging og forhåndsvisning av lenker Vis emojireaksjoner på meldinger @@ -6849,11 +6934,13 @@ Standardtillatelser for alle servermedlemmer Rolleikon, {name} Velg bilde + Last opp et bilde på mindre enn 256 KB eller velg en tilpasset emoji fra denne serveren. Vi anbefaler minst 64x64 piksler. Medlemmene ser ikonet for rollen med høyest rang hvis de har flere roller. Mer info Egendefinert rolleikon for {name}. Dette er en del av serverboostingen. Emoji Last opp bilde Bla gjennom filer + Å nei! Filen er for stor. Velg en .png eller .jpg på 256 KB eller mindre. Velg en PNG eller JPG å laste opp ID ble kopiert for rollen: {role} Medlemmer bruker fargen til den høyeste rollen de har i listen. Dra roller for å omorganisere dem. @@ -6929,6 +7016,7 @@ Tillater lenker som medlemmer deler for å vise innebygget innhold i disse kanalene. Tillater lenker som medlemmer deler for å vise innebygget innhold i denne kanalen. Finner ingen tillatelser + Medlemmer som kastes ut, fjernes fra serveren. Medlemmer som blir sparket ut, kan bli med igjen hvis de får en ny invitasjon. Hvis serveren har medlemskrav, gir tillatelsen muligheten til å godkjenne eller avvise søknader. Lar medlemmer fjerne andre medlemmer fra denne serveren. Medlemmer som blir sparket ut, kan bli med igjen hvis de får en ny invitasjon. Lar medlemmer endre kanalens navn, beskrivelse og tekst- og taleinnstillinger. De kan også slette kanalen. (Kreves for scenemoderator) La medlemmer angi et emne for å åpne scenen og aktivere eller deaktivere forespørsler om å få snakke. De kan også slette scenekanalen. @@ -7400,11 +7488,15 @@ Bindestrek er det eneste tillatte spesialtegnet. Taggene skal hit. I serveroppdagelse kan man søke etter navn, beskrivelse og tagger. Du kan legge til opptil ti. + Servere med over {count} medlemmer kan nå bli med i serveroppdagelse. + Få fellesskapet til å vokse raskere Server-emoji Lukk alle mapper Marker mappen som lest + Demp alle servere i mappen Servermappe Mappeinnstillinger + Opphev demping av alle servere i mappen Serverinnsikt Det er fullt på serveren. Serverdemping @@ -7427,6 +7519,9 @@ Hvis du endrer loggføring av feilsøk, startes Discord på nytt. Er du sikker på at du vil gjøre dette? Angi denne lenken til å aldri utløpe Angi status + Serveren din har ikke tilgang til denne funksjonen. + Discord har ikke tilgang til denne funksjonen. + Før du angir en egendefinert invitasjonslenke, må du angi en tekstkanal som er tilgjengelig for alle medlemmer. Innstillinger Avansert Legg det til! @@ -8245,6 +8340,9 @@ Uavhentet konto Slå på lyd Angre + Fjern kanalen som favoritt + Fjern DM-en som favoritt + Fjern gruppe-DM-en som favoritt Fjern som favoritt Opphev fokus på denne personen Beklager, vi fant ingen programmer som kan håndtere denne lenken på enheten din: @@ -8641,6 +8739,10 @@ Du må ha Trykk og Snakk aktivert for å kunne snakke i denne kanalen. Trykk og snakk kreves Egendefinert invitasjonslenke + Husk at egendefinerte invitasjonslenker kun fungerer hvis én tekstkanal er tilgjengelig for alle medlemmer. + Egendefinert invitasjonslenke ({uses}) + Gjør serveren din lett tilgjengelig med en egendefinert invitasjonslenke du velger. Vær oppmerksom på at dette gjør at serveren din er offentlig tilgjengelig for alle som bruker denne lenken. + Vær oppmerksom på at vi kan ta tilbake egendefinerte invitasjonslenker hvis vi oppdager misbruk eller hvis det oppstår en konflikt med immaterielle rettigheter. Denne serveren er nå tilgjengelig for alle på **!!{url}!!** Denne serveren er nå tilgjengelig for alle på [!!{urlText}!!]({urlValue}) din-nettadresse-her diff --git a/app/src/main/res/values-pl/plurals.xml b/app/src/main/res/values-pl/plurals.xml index c9cdf12e55..cdae408f52 100644 --- a/app/src/main/res/values-pl/plurals.xml +++ b/app/src/main/res/values-pl/plurals.xml @@ -1057,6 +1057,14 @@ {#} zastosowane ulepszenia {#} zastosowanych ulepszeń + + {#} miesiąca + {#} miesięcy + + + {#} miesiąca + {#} miesięcy + {#} ulepszenie {#} ulepszenia @@ -1165,6 +1173,11 @@ {#} ulepszenia {#} ulepszeń + + ulepszenie serwera + ulepszenia serwera + ulepszeń serwera + {#} miesiąc {#} miesiące @@ -1616,6 +1629,11 @@ {count} inne osoby {count} innych osób + + 1 użycie + {uses} użycia + {uses} użyć + 1 użycie {uses} użycia diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 8e62d5560c..b3a5ced552 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -1196,6 +1196,7 @@ Zmień awatar serwerowy Zmień ikonę Edytuj profil serwera + Awatar i baner profilu Profil serwerowy Jeśli zostawisz to pole puste, wykorzystamy Twoje główne dane o użytkowniku. Opowiedz coś o sobie użytkownikom tego serwera @@ -1203,6 +1204,7 @@ Używaj innego awatara na każdym ze swoich serwerów i nie tylko dzięki Discord Nitro! Pseudonim (wył.) Możesz zmienić to, jak inne osoby widzą Cię na tym serwerze, ustawiając pseudonim serwerowy oraz awatar. + Przywróć domyślny awatar Nieznany błąd Zmień awatar serwerowy Używaj innego awatara na każdym ze swoich serwerów i nie tylko dzięki **Discord Nitro!** @@ -1230,6 +1232,7 @@ Zmień hasło Zmienić numer telefonu? Zmień tło + Niestandardowy link z zaproszeniem nie może być zmieniony, bo zawiera niedozwolone znaki, jest za krótki lub jest już zajęty. Niestandardowy link z zaproszeniem może zawierać tylko litery, liczby i myślniki. Lista zmian Pokaż znajomemu naszą nową stronę główną! Zależy nam na robieniu dobrego wrażenia. Dowiedz się więcej @@ -1245,16 +1248,6 @@ Uczestnicy Kanał został usunięty. Nagłówek kanału - Informacje o kanale - Wyciszenie blokuje pojawianie się wskaźników i powiadomień, chyba że ktoś zamieści dotyczącą Ciebie wzmiankę. - Nazwa - Powiadomienia - Szczegóły - Temat - Edytuj - Twoje ustawienia - Ukryj informacje dotyczące kanału - Pokaż informacje dotyczące kanału Nie masz wystarczających uprawnień do wejścia na ten kanał. Kanał zablokowany Uprawnienia zsynchronizowane z kategorią: **{categoryName}** @@ -1362,6 +1355,7 @@ Zajmij Wyczyść Usuń załączniki + Jasne nadpisanie wersji Wyczyść tekst Kliknij, aby dowiedzieć się więcej Sklonuj kanał @@ -1943,6 +1937,7 @@ Na kanale głosowym są teraz !!{a}!!, !!{b}!! i {n}. Na kanale głosowym nie ma teraz nikogo. Własny kolor + Pamiętaj, że niestandardowe linki z zaproszeniem wymagają do działania jednego kanału tekstowego dostępnego dla wszystkich członków. Status własny Wyczyść po Wyczyść status @@ -2271,6 +2266,7 @@ aktywność Zacznijcie grać razem głosowo! NOWOŚĆ! Aktywności + Grajcie razem za darmo na dowolnym kanale głosowym. Odblokuj więcej aktywności dzięki ulepszeniom! inna aktywność Emoji Dodaj do ulubionych @@ -2320,6 +2316,7 @@ To emoji pochodzi z niedostępnego lub prywatnego serwera. [Dowiedz się więcej](openPremiumSettings) o korzystaniu z niestandardowych emoji. Usuń z ulubionych {count} + To emoji było za duże! Rozmiar emoji musi wynosić poniżej {maxSize} KB. Kliknij, aby dowiedzieć się więcej {count} @wspomnij użytkowników, aby dodać ich do tego prywatnego wątku. @@ -2492,10 +2489,18 @@ Kopiuj link Otwórz w przeglądarce Udostępnij link + Dodaj kanał do ulubionych + Dodaj PW do ulubionych + Dodaj prywatną rozmowę grupową do ulubionych Nie możesz mieć więcej ulubionych. Dodaj do ulubionych + Przedstawiamy Twoją „ulubioną” nową funkcję Discorda! Dodawaj do ulubionych, gwiazdkując kanały, czaty głosowe i PW w ich menu kontekstowych. + Ulubione + Przejdź na oryginalny serwer + Ulubione Nie możesz mieć więcej ulubionych niż {count}. O, nie! + Ta nazwa pojawi się tylko wśród Twoich ulubionych. Inne Opisz swój problem Twój problem @@ -2557,6 +2562,7 @@ Obniż dźwięk innych aplikacji o ten procent, podczas gdy inni użytkownicy coś mówią. Ustaw na 0%%, aby całkowicie wyłączyć tłumienie. Wątki będą archiwizowane po określonym czasie nieaktywności. Jeśli wskaźnik jest zielony, Discord nadaje Twój piękny głos. + WSZYSTKIE BITY! Przekroczenie {bitrate} kb/s może wpłynąć negatywnie na osoby ze słabymi połączeniami. Podczas korzystania z mikrofonu zatwierdzonego przez Discorda, niektóre opcje przetwarzania głosu nie są obsługiwane przez nas, a przez sam mikrofon. Zmień ustawienia prywatności oraz określ sposób interakcji użytkowników z kanałem. Do celów debugowania rejestruje wszystkie dane RTP otrzymane do następnego połączenia głosowego/wideo. @@ -2749,6 +2755,7 @@ Testuj mikrofon TTS Powiadomienia TTS + Wyłącz wyciszenie nowych wydarzeń Wyłącz wyciszenie **!!{name}!!** Pole tekstowe Limit użytkowników @@ -2788,6 +2795,7 @@ Członkowie serwera Akceptuj Anuluj + Zaproszenie do znajomych zostało anulowane. Hm. Wygląda na to, że coś poszło nie tak podczas wysyłania zaproszeń do znajomych. Możesz ponowić próby w późniejszym terminie, korzystając z listy znajomych. Hm. Wygląda na to, że coś poszło nie tak podczas wysyłania zaproszenia do znajomych do użytkownika !!{name}!!. Możesz ponowić próbę w późniejszym terminie, korzystając z listy znajomych. Zaproszenie do znajomych zakończone niepowodzeniem @@ -3107,6 +3115,9 @@ Ogląda: {username} Przejdź na kanał Zrozumiano + Wystąpił problem z Twoim zakupem. Odczekaj chwilę i spróbuj ponownie. + O, nie! + Nie można połączyć się z usługami Google Play. Zaczekaj i spróbuj ponownie. Przyznaj tymczasowe członkostwo Zielony Szary @@ -3154,9 +3165,9 @@ Wygląda świetnie! Dowiedz się więcej Może później - Ulepsz do 1. poziomu już dziś, aby zwiększyć jakość dźwięku z 96 kb/s do 128 kb/s. - Ulepsz do 2. poziomu już dziś, aby zwiększyć jakość dźwięku ze 128 kb/s do 256 kb/s. - Ulepsz do 3. poziomu już dziś, aby zwiększyć jakość dźwięku z 256 kb/s do 384 kb/s. + Ulepsz do poziomu 1, by uzyskać lepszą jakość dźwięku, która sprawi, że poczujecie się, jakbyście byli w tym samym pokoju. + Ulepsz do poziomu 2, by uzyskać lepszą jakość dźwięku, która sprawi, że poczujecie się, jakbyście byli w tym samym pokoju. + Ulepsz do poziomu 3 już dziś, aby zwiększyć jakość dźwięku z 256 kb/s do 384 kb/s. Czy wiesz, że możesz uzyskać lepszą jakość dźwięku poprzez ulepszenie? Osiągnięto limit serwerów wynoszący 100 Podwój liczbę serwerów, do których możesz dołączyć – ze 100 do 200 serwerów. @@ -3206,6 +3217,7 @@ Gry, muzyka, nauka – znajdziesz tu miejsce dla siebie. Znajdź swoją społeczność na Discordzie Śledź aktualizacje + Znajdź swoją społeczność Szukaj społeczności Popularne społeczności !!{username}!!, te serwery mogą Ci się spodobać @@ -3323,18 +3335,40 @@ Stwórz {count} {number} + Ale możesz kilka napisać! + Ten serwer nie ma jeszcze najpopularniejszych wiadomości. + Odśwież stronę lub sprawdź [stronę statusu]({url}). + Ups! Wykryliśmy niezwykle rzadki błąd. + Odśwież, aby zobaczyć aktualności + To na razie tyle! Chwileczkę, chyba jest coś jeszcze… + Otwórz wiadomość z kanału !!{channelName}!! w pasku bocznym + Ponad {maxReplies} odpowiedzi {numReplies} + Odśwież Najpopularniejsze wiadomości + Przeczytano wszystkie najpopularniejsze wiadomości z ostatnich 2 tygodni. + Wszystko przeczytane Kolor folderu Nazwa folderu !!{folderName}!!, folder {mentions} !!{folderName}!!, folder {mentions}, !!{expandedState}!! Folder serwera bez nazwy Ustawienia folderu zostały zapisane! + Strona główna Jest to nowa, będąca w fazie testów beta przestrzeń, która pomoże Ci być na bieżąco z tym, co dzieje się na Twoim serwerze. Strona główna – !!{guildName}!! + Zmień serwerowy baner profilu + Dotknij, aby edytować opis O mnie dla tego serwera + Edytuj opis O mnie dla tego serwera + Jeśli zostawisz to pole puste, wykorzystamy Twój domyślny opis O mnie. + Dotknij, aby dodać opis O mnie dla tego serwera Profil serwerowy na serwerze !!{guildName}!! + Zmień serwerowy baner profilu + Usuń awatar serwerowy + Baner profilu serwerowego + Przywróć domyślny baner Potrzebujesz czegoś więcej? Zyskaj pełną personalizację profilu serwerowego w ramach subskrypcji Nitro. + Prześlij serwerowy baner profilu Bądź tym, kim chcesz, używaj innego awatara, banera i danych na każdym ze swoich serwerów oraz odblokuj animowane awatary (i nie tylko) dzięki [Discord Nitro!](onAndMore) Wyrażaj siebie za pomocą profili serwerowych Zaproś na serwery @@ -3368,6 +3402,8 @@ Link weryfikacyjny wygasł. Weryfikacja zakończona sukcesem. Weryfikujemy Twoją prośbę. + Wyświetl ustawienia serwera + Dużo się tu dzieje! Rozważ zmianę domyślnych ustawień powiadomień z serwera na **tylko @wzmianki**, by pomóc członkom Twojego serwera. Powiadom @everyone Damy też znać @everyone, że wydarzenie zaraz się zacznie. $[Daj @everyone znać, że podium zaraz się zacznie.](tooltipHook) [Włącz](toggleClick) @@ -3591,6 +3627,8 @@ $[**!!{user}!!**](userHook) wprowadził(-a) zmiany do $[**!!{target}!!**](targetHook) Ustaw **!!{newValue}!!** jako kanał aktualizacji dla serwerów społeczności **Wyczyszczono** kanał aktualizacji dla serwerów społeczności + Ustaw niestandardowy link z zaproszeniem na **!!{newValue}!!** + **Usunięto** niestandardowy link z zaproszeniem Ustawiono poziom weryfikacji serwera na **Wysoki** Ustawiono poziom weryfikacji serwera na **Niski** Ustawiono poziom weryfikacji serwera na **Średni** @@ -3750,7 +3788,6 @@ Zalecamy ustawienie tego tylko dla @wzmianek dla publicznego serwera Discorda. Ze względu na rozmiar serwera członkowie nie będą otrzymywać mobilnych powiadomień push do wiadomości bez @wzmianek. Wyłącz Wyszukiwanie serwerów - Wyłączenie wymagań dotyczących członków oznacza, że użytkownicy mogą dołączać do Twojej społeczności bez konieczności akceptowania regulaminu lub ręcznego zatwierdzania wniosków przez Ciebie. Na pewno? Tylko administratorzy serwera mogą włączać i wyłączać Wyszukiwanie. Włączono wymaganie 2FA dla moderacji @@ -3803,6 +3840,10 @@ Wyłączenie społeczności usunie również Twój serwer z Wyszukiwania serwerów. Ten serwer został usunięty z Wyszukiwania. Ten serwer nie spełnił wymagań przedstawionych poniżej i został automatycznie usunięty z Wyszukiwania. Bez obaw, możesz znów dołączyć, gdy serwer znowu spełni wszystkie wymagania. Sprawdzamy wymagania aktywności co tydzień. + Ta funkcja pozwala, by po kliknięciu na niestandardowe emoji lub naklejkę z Twojego serwera w dowolnym czacie pokazywały się informacje. Użytkownicy będą mogli je zobaczyć i dołączyć do Twojego serwera dzięki wyświetlonym informacjom. + Wyłącz informacje o emoji/naklejce + Włącz informacje o emoji/naklejce + Pokazuj informacje o emoji/naklejce po kliknięciu Niech Twoja społeczność rośnie dzięki Wyszukiwaniu serwerów Discord będzie dawał priorytet temu serwerowi w wyszukiwaniach użytkowników mówiących w wybranym języku. Umieszczenie serwera na liście [Wyszukiwanie serwerów](onLinkClick) pozwala dowolnym osobom znaleźć Twój serwer i dołączyć do niego. @@ -3817,6 +3858,7 @@ Podkategorie Alias Wprowadź alias + Dodaj do {count} niestandardowych emoji, z których korzystać będą mogli wszyscy na tym serwerze. Animowane emoji w pliku GIF mogą być używane tylko przez członków, którzy posiadają Discord Nitro. Ich nazwy muszą mieć co najmniej 2 znaki i mogą zawierać tylko znaki alfanumeryczne i znaki podkreślenia. Emoji muszą być wielkości mniejszej niż {maxSize} KB. Ulepsz swój serwer do poziomu {level}, aby odblokować więcej slotów na emoji! Utracono emoji poziomu {level} Ulepsz swój serwer do poziomu {level} lub kup poziom, aby odblokować swoje emoji! @@ -3863,6 +3905,8 @@ Opcja 1-tygodniowego archiwum dla wątków Tworzenie prywatnych wątków Animowany baner serwera + Niestandardowy link z zaproszeniem na serwer + Jakość dźwięku {bitrate} kb/s +{adding} sloty(-ów) na emoji na serwerze (razem: {total}) +{adding} sloty(-ów) na własne naklejki (łącznie {total}) limit przesyłania dla wszystkich członków: {fileSize} @@ -4602,6 +4646,14 @@ Emoji !!{name}!! Ikona !!{name}!! Logo !!{name}!! + Czym są kanały? + Na kanałach można rozmawiać, pogadać głosowo, grać w gry i nie tylko. Każdy serwer zawiera listę kanałów, którą można przewijać, żeby zobaczyć, co się dzieje. + Prywatne wiadomości + Prywatne wiadomości to coś innego niż serwery. Możesz wysyłać PW znajomym, by na szybko pogadać, albo stworzyć prywatną rozmowę grupową nawet z 10 osobami. + Nadal potrzebujesz pomocy? + Nie udało ci się znaleźć tego, czego szukasz? [Odwiedź nasze Centrum Wsparcia]({helpCenterUrl}), by uzyskać więcej informacji. + Co to jest serwer? + Serwery to miejsca, gdzie możesz spędzać czas ze znajomymi i poznawać ludzi. Większość serwerów jest prywatnych i dołączyć można tylko na zaproszenie. w !!{categoryName}!! Ustawienia głosu w grze Na kanale głosowym @@ -4620,6 +4672,7 @@ Zainteresowani Nie, dzięki Gdy są wysyłane poprzez Discorda + Obrazy większe niż {maxSize} MB nie będą wyświetlane w podglądzie. Gdy są wysyłane poprzez linki Podgląd obrazków, filmów i śmiesznych kotów Urządzenie nagrywania @@ -4691,6 +4744,7 @@ Ta aplikacja nie ma poleceń. Aplikacja nie ma webhooków na tym serwerze. Osiągnięto maksymalną liczbę nadpisań uprawnień. + Osiągnięto pułap uprawnień. Usuń {removeCount} z nich, by dokonywać dalszych zmian. Usuń integrację Czy na pewno chcesz usunąć **!!{applicationName}!!**? Wystąpił wewnętrzny błąd serwera. @@ -4850,6 +4904,7 @@ Dodajmy trochę znajomych! Zaproś osoby Uwaga! Znajomi, których zapraszasz, mogą zobaczyć Twoją wcześniejszą historię wiadomości. + Ten kanał jest prywatny. Tylko wybrani członkowie oraz osoby mające określone role mogą wyświetlać ten kanał. Szukaj znajomych Zaproszenie wysłane !!{maxAge}!!, !!{maxUses}!! @@ -4860,6 +4915,7 @@ Lub wyślij znajomemu link z zaproszeniem na stream Zaproś na stream Zaproś na serwer + Zaproś znajomych na: **!!{name}!!** Link zaproszenia Dołącz do kanału głosowego Witaj na swoim nowym serwerze! @@ -5011,6 +5067,7 @@ Wyrzuć Wyrzuć Wyrzucanie członków + Wyrzucaj, zatwierdzaj i odrzucaj członków Wyrzuć !!{user}!! Czy na pewno chcesz wyrzucić z serwera użytkownika !!{user}!!? Ta osoba będzie mogła powrócić po otrzymaniu nowego zaproszenia. Użytkownik \'!!{user}!!\' został wyrzucony z serwera. @@ -6191,9 +6248,21 @@ Anulować !!{planPremiumType}!!? Subskrypcja Nitro i na ulepszenia serwerów zostanie anulowana natychmiast. Twój tag Discorda zostanie wybrany losowo, jeżeli został przez Ciebie zmieniony. Chcę zachować Nitro + Nieważne, chcę zachować Nitro **2 darmowe ulepszenia** oraz **30%% zniżki na ulepszenia** {boostCount} **30%% zniżki na ulepszenia** + 2 darmowe ulepszenia oraz 30%% zniżki + Korzystanie wszędzie z niestandardowych emoji i naklejek + Szpanerski profil i unikalny tag + Wysoka rozdzielczość, streaming wideo 60 FPS + streamowano w ciągu {month} + godz. + Streaming wideo w jakości HD + Zwiększony limit przesyłania plików do 100 MB + duże pliki + przesłano w ciągu {month} + Przesyłanie większych plików Dostęp do **niestandardowych emoji** i **naklejek** na wszystkich swoich serwerach Dostęp do **niestandardowych emoji** na wszystkich swoich serwerach **Animowany awatar**, **baner profilu** i niestandardowy **tag Discorda** @@ -6314,15 +6383,21 @@ Aktywne ulepszenia serwera Dostępne: {numSubscriptions} Przykro nam, obecnie nie obsługujemy anulowania ulepszeń kupionych przez !!{paymentGatewayName}!!. Możesz anulować swoje ulepszenie w [!!{paymentGatewayName}!! – Zarządzanie subskrypcjami]({subscriptionManagementLink}). + Czy na pewno chcesz anulować to ulepszenie serwera? Rozgnieciemy tę błyskotkę na proch. Ulepszenie zostanie usunięte z powiązanych serwerów i anulowane z Twojej subskrypcji na końcu okresu rozliczeniowego: **{endDate}**. + Czy na pewno chcesz anulować ulepszenie serwera w ekwipunku? Rozgnieciemy tę błyskotkę na proch. Ulepszenie zostanie usunięte z powiązanych serwerów i anulowane z Twojej subskrypcji na końcu okresu rozliczeniowego: **{endDate}**. Tak, anuluj ulepszenie Twoja subskrypcja wygasła. Zaktualizuj informacje dotyczące płatności, by zarządzać ulepszeniami. To ulepszenie należy do Twojej subskrypcji Nitro Anuluj ulepszenie Podczas próby anulowania tego ulepszenia wystąpił błąd. + Anulowano **{subscriptionCount}** {subscriptionCount} + Ta subskrypcja na ulepszenia serwera zostanie anulowana na końcu okresu rozliczeniowego Nitro lub Nitro Classic: **{endDate}**. Zmiany Twojej subskrypcji przedstawiono poniżej: Anuluj ulepszenie serwera Anuluj ulepszenia serwera na serwerze Anuluj ulepszenia serwera w ekwipunku Ulepszenie oczekuje na anulowanie + Ok, teraz rozgnieciemy Twoją błyskotkę. To ulepszenie zostanie anulowane w dniu **{endDate}**. **Wciąż możesz używać tego ulepszenia, dopóki nie zostanie roztrzaskane!** + Anulowano ulepszenie! {date} Ulepsza od {date} ({months}) Pojawił się błąd podczas próby ulepszenia. Spróbuj ponownie. @@ -6394,13 +6469,18 @@ Zwiększono limit przesyłania plików do 100 MB Ustaw baner, by wszyscy wiedzieli, czego dotyczy Twój serwer Potężne ulepszenia: większe rozmiary przesyłanych plików, wyższa jakość dźwięku i wiele więcej! + Potężne korzyści: animowana ikona serwera, dodatkowe opcje wątków i nie tylko! + Potężne korzyści: większe rozmiary przesyłanych plików, baner serwera, niestandardowe ikony roli i nie tylko! + Potężne korzyści: niestandardowy link z zaproszeniem, dodatkowe miejsca na emoji i animowany baner serwera. Wybierz unikalną ikonę dla każdej roli na serwerze Współdzielenie ekranu w jakości 1080p/60fps Współdzielenie ekranu w jakości 720p / 60 kl./s Przesyłanie własnych naklejek dostępnych dla wszystkich Prześlij własne naklejki (maks. {numStickers}) oraz niestandardowe emoji (maks. {numEmojis}) + Prześlij własne naklejki (maks. {numStickers}) Opcje dłuższego archiwum dla wątków Tworzenie prywatnych wątków + Dodawaj w łatwy sposób nowych członków za pomocą niestandardowego linku z zaproszeniem Cel: {levelName} Kup ulepszenia, by pomóc odblokować korzyści – {levelName}! Na tym serwerze odblokowano wszystkie korzyści płynące z ulepszeń! @@ -6539,6 +6619,7 @@ Twoje subskrypcje To dostosowanie obejmuje odliczenia, zniżki i zwroty. To Twoje obecne subskrypcje. Płatności za nie będą pobierane w tym samym cyklu rozliczeniowym. + {planName} – anulowano Saldo !!{planName}!! Opłata zostanie nałożona po zapisaniu się na subskrypcję !!{planName}!!. Ten kredyt można zastosować do subskrypcji !!{planName}!! w wersji na komputer stacjonarny. @@ -6720,8 +6801,11 @@ Działania profilowe Discord Nitro pozwala Ci przesłać spersonalizowany baner i nie tylko! Upłynęło $[](renderTimeHook) + Zalecany minimalny rozmiar to 600x240, a współczynnik proporcji – 5:2. Akceptowane typy plików obejmują PNG, JPG i animowane GIF-y. Opowiedz coś o sobie użytkownikom tego serwera + Nie zapisuj Zapisać zmiany? + Dokonano zmian. Czy chcesz je zapisać przed opuszczeniem strony? Tylko w Nitro Podgląd Odznaki użytkowników @@ -6882,6 +6966,7 @@ Usuń przerwę Usuń przerwę użytkownika „!!{user}!!” Usuń użytkownika !!{user}!! z wątku + Usuń niestandardowy link z zaproszeniem Pokazuj osadzone treści i podglądy linków wklejone do czatu Osadzone treści i podglądy linków Pokazuj reakcje emoji w wiadomościach @@ -7018,11 +7103,13 @@ Domyślne uprawnienia dla wszystkich członków serwera Ikona roli, {name} Wybierz obraz + Prześlij obraz mniejszy niż 256 KB lub wybierz niestandardowe emoji z tego serwera. Polecamy korzystanie z obrazów o wymiarach co najmniej 64 × 64 piksele. Członkowie będą widzieć ikonę swojej najwyższej roli, jeżeli mają kilka ról. Dowiedz się więcej Własna ikona roli dla: {name}. Ta funkcja dotyczy ulepszania serwerów. Emoji Prześlij obraz Przeglądaj pliki + O nie! Plik jest zbyt duży. Wybierz plik .png lub .jpg o maksymalnym rozmiarze 256 KB. Wybierz plik PNG lub JPG do przesłania Skopiowano ID dla roli: {role} Członkowie używają koloru najwyższej roli. Przeciągnij role, aby zmienić ich kolejność. @@ -7098,6 +7185,7 @@ Pozwala na wyświetlanie na tych kanałach osadzonej zawartości z linków udostępnianych przez członków. Pozwala na wyświetlanie na tym kanale osadzonej zawartości z linków udostępnianych przez członków. Nie znaleziono uprawnień + Wyrzucenie usuwa innych członków z serwera. Wyrzuceni członkowie będą mogli dołączyć ponownie, jeżeli otrzymają kolejne zaproszenie. Jeśli na serwerze włączone są wymagania dotyczące członków, to uprawnienie pozwala zatwierdzać lub odrzucać członków, którzy chcą dołączyć. Pozwala członkom na usuwanie innych członków z serwera. Wyrzuceni członkowie będą mogli dołączyć ponownie, jeżeli otrzymają kolejne zaproszenie. Pozwala członkom na zmianę nazwy, opisu oraz ustawień tekstowych / głosowych tych kanałów. Osoba mająca to uprawnienie może również usunąć kanały. (Wymagane w przypadku moderatora podium) Pozwala członkom na określanie tematu w celu zainicjowania podium i włączanie lub wyłączanie próśb o głos. Mogą też usunąć kanał podium. @@ -7570,11 +7658,15 @@ Myślniki to jedyne dopuszczalne znaki specjalne. Tagi trafiają tutaj. W Wyszukiwaniu serwerów serwery można wyszukiwać po nazwie, opisie i tagach. Możesz dodać maksymalnie 10 tagów. + Serwery z więcej niż {count} członkami mogą teraz dołączyć do Wyszukiwania serwerów. + Szybszy rozwój społeczności Serwerowe emoji Zamknij wszystkie foldery Oznacz folder jako przeczytany + Wycisz wszystkie serwery w folderze Folder serwera Ustawienia folderu + Wyłącz wyciszenie wszystkich serwerów w folderze Przegląd serwera Ten serwer jest obecnie pełny. Wyciszenie serwera @@ -7597,6 +7689,9 @@ Zmiana logowania debugowania zamknie i uruchomi ponownie Discorda. Czy na pewno chcesz to zrobić? Zaznacz, aby ten link nigdy nie wygasł Ustaw status + Twój serwer nie ma dostępu do tej funkcji. + Nie masz dostępu do tej funkcji. + Zanim skonfigurujesz niestandardowy link z zaproszeniem, musisz ustawić kanał tekstowy jako dostępny dla wszystkich członków. Ustawienia Zaawansowane Dodaj ją! @@ -8417,6 +8512,9 @@ Konto niezajęte Włącz dźwięk Cofnij + Usuń kanał z ulubionych + Usuń PW z ulubionych + Usuń prywatną rozmowę grupową z ulubionych Usuń z ulubionych Oddal tę osobę Przepraszamy, na Twoim urządzeniu nie została znaleziona żadna aplikacja obsługująca ten link: @@ -8815,6 +8913,10 @@ Musisz mieć włączone Naciśnij i Mów, aby rozmawiać na tym kanale. Wymagane Naciśnij i Mów Niestandardowy link z zaproszeniem + Pamiętaj, że niestandardowe linki z zaproszeniem wymagają do działania jednego kanału tekstowego dostępnego dla wszystkich członków. + Niestandardowy link z zaproszeniem ({uses}) + Sprawia, że Twój serwer jest łatwo dostępny poprzez elegancki niestandardowy link z zaproszeniem Twojego autorstwa. Weź pod uwagę, że serwer będzie dostępny dla wszystkich, którzy mają ten link. + Pamiętaj, że gdy odkryjemy nadużycie lub jeśli zaistnieje konflikt własności intelektualnej, możemy odebrać niestandardowe linki z zaproszeniem. Ten serwer jest teraz dostępny dla wszystkich pod adresem **!!{url}!!** Ten serwer jest teraz dostępny dla wszystkich pod adresem [!!{urlText}!!]({urlValue}) twój-adres-url-tutaj diff --git a/app/src/main/res/values-pt-rBR/plurals.xml b/app/src/main/res/values-pt-rBR/plurals.xml index 78952a4f9b..f5f3e97268 100644 --- a/app/src/main/res/values-pt-rBR/plurals.xml +++ b/app/src/main/res/values-pt-rBR/plurals.xml @@ -936,6 +936,14 @@ {#} impulso aplicado {#} impulsos aplicados + + {#} mês + {#} meses + + + {#} mês + {#} meses + {#} Impulso {#} Impulsos @@ -1032,6 +1040,10 @@ {#} impulso disponível impulsos disponíveis + + impulso de servidor cancelado + impulsos de servidor cancelados + {#} mês meses @@ -1424,6 +1436,10 @@ 1 outro {count} outros + + 1 uso + {uses} usos + 1 uso {uses} usos diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index a4ba230e23..f3463dd426 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1196,6 +1196,7 @@ Mudar avatar do servidor Mudar ícone Editar perfil do servidor + Avatar de servidor e faixa do perfil Perfil do servidor Se deixado em branco, sua bio principal será usada. Conte a este servidor um pouco mais sobre você @@ -1203,6 +1204,7 @@ Use um avatar diferente em cada um dos seus servidores e muito mais com o Discord Nitro! Apelido (desabilitado) Você pode mudar como os outros te veem dentro deste servidor ao definir seu apelido e seu avatar no servidor. + Redefinir para avatar padrão Erro desconhecido Mudar avatar do servidor Use um avatar diferente em cada um dos seus servidores e muito mais com o **Discord Nitro!** @@ -1230,6 +1232,7 @@ Mudar senha Mudar número de telefone? Alterar plano de fundo + O link de convite personalizado não pôde ser alterado por conter caracteres inválidos, ser pequeno demais ou já estar em uso. Os links de convite personalizado podem conter apenas letras, números ou traços. Conteúdo do changelog Mostre nossa nova página para um amigo! Estamos aqui para causar uma boa impressão. Saiba mais @@ -1245,16 +1248,6 @@ Participantes O canal foi excluído. Cabeçalho do canal - Informações do Canal - Silenciar um servidor evita que indicadores de leitura e notificações apareçam, exceto se você for mencionado(a). - Nome - Notificações - Detalhes - Assunto - Editar - Suas configurações - Ocultar informações do canal - Mostrar informações do canal Seu cargo não tem permissão para acessar este canal. Canal bloqueado Permissões sincronizadas com a categoria: **{categoryName}** @@ -1362,6 +1355,7 @@ Vincular Limpar Limpar anexos + Limpar permissão especial de versão Limpar texto Clique para saber mais Clonar canal @@ -1938,6 +1932,7 @@ !!{a}!!, !!{b}!! e {n} estão em voz. Ninguém está em voz. Cor personalizada + Lembre-se que um link de convite personalizado precisa de um canal de texto acessível a todos para funcionar. Status personalizado Limpar depois de Limpar status @@ -2266,6 +2261,7 @@ uma atividade Comecem a jogar juntos, agora com voz! NOVO! Atividades + Joguem juntos de graça em qualquer canal de voz. Desbloqueie mais atividades com impulsos! outra atividade Emoji Adicionar aos favoritos @@ -2315,6 +2311,7 @@ Este emoji é de um servidor privado ou indisponível. [Saiba mais](openPremiumSettings) sobre usar emojis personalizados. Remover dos favoritos {count} + Esse emoji era muito grande! Os emojis devem ocupar menos de {maxSize} kb. Clique para saber mais {count} Mencione (@mention) usuários para adicioná-los a este tópico privado. @@ -2435,10 +2432,18 @@ Copiar link Abrir no navegador Compartilhar link + Favoritar canal + Favoritar MD + Favoritar grupo privado Você não pode ter mais favoritos. Favoritar + Bem-vindo(a) a sua nova função favorita do Discord! Adicione favoritos dando estrelas para canais, bate-papo em voz e MDs através do menu contextual. + Favoritos + Ir para servidor original + Favoritos Você não pode ter mais de {count} favoritos. Ih, rapaz! + Este nome só vai aparecer nos seus favoritos. Diversos Descreva seu problema Seu problema @@ -2500,6 +2505,7 @@ Diminui o volume de outros aplicativos nesta porcentagem quando alguém estiver falando. Deixe em 0%% para desativar completamente a atenuação. Tópicos serão arquivados após a duração definida de inatividade. Se o indicador estiver verde sólido, então o Discord estará transmitindo sua linda voz. + TODOS OS BITS! Usar mais de {bitrate} kbps pode prejudicar pessoas com conexões ruins. Ao utilizar um microfone certificado pelo Discord, algumas funcionalidades de processamento de voz não são mais controladas pelo próprio Discord, e sim pelo microfone. Altere as configurações de privacidade e personalize como os membros podem interagir com este canal. Registra todo os dados de RTP recebidos para a próxima conexão de voz/vídeo para propósitos de depuração. @@ -2692,6 +2698,7 @@ Testar meu microfone Texto-para-voz Notificações de texto-para-voz + Dessilenciar novos eventos Dessilenciar **!!{name}!!** Caixa de texto Limite de usuários @@ -2731,6 +2738,7 @@ Membros do servidor Aceitar Cancelar + Pedido de amizade cancelado. Algo deu errado em um pedido de amizade. Você sempre pode tentar outra vez a partir da sua lista de amigos. Algo de errado não está certo no seu pedido de amizade para !!{name}!!. Você sempre pode tentar outra vez a partir da sua lista de amigos. Pedido de amizade malsucedido @@ -3050,6 +3058,9 @@ Assistindo {username} Vá para o canal Entendi + Ocorreu um erro na compra. Tente novamente mais tarde. + Ih, rapaz! + Não foi possível conectar aos serviços Google Play. Tente novamente mais tarde. Permitir associação temporária Verde Cinza @@ -3097,8 +3108,8 @@ Isso ficou show! Saiba mais Talvez mais tarde - Impulsione para o nível 1 hoje e melhore a qualidade do seu áudio de 96kbps para 128kbps. - Impulsione para o nível 2 hoje e melhore a qualidade do seu áudio de 128kbps para 256kbps. + Impulsione para o nível 1 para um áudio mais suave, vai parecer que vocês estão na mesma sala. + Impulsione para o nível 2 para um áudio mais suave, vai parecer que vocês estão na mesma sala. Impulsione para o nível 3 hoje e melhore a qualidade do seu áudio de 256kbps para 384kbps. Você sabia que pode ter uma qualidade de áudio melhor com os impulsos? Você está no limite de 100 servidores @@ -3149,6 +3160,7 @@ Há sempre um lugar para você, seja para jogar, ouvir música ou aprender. Encontre sua comunidade no Discord Seguir atualizações + Encontre sua comunidade Procure comunidades Comunidades populares !!{username}!!, achamos que você vai gostar destes servidores @@ -3267,18 +3279,40 @@ Criar {count} {number} + Mas você poderia escrever algumas! + Este servidor ainda não tem principais mensagens. + Recarregue a página ou verifique sua [página de status]({url}). + Eita! Você encontrou um erro ultrarraro. + Recarregue para ver o que está acontecendo + Por enquanto é só! Mas espere, pode haver mais… + Abrir mensagem de !!{channelName}!! na barra lateral + {maxReplies}+ respostas {numReplies} + Recarregar Principais mensagens + Você viu todas as principais mensagens das últimas 2 semanas. + Você está por dentro Cor da pasta Nome da pasta !!{folderName}!!, pasta {mentions} !!{folderName}!!, pasta {mentions}, !!{expandedState}!! Pasta do servidor sem nome Configurações de pasta salvas! + Início Esta é uma nova superfície que estamos testando para informar melhor o que está acontecendo no seu servidor. Início - !!{guildName}!! + Mudar faixa do perfil do servidor + Toque para editar o sobre mim neste servidor + Editar o sobre mim deste servidor + Se deixado em branco, sua bio padrão será usada. + Toque para adicionar um sobre mim neste servidor Bio do servidor para !!{guildName}!! + Mudar faixa do perfil do servidor + Excluir avatar do servidor + Faixa do perfil do servidor + Redefinir para faixa padrão Quer mais? Obtenha personalização total do perfil de servidor com o Nitro. + Enviar faixa do perfil do servidor Seja quem você quiser e use avatares, faixas e bio diferentes em cada um dos seus servidores, desbloqueie avatares animados, e muito mais com o [Discord Nitro!](onAndMore) Expresse-se totalmente com perfis de servidor Convidar para o servidores @@ -3312,6 +3346,8 @@ Link de verificação expirado. Verificação bem-sucedida. Verificando seu pedido. + Visualizar Configurações do Servidor + Isso aqui está movimentado! Considere mudar as configurações de notificação padrão do servidor para **apenas @menções**, isso vai ajudar seus membros. Notificar todos: @everyone Vamos contar a @everyone que o evento está começando. $[Conte a @everyone que o palco está começando.](tooltipHook) [Habilitar](toggleClick) @@ -3535,6 +3571,8 @@ $[**!!{user}!!**](userHook) fez alterações em $[**!!{target}!!**](targetHook) Defina o canal de atualizações do servidor da comunidade como **!!{newValue}!!** Canal de atualizações do servidor da comunidade **limpo** + Definir link de convite personalizado para **!!{newValue}!!** + **Removeu** o link de convite personalizado Definiu o nível de verificação do servidor para **Alto** Definiu o nível de verificação do servidor para **Baixo** Definiu o nível de verificação do servidor para **Médio** @@ -3694,7 +3732,6 @@ Se seu servidor for público, recomendamos fortemente definir isso para apenas @menções. Devido ao tamanho desse servidor, os membros não receberão notificações push em dispositivos móveis para mensagens que não sejam @menções. Desativar Descobrir - Desabilitar os Requisitos para Membros significa que as pessoas poderão entrar na sua comunidade sem aceitar regras e sem a sua aprovação manual. Você tem certeza? Só administradores de servidor podem ativar ou desativar o Descobrir. Apenas moderadores com V2E ativado @@ -3747,6 +3784,10 @@ Desativar a comunidade também o removerá do Descobrir Servidores. Este servidor foi removido do Descobrir. Este servidor não atendeu aos requisitos abaixo e foi automaticamente removido do Descobrir. Não se preocupe, você pode entrar de novo assim que o servidor atender a todos os requisitos de novo. Os requisitos de atividade são recalculados semanalmente. + Isso permite que informações apareçam ao clicar em um emoji ou figurinha personalizados do seu servidor em qualquer bate-papo. Os usuários poderão ver seu servidor e entrar nele com as informações exibidas. + Desabilitar informações de emojis/figurinhas + Habilitar informações de emojis/figurinhas + Mostrar informações dos emojis/figurinhas ao clicar Expanda sua comunidade com o Descobrir Servidores O Discord priorizará esse servidor na busca para usuários que falarem o idioma selecionado. Estar listado no [Descobrir Servidores](onLinkClick) permite que qualquer um encontre e entre no seu servidor. @@ -3761,6 +3802,7 @@ Subcategorias Apelido Insira um nome + Adicione até {count} emojis personalizados que qualquer pessoa pode usar neste servidor. Os GIF de emojis animados podem ser usados por assinantes do Discord Nitro. Os nomes dos emojis devem ter pelo menos 2 caracteres e só podem conter caracteres alfanuméricos e sublinhados. Os emojis devem ter menos de {maxSize} kb. Impulsione seu servidor para o Nível {level} para desbloquear mais vagas de emoji! Emoji de nível {level} perdidos Impulsione seu servidor para o Nível {level} ou compre um Nível para desbloquear seus emojis! @@ -3807,6 +3849,8 @@ Opção de arquivamento dos tópicos em 1 semana Criar tópicos privados Faixa do servidor animada + Link de convite personalizado para o servidor + {bitrate} kbps de qualidade de áudio +{adding} espaços de emoji do servidor (para um total de {total}) +{adding} espaços de figurinhas personalizadas (para um total de {total}) {fileSize} de limite de envio para todos os membros @@ -4546,6 +4590,14 @@ Emoji !!{name}!! Ícone !!{name}!! Logotipo !!{name}!! + O que são canais? + Canal é onde você pode falar, usar a voz, jogar e muito mais. Todo servidor tem uma lista de canais que você pode explorar para saber o que está acontecendo. + Mensagens diretas + Mensagens diretas são separadas do servidor. Você pode enviar uma MD privada para um amigo para uma conversa rápida, ou criar um grupo privado com até 10 pessoas. + Precisa de mais ajuda? + Não encontrou o que procurava? [Visite nossa Central de Suporte]({helpCenterUrl}) para mais informações. + O que é um servidor? + Servidores são lugares onde você pode passar um tempo com seus amigos e conhecer pessoas. A maioria dos servidores são privados e precisam de convite. em !!{categoryName}!! Configurações de voz nos jogos No canal de voz @@ -4564,6 +4616,7 @@ Tem interesse Não, valeu Quando o envio é feito diretamente ao Discord. + Imagens maiores que {maxSize} MB não serão pré-visualizadas. Quando publicados como links no chat. Exibir imagens, vídeos e memes Dispositivo de entrada @@ -4635,6 +4688,7 @@ Este aplicativo não possui comandos. Este aplicativo não possui webhooks neste servidor. Você alcançou o limite de alterações em permissões. + Você alcançou o limite de permissões. Remova {removeCount} para fazer mais alterações. Remover integração Deseja mesmo remover **!!{applicationName}!!**? Ocorreu um erro interno no servidor. @@ -4794,6 +4848,7 @@ Vamos adicionar alguns amigos! Convidar pessoas Atenção! Amigos que você convida podem ver seu histórico de mensagens anteriores. + Este canal é privado, somente membros e cargos selecionados poderão visualizar esse canal. Buscar amigos Convite enviado !!{maxAge}!!, !!{maxUses}!! @@ -4804,6 +4859,7 @@ Ou, envie um link de convite da transmissão para um amigo Convidar para a transmissão Convidar para o servidor + Convidar amigos para **!!{name}!!** URL do convite Entrar na chamada de voz Bem-vindo (ou vinda) ao seu novo servidor! @@ -4955,6 +5011,7 @@ Expulsar Expulsar Expulsar membros + Expulsar, aprovar e rejeitar membros Expulsar !!{user}!! Deseja mesmo expulsar !!{user}!! do servidor? Ele(a) poderá entrar novamente com um novo convite. !!{user}!! foi expulso(a) do servidor. @@ -6134,9 +6191,21 @@ Cancelar !!{planPremiumType}!!? O cancelamento ocorrerá imediatamente para qualquer assinatura Nitro e de Impulso de Servidor. Sua Discord Tag será aleatorizada, caso você a tenha mudado. Esqueça, manter o Nitro + Esqueça, manter o Nitro Seus **2 impulsos grátis** e **30%% de desconto em impulsos** {boostCount} Seus **30%% de desconto nos impulsos** + 2 impulsos grátis e 30%% de desconto + Usar emojis personalizados e figurinhas em qualquer lugar + Paradas da hora no perfil e tags personalizadas + Transmissão de vídeo em alta definição, 60FPS + você transmitiu em {month} + horas + Transmissão de vídeo em HD + Envio de arquivos aumentado para 100 MB + arquivos grandes + você enviou em {month} + Uploads de arquivos maiores Acesso a **emojis personalizados** e **figurinhas** em todos os seus servidores Acesso a **emojis personalizados** em todos os seus servidores Um **avatar animado**, **uma faixa de perfil** e uma **Discord Tag** personalizada @@ -6257,15 +6326,21 @@ Impulsos de servidor ativos {numSubscriptions} Desculpe, no momento, não damos suporte ao cancelamento de impulsos comprados através do(a) !!{paymentGatewayName}!!. Você pode cancelar seu impulso diretamente no Gerenciamento de assinaturas do(a) [!!{paymentGatewayName}!!]({subscriptionManagementLink}). + Tem certeza que deseja cancelar este impulso de servidor? Vamos ter que fazer essa joia em pedacinhos. Ele será removido dos servidores associados e cancelado da sua assinatura no final do período de cobrança: **{endDate}**. + Tem certeza que deseja cancelar um impulso do seu inventário? Vamos ter que fazer essa joia em pedacinhos. Ele será removido dos servidores associados e cancelado da sua assinatura no final do período de cobrança: **{endDate}**. Sim, cancelar impulso Sua assinatura está vencida. Atualize suas informações de pagamento antes de administrar impulsos. Este impulso está incluso na sua assinatura Nitro Cancelar impulso Ocorreu um erro ao tentar cancelar este impulso. + **{subscriptionCount}** {subscriptionCount} + Esta assinatura de impulsos de servidor será cancelada no final do período de cobrança do seu Nitro ou Nitro Classic, **{endDate}**. As mudanças na sua assinatura estão listadas abaixo: Cancelar impulso de servidor Cancelar impulso de servidor de um servidor Cancelar impulso de servidor do inventário Cancelamento de impulso pendente + Tudo bem, estamos prontos para espatifar esta joia impulsionadora. Este impulso está programado para o cancelamento em: **{endDate}**. **Você ainda pode usá-lo enquanto ele não virar areia!** + Impulso cancelado! {date} Impulsionando desde {date} ({months}) Ocorreu um erro ao tentar impulsionar. Tente novamente. @@ -6332,18 +6407,23 @@ Impulso desbloqueiam funcionalidades e atualizações que todos no servidor podem aproveitar. Dê um impulso e ganhe: Acessar para mais Atividades divertidas! Se destaque com um ícone animado do servidor - Aumenta a qualidade o áudio para {targetQuality} Kbps + Aumenta a qualidade o áudio para {targetQuality} kbps Personalize os convites para seu servidor com um fundo personalizado Limite de envio de arquivos aumentado para 100 MB Mostrar a todos sobre o que é o seu servidor com uma faixa do servidor Melhorias poderosas: maiores uploads, maior qualidade de áudio e muito mais! + Melhorias poderosas: ícone de servidor animado, opções de tópico adicionais e muito mais! + Melhorias poderosas: envio de arquivos maiores, faixa do servidor, ícones de cargo personalizados e muito mais! + Melhorias poderosas: link de convite personalizado, espaços de emoji extras e faixa de servidor animada. Definir um ícone especial para cada cargo neste servidor Compartilhamento de tela em 1080p/60fps Compartilhamento de tela em 720p/60fps Upload de figurinhas personalizadas para todos usarem Envie até {numStickers} figurinhas e {numEmojis} emojis personalizados + Envie até {numStickers} figurinhas personalizadas Opções de arquivamento mais longas para tópicos Criar tópicos privados + Adicione novos membros com facilidade com um link de convite personalizado Objetivo: {levelName} Compre impulsos para ajudar a desbloquear vantagens {levelName}! Este servidor desbloqueou todas as vantagens de impulso! @@ -6482,6 +6562,7 @@ Suas assinaturas Este ajuste inclui descontos, devoluções e cobranças proporcionais. Estas são suas assinaturas atuais. Elas são cobradas no mesmo ciclo de cobrança. + {planName} Cancelado Crédito !!{planName}!! Este crédito será aplicado quando você iniciar uma assinatura !!{planName}!!. Este crédito pode ser aplicado em uma assinatura !!{planName}!! comprada no desktop. @@ -6663,8 +6744,11 @@ Ações de Perfil Faça upload do seu banner personalizado e muito mais com Discord Nitro! $[](renderTimeHook) decorridos + O tamanho mínimo é de 600x240, com proporção 5:2. Tipos de arquivo comportados incluem PNG, JPG e GIFs animados. Conte a este servidor um pouco mais sobre você + Não salvar Salvar alterações? + Você fez alterações. Gostaria de salvar antes de sair desta página? Exclusivo do Nitro Prévia Emblemas de Usuário @@ -6825,6 +6909,7 @@ Remover castigo Remover castigo de !!{user}!! Remover !!{user}!! do tópico + Remover link de convite personalizado Mostrar anexos e prévia de links para websites colados na conversa Anexos e prévia de links Mostrar reações de emojis em mensagens. @@ -6961,11 +7046,13 @@ Permissões padrão para todos no servidor Ícone de cargo, {name} Escolha uma imagem + Envie uma imagem com menos de 256 KB ou escolha um emoji personalizado para este servidor. Recomendamos usar pelo menos 64x64 pixels. Membros verão apenas o ícone do cargo mais alto se tiverem mais de um. Saiba mais Ícone de cargo personalizado para {name}. Este recurso é parte dos impulsos de servidor. Emoji Enviar imagem Navegar por arquivos + Eita! O arquivo é grande demais. Selecione um .png ou .jpg com 256 KB ou menos. Escolha um PNG ou JPG para enviar ID de cargo copiada: {role} Os membros usam a cor do cargo mais alto que eles possuem nesta lista. Arraste os cargos para reordenar. @@ -7041,6 +7128,7 @@ Permite que links compartilhados por membros mostrem conteúdo integrado nestes canais. Permite que links compartilhados por membros mostrem conteúdo integrado neste canal. Nenhuma permissão encontrada + Expulsar permite que os membros removam outros membros deste servidor. Membros expulsos podem voltar ao servidor se forem convidados novamente. Se o servidor habilitar os Requisitos para Membros, esta permissão dá a habilidade de aprovar ou rejeitar inscrições. Permite que os membros removam outros membros deste servidor. Membros expulsos podem voltar ao servidor se forem convidados novamente. Permite que os membros mudem o nome, a descrição e as configurações de texto/voz destes canais. Eles também poderão excluir estes canais. (Necessário para moderador(a) de palco) Permite habilitar e desabilitar pedidos para falar e que membros façam assuntos para começar o palco. Eles também podem excluir o canal palco. @@ -7512,11 +7600,15 @@ Traços são os únicos caracteres especiais permitidos. As tags ficam aqui. No Descobrir Servidores, é possível buscar por nome, descrição e tags. Você pode adicionar até 10. + Servidores com {count} membros ou mais agora podem entrar no Descobrir Servidores. + Desenvolva sua comunidade mais rápido Emojis do servidor Fechar todas as pastas Marcar pasta como lida + Silenciar todos os servidores na pasta Pasta do servidor Configurações de pasta + Dessilenciar todos os servidores na pasta Análises do Servidor Este servidor está lotado. Desativar sons no servidor @@ -7539,6 +7631,9 @@ Se você mudar o registro de depuração, o Discord precisará ser reinicializado. Deseja mesmo fazer isso? Fazer com que este link nunca expire Definir status + Seu servidor não tem acesso a essa função. + Você não tem acesso a essa função. + Você precisa definir um canal de texto acessível a todos antes de criar um link de convite personalizado. Configurações Avançado Adicione-o! @@ -8359,6 +8454,9 @@ Conta não registrada Reativar áudio Desfazer + Desfavoritar canal + Desfavoritar MD + Desfavoritar grupo privado Desfavoritar Desfocar Desta Pessoa Desculpe, nenhum aplicativo no seu dispositivo é capaz de abrir este link: @@ -8757,6 +8855,10 @@ Você precisa ter o Aperte para Falar ativado para falar neste canal. Aperte para Falar obrigatório Link de convite personalizado + Lembre-se que um link de convite personalizado precisa de um canal de texto acessível a todos para funcionar. + Link de convite personalizado ({uses}) + Facilite o acesso ao seu servidor com um link de convite personalizado. Saiba que isso torna o seu servidor publicamente disponível para qualquer pessoa com esse link. + Tenha em mente que podemos revogar links de convite personalizados se descobrirmos algum abuso ou se houver conflito de propriedade intelectual. Esse servidor agora está acessível a todos em **!!{url}!!** Esse servidor agora está acessível a todos em [!!{urlText}!!]({urlValue}) seu-url-aqui diff --git a/app/src/main/res/values-ro/plurals.xml b/app/src/main/res/values-ro/plurals.xml index 280496acf0..b4b38ff7f6 100644 --- a/app/src/main/res/values-ro/plurals.xml +++ b/app/src/main/res/values-ro/plurals.xml @@ -947,6 +947,14 @@ {#} boost aplicat {#} boost-uri aplicate + + {#} lună + {#} luni + + + {#} lună + {#} luni + {#} boost {#} boost-uri @@ -1043,6 +1051,10 @@ {#} boost {#} boost-uri + + boost pentru server anulat + boost-uri pentru server anulate + {#} lună {#} luni @@ -1435,6 +1447,10 @@ încă 1 încă {count} + + 1 utilizare + {uses} utilizări + 1 utilizare {uses} utilizări diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index e288a1516b..8cb1625bac 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -1196,6 +1196,7 @@ Schimbă avatarul serverului Schimbă pictograma Editează profilul serverului + Avatar și banner de profil Profil pentru server Dacă nu completezi informațiile, se vor folosi cele din bio-ul principal. Povestește acestui server câte ceva despre tine @@ -1203,6 +1204,7 @@ Folosește câte un avatar diferit pe fiecare server, plus multe altele cu Discord Nitro! Poreclă (Dezactivată) Poți schimba cum te văd ceilalți de pe acest server setând o poreclă și un avatar specifice serverului. + Resetează la avatarul implicit Eroare necunoscută Schimbă avatarul pentru server Folosește câte un avatar diferit pe fiecare server, plus multe altele cu **Discord Nitro!** @@ -1225,6 +1227,7 @@ Schimbă parola Schimbi numărul de telefon? Schimbă fundalul + Nu s-a putut schimba linkul de invitație personalizat, deoarece conține caractere nevalide, este prea scurt sau este deja luat. Linkurile de invitație personalizate nu pot conține decât litere, numere sau cratime. Conținut din jurnalul de modificări Arată-i unui prieten noua noastră pagină de pornire! Vrem să facem impresie. Află mai multe @@ -1240,16 +1243,6 @@ Participanți Canalul a fost șters. Antetul canalului - Informații canal - Amuțirea împiedică apariția indicatorilor de mesaje necitite și a notificărilor, cu excepția mențiunilor directe. - Nume - Notificări - Detalii - Subiect - Editează - Setările tale - Ascunde Informații canal - Arată Informații canal Rolul tău nu are permisiunea de a accesa acest canal. Canal blocat Permisiuni sincronizate cu categoria: **{categoryName}** @@ -1357,6 +1350,7 @@ Revendică Șterge Golește atașările + Șterge suprascriere build Ștergeți textul Dă clic pentru a afla mai multe Clonează canalul @@ -1933,6 +1927,7 @@ !!{a}!!, !!{b}!! și {n} sunt pe canalul de voce. Momentan nu este nimeni pe canalul de voce. Culoare personalizată + Nu uita că, pentru a funcționa, linkurile de invitație personalizate necesită un canal de text accesibil pentru toți membrii. Status personalizat Șterge după Șterge status @@ -2261,6 +2256,7 @@ o activitate Jucați împreună acum pe canalul de voce! NOU! Activități + Joacă-te gratuit cu alți utilizatori pe orice canal de voce. Deblochează mai multe activități prin stimulare! altă activitate Emoji Adaugă la favorite @@ -2310,6 +2306,7 @@ Acest emoji provine de pe un server care este fie privat, fie indisponibil. [Află mai multe](openPremiumSettings) despre folosirea emoji-urilor personalizate. Elimină din favorite {count} disponibil(e) + Emojiul era prea mare! Trebuie să aibă maximum {maxSize} kb. Dă clic pentru a afla mai multe {count} Folosește @mention pentru a adăuga utilizatori pe acest fir privat. @@ -2482,10 +2479,18 @@ Copiați linkul Deschideți în browser Trimiteți linkul + Adaugă canalul la favorite + Adaugă mesajul direct la favorite + Adaugă grupul de mesaje directe la favorite Nu poți avea mai multe favorite. Adaugă la favorite + Îți prezentăm noua ta funcție „favorită” de pe Discord! Adaugă la favorite canalele, chaturile vocale și mesajele directe marcându-le din meniul lor contextual. + Favorite + Mergi la serverul original + Favorite Poți avea maximum {count} favorite. O, nu! + Această denumire va apărea numai în favoritele tale. Diverse Descrie problema ta Problema ta @@ -2547,6 +2552,7 @@ Scade volumul altor aplicații cu acest procentaj atunci când cineva vorbește. Setează la 0%% pentru a dezactiva complet atenuarea. Firele se vor arhiva după durata de inactivitate specificată. Dacă indicatorul este verde solid, atunci Discord transmite vocea ta superbă. + TOȚI BIȚII! Depășirea ratei de {bitrate} kbps ar putea afecta negativ persoanele care au conexiuni slabe. În timpul folosirii unui microfon Discord certificat, anumite funcții de procesare vocală nu mai sunt mânuite de Discord, ci mai degrabă de microfon. Modifică setările de confidențialitate și personalizează modul în care membrii pot interacționa cu acest canal. Înregistrează toate datele RTP primite pe durata următoarei conexiuni video/de voce, în scop de depanare. @@ -2739,6 +2745,7 @@ Testează microfonul meu Text-în-vorbire Notificări Text-to-Speech + Dezamuțește evenimentele noi Dezamuțește **!!{name}!!** Casetă de text Limita de utilizatori @@ -2778,6 +2785,7 @@ Membrii server-ului Acceptă Anulează + Cererea de prietenie a fost anulată. Hm, ceva nu a mers bine la trimiterea cererilor de prietenie. Poți încerca din nou mai târziu, accesând lista de prieteni. Hm, ceva nu a mers bine cu cererea de prietenie trimisă către !!{name}!!. Poți încerca din nou mai târziu, accesând lista de prieteni. Cerere de prietenie nereușită @@ -3097,6 +3105,9 @@ Urmărește pe {username} Mergi la Canal Am înțeles + A apărut o problemă la achiziție. Așteaptă și încearcă din nou. + O, nu! + Nu te poți conecta la Serviciile Google Play. Așteaptă și încearcă din nou. Acordă temporar calitatea de membru Verde Gri @@ -3144,8 +3155,8 @@ Arată genial! Află mai multe Poate mai târziu - Stimulează la nivelul 1 astăzi și sporește-ți calitatea audio de la 96 kbps la 128 kbps. - Stimulează la nivelul 2 astăzi și sporește-ți calitatea audio de la 128 kbps la 256 kbps. + Stimulează până la nivelul 1 pentru o calitate audio mai bună, ca să simțiți că sunteți cu toții în aceeași cameră. + Stimulează până la nivelul 2 pentru o calitate audio mai bună, ca să simțiți că sunteți cu toții în aceeași cameră. Stimulează la nivelul 3 astăzi și sporește-ți calitatea audio de la 256 kbps la 384 kbps. Știai că poți obține o calitate audio mai bună prin stimulare? Ai atins limita de 100 de servere @@ -3196,6 +3207,7 @@ Avem locul perfect pentru tine, indiferent dacă te interesează jocurile, muzica sau studiile. Găsește-ți comunitatea pe Discord Urmărește actualizările + Găsește-ți comunitatea Caută comunități Comunități populare !!{username}!!, s-ar putea să-ți placă următoarele servere @@ -3314,18 +3326,40 @@ Creează {count} {number} + Dar ai putea scrie tu câteva! + Acest server nu are încă niciun mesaj popular. + Reîncarcă pagina sau consultă-ne [pagina de stare]({url}). + Ups! Ai dat peste o eroare extrem de rară. + Reîmprospătează pentru a vedea ce se întâmplă + Atât deocamdată! Dar stai un pic, s-ar putea să mai fie ceva… + Deschide mesajul de la !!{channelName}!! în bara laterală + Peste {maxReplies} răspunsuri {numReplies} + Reîncarcă Mesaje populare + Ai văzut toate mesajele populare din ultimele 2 săptămâni. + Ești la zi cu toate Culoare folder Nume folder !!{folderName}!!, folder {mentions} folderul !!{folderName}!!, {mentions}, !!{expandedState}!! Folder server nedenumit Setări folder salvate! + Acasă Aceasta este o zonă nouă, aflată în faza de testare beta, care te ține la curent ce se întâmplă pe server. Acasă – !!{guildName}!! + Schimbă bannerul de profil pentru server + Atinge pentru a edita Despre mine pe acest server + Editează Despre mine pe acest server + Dacă nu completezi, se va folosi secțiunea Despre mine implicită. + Atinge pentru a adăuga Despre mine pe acest server Profil server pentru !!{guildName}!! + Schimbă bannerul de profil pentru server + Șterge avatarul pentru server + Banner de profil pentru server + Resetează la bannerul implicit Ai nevoie de mai mult? Personalizează complet profilul de pe server cu Nitro. + Încarcă banner de profil pentru server Fii cine vrei să fii și folosește câte un avatar, banner și profil diferit pe fiecare server, deblochează avatarurile animate, plus multe altele cu [Discord Nitro!](onAndMore) Exprimă-te liber cu profilurile pentru servere Invită pe servere @@ -3359,6 +3393,8 @@ Link-ul de verificare a expirat. Verificare finalizată. Îți verificăm solicitarea. + Vezi Setări server + E cam aglomerat pe aici! Dacă vrei să-ți ajuți membrii, poți schimba setările implicite pentru notificările de la acest server în **doar @mentions**. Trimite notificare către @everyone Și trimite o notificare către @everyone că începe evenimentul. $[Trimite o notificare către @everyone că se deschide podiumul.](tooltipHook) [Activează](toggleClick) @@ -3582,6 +3618,8 @@ $[**!!{user}!!**](userHook) a făcut schimbări la $[**!!{target}!!**](targetHook) Setează **!!{newValue}!!** drept canal cu anunțuri pentru serverele comunitare **S-a golit** canalul cu anunțuri pentru serverele comunitare + A setat linkul de invitație personalizat **!!{newValue}!!** + **A eliminat** linkul de invitație personalizat A setat nivelul de verificare al server-ului la **Ridicat** A setat nivelul de verificare al server-ului la **Scăzut** A setat nivelul de verificare al server-ului la **Mediu** @@ -3741,7 +3779,6 @@ Îți recomandăm cu căldură să setezi opțiunea la doar @mentions în cazul serverelor Discord publice. Datorită dimensiunii server-ului, membrii nu vor primi notificări push pe mobil pentru mesajele fără @mention. Dezactivează Descoperire - Prin dezactivarea cerințelor pentru membri, utilizatorii se pot alătura comunității tale fără să accepte regulamentul și fără aprobare manuală. Sigur? Doar administratorii de server pot activa și dezactiva funcția de Descoperire. S-a activat cerința A2F pentru moderare @@ -3794,6 +3831,10 @@ Dezactivarea comunității va elimina și ea server-ul din funcția de Descoperire server. Acest server a fost eliminat din Descoperire. Acest server nu a îndeplinit cerințele de mai jos și a fost eliminat automat din Descoperire. Nu-ți face griji, te vei putea alătura din nou imediat ce server-ul tău îndeplinește toate cerințele. Reverificăm cerințele de activitate săptămânal. + Afișează informații după ce se dă clic pe un emoji sau sticker personalizat din orice chat de pe serverul tău. Utilizatorii îți vor putea vedea serverul și i se vor putea alătura prin intermediul informațiilor afișate. + Dezactivează informațiile despre emojiuri/stickere + Activează informațiile despre emojiuri/stickere + Arată informații despre emojiuri/stickere când se dă clic Crește-ți comunitatea cu Descoperire server Discord îi va acorda prioritate acestui server în căutări pentru utilizatorii care vorbesc limba selectată. Dacă serverul tău e inclus în [Descoperirea serverelor](onLinkClick), oricine îl poate descoperi și i se poate alătura. @@ -3808,6 +3849,7 @@ Subcategorii Alias Introdu un alias + Adaugă până la {count} emojiuri personalizate pe care să le poată folosi oricine pe acest server. Emojiurile animate în format GIF pot fi folosite de membrii care au Discord Nitro. Numele emojiurilor trebuie să aibă minimum 2 caractere și nu pot conține decât caractere alfanumerice și underscore-uri. Emojiurile trebuie să aibă maximum {maxSize} KB. Stimulează-ți serverul până la nivelul {level} pentru a debloca mai multe locuri pentru emojiuri! Ai pierdut emojiurile de nivelul {level} Stimulează-ți serverul până la nivelul {level} sau cumpără un nivel pentru a-ți debloca emojiurile! @@ -3854,6 +3896,8 @@ Opțiune de arhivare a firelor după o săptămână Posibilitatea de a crea fire private Banner animat pentru server + Link de invitație personalizat pentru server + Calitate audio: {bitrate} kbps +{adding} locuri pentru emoji de server (pentru un total de {total}) +{adding} locuri pentru stickere personalizate (pentru un total de {total}) Limită de încărcare pentru toți membrii: {fileSize} @@ -4593,6 +4637,14 @@ Emoji !!{name}!! Pictogramă !!{name}!! Siglă !!{name}!! + Ce sunt canalele? + Canalele sunt locuri în care poți sta de vorbă, poți intra pe voce, te poți juca și nu numai. Fiecare server are o listă de canale pe care o poți consulta ca să vezi ce se întâmplă. + Mesaje directe + Mesajele directe sunt separate de servere. Le poți trimite prietenilor în privat câte un mesaj direct ca să discutați pe scurt sau poți crea grupuri de mesaje directe cu până la 10 persoane. + Tot mai ai nevoie de ajutor? + Încă nu ai găsit ceea ce cauți? [Vizitează centrul de asistență]({helpCenterUrl}) pentru a afla mai multe. + Ce este un server? + Serverele sunt locuri în care îți poți petrece timpul cu prietenii și poți întâlni utilizatori. Majoritatea serverelor sunt private și accesibile numai pe bază de invitație. în !!{categoryName}!! Setări voce în cadrul jocului În canalul de voce @@ -4611,6 +4663,7 @@ Mă interesează Nu, mulțumesc Atunci când sunt încărcate direct pe Discord + Imaginile mai mari de {maxSize} MB nu vor fi previzualizate. Atunci când sunt postate ca link-uri în chat Afișează imagini, videoclipuri și lolcats Dispozitiv de intrare @@ -4682,6 +4735,7 @@ Aplicația nu are nicio comandă. Această aplicație nu are niciun webhook pe acest server. Ai atins numărul maxim de suprascrieri permisiuni. + Ai atins numărul maxim de permisiuni. Elimină {removeCount} dintre ele pentru a mai putea face alte modificări. Elimină integrarea Sigur vrei să elimini **!!{applicationName}!!**? A apărut o eroare internă de server. @@ -4841,6 +4895,7 @@ Să adăugăm niște prieteni! Invită persoane Atenție! Prietenii pe care îi inviți îți pot vedea istoricul mesajelor anterioare. + Acest canal este privat, numai membrii și rolurile selectate îl pot vedea. Caută prieteni Invitație trimisă !!{maxAge}!!, !!{maxUses}!! @@ -4851,6 +4906,7 @@ Sau trimite unui prieten link de invitație la stream Invită la stream Invită pe server + Invită prieteni la **!!{name}!!** URL de invitație Alătură-te canalului de voce Bun venit pe noul tău server! @@ -5002,6 +5058,7 @@ Exclude Exclude Exclude membri + Exclude, aprobă și respinge membri Dă afară pe !!{user}!! Sigur vrei să excluzi pe !!{user}!! de pe server? Se va putea realătura cu o nouă invitație. \'!!{user}!!\' a fost dat afară de pe server. @@ -6182,9 +6239,21 @@ Anulează !!{planPremiumType}!!? Anularea va intra în vigoare imediat în cazul abonamentelor Nitro și Boost pentru server. Dacă ți-ai schimbat Discord Tag-ul, vei primi unul aleatoriu. Lasă, păstrează Nitro + Lasă, păstrează Nitro Cele **2 boost-uri gratuite** și **reducerea de 30%% la boost-uri** {boostCount} **Reducerea de 30%% la boost-uri** + 2 boost-uri gratuite și o reducere de 30%% + Posibilitatea de a folosi emojiuri și stickere personalizate oriunde + Swag pentru profil și tag personalizat + Cea mai înaltă definiție, streaming video de 60 FPS + ai făcut streaming în {month} + ore + Streaming video în HD + O limită de încărcare a fișierelor mărită la 100 MB + fișiere mari + ai trimis în {month} + Limitele mai mari de încărcare a fișierelor Accesul la **emoji-uri** și **stickere personalizate** pe toate serverele tale Accesul la **emoji-uri personalizate** pe toate serverele tale Un **avatar animat**, **banner pentru profil** și **Discord Tag** personalizat @@ -6305,15 +6374,21 @@ Boost-uri pentru server active {numSubscriptions} disponibil(e) Ne pare rău, în prezent nu acceptăm anularea boost-urilor achiziționate prin !!{paymentGatewayName}!!. Îți poți anula boost-ul folosind [!!{paymentGatewayName}!! - Gestionarea abonamentelor]({subscriptionManagementLink}). + Sigur vrei să anulezi acest boost pentru server? Vom face comoara bucățele. Boost-ul va fi eliminat de pe serverele asociate și va dispărea din abonamentul tău la sfârșitul perioadei de facturare: **{endDate}**. + Sigur vrei să anulezi un boost pentru server din inventar? Vom face comoara bucățele. Boost-ul va fi eliminat de pe serverele asociate și va dispărea din abonamentul tău la sfârșitul perioadei de facturare: **{endDate}**. Da, anulează boost-ul Abonamentul tău a expirat. Te rugăm să-ți actualizezi informațiile de plată înainte de a gestiona boost-urile. Acest boost este inclus în abonamentul tău Nitro Anulează boost-ul A apărut o eroare în timpul încercării de a anula acest boost. + **{subscriptionCount}** {subscriptionCount} + Acest abonament la boost-uri pentru server va fi anulat la sfârșitul perioadei de facturare Nitro sau Nitro Classic, pe **{endDate}**. Modificările aduse abonamentului tău sunt descrise mai jos: Anulare boost pentru server Anulare boost pentru server de pe un server Anulare boost pentru server din inventar Anulare boost în curs + Bine, de dragul tău suntem gata să spargem în bucăți comoară stimulantă. Boost-ul este programat să se anuleze pe: **{endDate}**. **Îl poți folosi în continuare până când va fi nimicit!** + Boost anulat! {date} Stimulează de pe {date} ({months}) A apărut o eroare în timpul încercării de a stimula. Te rugăm să încerci din nou. @@ -6380,18 +6455,23 @@ Stimularea deblochează funcții și upgrade-uri puternice de care se pot bucura toți cei de pe server. Dă un boost și primești: Acces la mai multe activități distractive! Ieși în evidență cu o pictogramă de server animată - Calitate audio mai bună, de {targetQuality} Kbps + Calitate audio mai bună, de {targetQuality} kbps Personalizează-ți invitațiile pe server cu un fundal personalizat O limită de încărcare a fișierelor mărită la 100mb Arată-le tuturor care e treaba cu serverul tău folosind un banner pentru server Upgrade-uri puternice: încarci fișiere mai mari, asculți la o calitate audio mai ridicată și nu numai! + Upgrade-uri puternice: pictogramă animată pentru server, opțiuni suplimentare pentru fire și nu numai! + Upgrade-uri puternice: limite mai mari de încărcare, banner pentru sever, pictograme pentru roluri personalizate și nu numai! + Upgrade-uri puternice: link de invitație personalizat, locuri suplimentare pentru emojiuri și banner animat pentru server. Setează o pictogramă unică pentru fiecare rol de pe server Partajare ecran la 1080p/60fps Partajare ecran la 720 p/60 fps Poți încărca de stickere personalizate pe care le poate folosi oricine Încarcă până la {numStickers} stickere personalizate și {numEmojis} emojiuri personalizate + Încarcă până la {numStickers} stickere personalizate Opțiuni de arhivare a firelor după perioade mai lungi Posibilitatea de a crea fire private + Adaugă simplu membri noi folosind un link de invitație personalizat Obiectiv: {levelName} Cumpără boost-uri pentru a ajuta la deblocarea avantajelor de {levelName}! Acest server și-a deblocat toate avantajele din stimulare! @@ -6530,6 +6610,7 @@ Abonamentele tale Ajustarea include tarifele fracționare, reducerile și rambursările. Astea sunt abonamentele tale actuale. Toate vor fi facturate în același ciclu de facturare. + Abonament {planName} anulat Credit !!{planName}!! Acest credit se va aplica atunci când îți iei abonament !!{planName}!!. Acest credit poate fi aplicat la un abonament !!{planName}!! achiziționat pe desktop. @@ -6711,8 +6792,11 @@ Acțiuni profil Încarcă-ți propriul banner personalizat și multe altele cu Discord Nitro! Timp scurs: $[](renderTimeHook) + Dimensiunea minimă recomandată este de 600x240, iar proporția recomandată este de 5:2. Se acceptă fișiere de tip PNG și JPG, precum și GIF-uri animate. Povestește acestui server câte ceva despre tine + Nu salva Salvezi schimbările? + Ai făcut schimbări. Vrei să le salvezi înainte de a părăsi pagina? Exclusiv la Nitro Previzualizare Insigne de utilizator @@ -6873,6 +6957,7 @@ Scoate din pauză Scoate din pauză pe „!!{user}!!” Elimină de pe fir pe !!{user}!! + Elimină linkul de invitație personalizat Afișează inserările și previzualizează linkurile către site-uri web lipite în chat Inserări și previzualizări de linkuri Arată reacțiile emoji în mesaje @@ -7009,11 +7094,13 @@ Permisiunile implicite pentru toți membrii server-ului Pictogramă rol, {name} Alege o imagine + Încarcă o imagine care are sub 256 KB sau alege un emoji personalizat de pe acest server. Îți recomandăm o imagine de cel puțin 64x64 pixeli. În cazul în care au roluri multiple, membrii vor vedea pictograma celui mai important rol pe care îl au. Află mai multe Pictogramă de rol personalizat pentru {name}. Această funcție face parte din stimularea serverelor. Emoji Încarcă o imagine Navighează în fișiere + Oh, nu! Fișierul e prea mare. Te rugăm să selectezi un .png sau .jpg de maximum 256 KB. Alege un PNG sau JPG pe care să-l încarci ID copiat pentru rolul de {role} Membrii folosesc culoarea celui mai important rol pe care îl au de pe listă. Trage rolurile pentru a le reordona. @@ -7089,6 +7176,7 @@ Le permite link-urilor partajate de membri să arate conținutul încorporat pe aceste canale. Le permite link-urilor partajate de membri să arate conținutul încorporat pe acest canal. Nu s-a găsit nicio permisiune + Excluderea elimină alți membri de pe acest server. Membrii eliminați se vor putea realătura dacă primesc o nouă invitație. Dacă serverul activează cerințele pentru membri, această permisiune activează funcția de aprobare sau respingere alătură-te canalului membrilor care solicită alăturarea la server. Le permite membrilor să elimine alți membri de pe acest server. Membrii eliminați se vor putea alătura din nou dacă primesc o nouă invitație. Le permite membrilor să schimbe numele, descrierea și setările de text/voce ale acestor canale. De asemenea, aceștia pot șterge canalele. (Necesară pentru moderatorii de podium) Le permite membrilor să seteze un subiect pentru a deschide podiumul și a activa sau dezactiva cererile de a vorbi. Aceștia au și posibilitatea de a șterge canalul podium. @@ -7561,11 +7649,15 @@ Cratimele sunt singurele caractere speciale permise. Aici vin tag-urile. În Descoperirea serverelor poți căuta în funcție de nume, de descriere și de tag-uri. Poți adăuga maximum 10. + Serverele care au peste {count} membri sunt acum eligibile să se înscrie la Descoperire server. + Dezvoltă-ți comunitatea mai rapid Emoji-urile server-ului Închide toate folderele Marchează folder-ul ca citit + Amuțește toate serverele din folder Folder server Setări folder + Dezamuțește toate serverele din folder Analiză server Acest server este plin momentan. Amuțește pe server @@ -7588,6 +7680,9 @@ Schimbarea înregistrării depanărilor va închide și reporni Discord. Ești sigur că vrei să continui? Setează acest link astfel încât acesta să nu expire niciodată Setează status + Severul tău nu are acces la această funcție. + Nu ai acces la această funcție. + Trebuie să setezi un canal de text accesibil pentru toți membrii înainte de a putea seta un link de invitație personalizat. Setări Funcții avansate Adaugă-l! @@ -8408,6 +8503,9 @@ Cont nerevendicat Reactivează sunetul Anulează + Scoate canalul de la favorite + Scoate mesajul direct de la favorite + Scoate grupul de mesaje directe de la favorite Scoate de la favorite Nu mai focaliza pe această persoană Scuze, pe dispozitivul tău nu s-a găsit nicio aplicație care să se ocupe de acest link: @@ -8806,6 +8904,10 @@ Trebuie să ai Push to Talk activat pentru a putea vorbi pe acest canal. Modul Push-to-talk este necesar Link de invitație personalizat + Nu uita că, pentru a funcționa, linkurile de invitație personalizate necesită un canal de text accesibil pentru toți membrii. + Link de invitație personalizat ({uses}) + Fă-ți serverul mai ușor de accesat, creând un link de invitație personalizat. Nu uita că serverul va putea fi accesat de toți cei care folosesc linkul. + Te rugăm să reții faptul că putem elimina linkurile de invitație personalizate dacă descoperim abuzuri sau conflicte de proprietate intelectuală. Acum, oricine folosește **!!{url}!!** se poate alătura acestui server Acum, oricine folosește [!!{urlText}!!]({urlValue}) se poate alătura acestui server url-ul-tău-aici diff --git a/app/src/main/res/values-ru/plurals.xml b/app/src/main/res/values-ru/plurals.xml index 9552f55c50..62d10f46c5 100644 --- a/app/src/main/res/values-ru/plurals.xml +++ b/app/src/main/res/values-ru/plurals.xml @@ -1093,6 +1093,16 @@ {#} активированных буста {#} активированных бустов + + {#} месяц + {#} месяца + {#} месяцев + + + {#} месяц + {#} месяца + {#} месяцев + {#} буст {#} буста @@ -1206,6 +1216,11 @@ {#} буста {#} бустов + + {#} буст сервера отменён + {#} буста сервера отменено + {#} бустов сервера отменено + {#} месяц {#} месяца @@ -1675,6 +1690,11 @@ 1 {count} + + 1 использование + {uses} использования + {uses} использований + 1 использование {uses} использования diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index d92939123b..41f354cfae 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -1196,6 +1196,7 @@ Изменить аватар на сервере Сменить значок Настр. профиль сервера + Аватар и баннер профиля О сервере Если оставить поле пустым, будет использована информация из раздела «Обо мне» вашего профиля. Расскажите этому серверу о себе @@ -1203,6 +1204,7 @@ Подписка Discord Nitro позволяет вам использовать разные аватары на каждом из своих серверов и даёт многие другие возможности! Никнейм (выключен) Вы можете изменить то, как другие видят вас на этом сервере, выбрав никнейм и аватар для этого сервера. + Вернуть аватар по умолчанию Неизвестная ошибка Изменить аватар на сервере Используйте разные аватары на каждом из своих серверов и многое другое с **подпиской Discord Nitro!** @@ -1230,6 +1232,7 @@ Изменить пароль Изменить номер телефона? Сменить фон + Пользовательская ссылка-приглашение не может быть изменена, поскольку содержит недопустимые символы, слишком короткая или уже занята. Пользовательские ссылки-приглашения могут содержать только буквы, цифры и дефисы. Содержимое журнала изменений Покажите другу нашу новую главную страницу! Мы постараемся произвести хорошее впечатление. Подробнее @@ -1245,16 +1248,6 @@ Участники Канал удалён. Заголовок канала - Информация о канале - Вы можете отключить всплывающие уведомления и оповещения о новых сообщениях (кроме тех, в которых вы упомянуты). - Название - Уведомления - Подробности - Тема - Изменить - Ваши настройки - Скрыть информацию о канале - Открыть информацию о канале У вас недостаточно прав для доступа к этому каналу. Канал заблокирован Права синхронизированы с категорией «**{categoryName}**» @@ -1362,6 +1355,7 @@ Получить Очистить Удалить вложения + Убрать переопределение сборки Очистить текстовое поле Нажмите, чтобы узнать больше Клонировать канал @@ -1943,6 +1937,7 @@ !!{a}!!, !!{b}!! и ещё {n} сейчас в голосовом чате. Сейчас в голосовом чате никого нет. Пользовательский цвет + Для работы пользовательских ссылок-приглашений необходимо, чтобы один текстовый канал был доступен для всех участников. Пользовательский статус Удалить через Удалить статус @@ -2271,6 +2266,7 @@ активность Играйте вместе в голосовом чате! Новые виды деятельности! + Бесплатно играйте вместе в любом голосовом канале. Откройте больше активностей с помощью бустов! другую активность Эмодзи Добавить в избранное @@ -2320,6 +2316,7 @@ Этот эмодзи с приватного или недоступного сервера. [Узнайте больше](openPremiumSettings) об использовании пользовательских эмодзи. Удалить из избранного {count} + Этот эмодзи слишком большой! Размер не должен превышать {maxSize} Кб. Нажмите, чтобы узнать больше {count} @упомяните пользователя, чтобы добавить его к этой приватной ветке. @@ -2492,10 +2489,18 @@ Копировать ссылку Открыть в браузере Отправить ссылку + Добавить канал в избранное + Добавить ЛС в избранное + Добавить групповой чат в избранное Достигнут предел избранного. Избранное + В Discord появилась функция добавления в избранное! Добавляйте каналы, голосовые чаты и ЛС в избранное, отмечая их звёздочками в контекстном меню. + Избранное + Перейти к оригинальному серверу + Избранное В избранное нельзя добавить больше {count} позиций. О нет! + Это название будет отображаться только в вашем избранном. Другое Опишите свою проблему Ваша проблема @@ -2557,6 +2562,7 @@ Снижает громкость звука в других приложениях на указанный процент, когда кто-то говорит. Значение 0%% полностью отключает этот эффект. Ветки отправятся в архив после определённого периода неактивности. Если индикатор полностью зелёный, значит Discord транслирует ваш чарующий голос. + ВНИМАНИЕ! Не поднимайте битрейт выше {bitrate} кбит/с, чтобы не создать проблемы людям с низкой скоростью соединения. При использовании микрофона, сертифицированного Discord, некоторые функции обработки голоса обеспечиваются не самим Discord, а микрофоном. Измените настройки конфиденциальности и определите, как пользователи будут взаимодействовать с этим каналом. Записывает все RTP-данные, полученные во время следующего голосового или видеоподключения, с целью отладки. @@ -2749,6 +2755,7 @@ Проверить микрофон Преобразование текста в речь (Text-to-Speech) Уведомления Text-to-Speech + Включить оповещения о новых событиях Включить оповещения от **!!{name}!!** Поле для текста Лимит пользователей @@ -2788,6 +2795,7 @@ Участники серверов Принять Отмена + Запрос дружбы отменён. Гм, во время отправки запросов дружбы произошла какая-то ошибка. Но вы всегда можете повторно отправить запросы из списка друзей. Гм, во время отправки запроса дружбы пользователю !!{name}!! произошла какая-то ошибка. Но вы всегда можете повторно отправить запрос из списка друзей. Ошибка запроса дружбы @@ -3107,6 +3115,9 @@ Смотрит {username} Перейти к каналу Ясно + Возникла ошибка в ходе совершения вашей покупки. Подождите и попробуйте ещё раз. + О нет! + Не удалось подключиться к сервисам Google Play. Подождите и попробуйте ещё раз. Предоставить временное членство Зелёный Серый @@ -3154,8 +3165,8 @@ Выглядит отлично! Подробнее Может, позже - Дайте серверу буст до 1-го уровня, чтобы качество звука улучшилось с 96 кбит/с до 128 кбит/с. - Дайте серверу буст до 2-го уровня, чтобы качество звука улучшилось со 128 кбит/с до 256 кбит/с. + Дайте серверу буст до 1-го уровня, чтобы улучшить качество звука. Тогда все участники будут чувствовать себя так, будто находятся в одной комнате. + Дайте серверу буст до 2-го уровня, чтобы улучшить качество звука. Тогда все участники будут чувствовать себя так, будто находятся в одной комнате. Дайте серверу буст до 3-го уровня, чтобы качество звука улучшилось с 256 кбит/с до 384 кбит/с. А вы знали, что бусты улучшают качество звука? Достигнут лимит в 100 серверов @@ -3206,6 +3217,7 @@ Любите игры, музыку или учиться? Здесь каждый может найти место для себя. Найдите сообщество себе по душе в Discord Следить за обновлениями + Найдите своё сообщество Поиск сообществ Популярные сообщества !!{username}!!, возможно, вам понравятся эти серверы @@ -3324,18 +3336,40 @@ Создать {count} {number} + Самое время написать парочку! + На этом сервере пока что нет интересных сообщений. + Пожалуйста, перезагрузите эту страницу или загляните на [нашу страницу состояния платформы]({url}). + Ой! Вы столкнулись с невероятно редкой ошибкой. + Обновите, чтобы увидеть свежие новости + На этом всё! Хотя постойте, возможно, у нас есть ещё кое-что… + Открыть сообщение с канала !!{channelName}!! на боковой панели + Более {maxReplies} ответов {numReplies} - Верхние сообщения + Перезагрузить + Самые интересные сообщения + Вы просмотрели все самые интересные сообщения за последние 2 недели. + Вы всё наверстали Цвет папки Название папки !!{folderName}!!, папка {mentions} !!{folderName}!!, папка {mentions}, !!{expandedState}!! Папка серверов без названия Настройки папки сохранены! + Главная Это новая функция, которая поможет вам следить за событиями на сервере. Пока что она находится на этапе бета-тестирования. Главная: !!{guildName}!! + Сменить баннер профиля на сервере + Нажмите, чтобы изменить информацию о себе на этом сервере + Изменить информацию о себе на этом сервере + Если оставить поле пустым, будет использовано стандартное описание вашего профиля. + Нажмите, чтобы добавить информацию о себе на этом сервере Описание сервера !!{guildName}!! + Сменить баннер профиля на сервере + Удалить аватар на сервере + Баннер профиля на сервере + Вернуть баннер по умолчанию Хотите большего? Получите полную персонализацию профиля сервера с подпиской Discord Nitro. + Загрузить баннер профиля на сервере Используйте разные аватары (в том числе анимированные), баннеры и биографии на каждом из своих серверов — всё это и многое другое вы получите с подпиской [Discord Nitro!](onAndMore) Раскройте свою индивидуальность, используя профиль сервера Пригласить на серверы @@ -3369,6 +3403,8 @@ Срок действия ссылки для подтверждения истёк. Подтверждение выполнено. Подтверждаем ваш запрос. + Открыть настройки сервера + Здесь очень шумно! Рекомендуем изменить стандартные настройки уведомлений для этого сервера и включить **только уведомления об упоминаниях**, чтобы облегчить жизнь участникам. Оповестить @everyone Сообщите всем (@everyone) о том, что событие начинается. $[Рассказать всем (@everyone), что трибуна начинается.](tooltipHook) [Включить](toggleClick) @@ -3592,6 +3628,8 @@ $[**!!{user}!!**](userHook) вносит изменения в $[**!!{target}!!**](targetHook) Канал **!!{newValue}!!** выбран в качестве канала для новостей о серверах сообществ. Канал для новостей о серверах сообществ **удалён** + Пользовательская ссылка-приглашение изменена на **!!{newValue}!!** + Пользовательская ссылка-приглашение **удалена** Устанавливает уровень проверки сервера на **Высокий** Устанавливает уровень проверки сервера на **Низкий** Устанавливает уровень проверки сервера на **Средний** @@ -3751,7 +3789,6 @@ Для публичных серверов Discord мы настоятельно рекомендуем установить эту опцию исключительно на @упоминания. Ввиду размера сервера его участники не будут получать Push-уведомления о сообщениях без @упоминания. Отключить «Путешествие» - Отключение отбора участников означает, что люди смогут вступать в ваше сообщество без вашего личного одобрения и без согласия с правилами. Вы уверены? «Путешествие» могут включить или отключить только администраторы сервера. Требование 2FA для модерации включено @@ -3804,6 +3841,10 @@ Отключив режим сообщества, вы также удалите сервер из «Путешествия по серверам». Этот сервер был удалён из «Путешествия». Этот сервер не удовлетворяет указанным ниже требованиям и был автоматически удалён из «Путешествия». Не переживайте, вы сможете вновь воспользоваться этой функцией, когда снова выполните все требования. Требования к активности проверяются еженедельно. + Щёлкнув по пользовательским эмодзи или стикерам с вашего сервера, пользователь другого сервера сможет увидеть информацию о них и присоединиться к вашему. + Отключить информацию об эмодзи/стикерах + Включить информацию об эмодзи/стикерах + Показывать информацию об эмодзи/стикере при нажатии Увеличивайте своё сообщество с помощью «Путешествия по серверам» Discord приоритизирует этот сервер в поиске для пользователей, которые говорят на выбранном языке. В [«Путешествии по серверам»](onLinkClick) ваш сервер будет виден и доступен всем пользователям. @@ -3818,6 +3859,7 @@ Подкатегории Название Введите название + Добавьте до {count} пользовательских эмодзи, которые сможет использовать каждый на этом сервере. Анимированные эмодзи могут использовать только подписчики Discord Nitro. Названия эмодзи должны быть не короче двух символов и могут содержать только латинские буквы, цифры и подчёркивания. Размер эмодзи не должен превышать {maxSize} Кб. Дайте буст серверу до {level}-го уровня, чтобы разблокировать больше слотов для эмодзи! Эмодзи {level}-го уровня больше недоступны Дайте буст серверу до {level}-го уровня или купите уровень, чтобы разблокировать эмодзи! @@ -3864,6 +3906,8 @@ 1 неделя до архивации веток Создание приватных веток Анимированный баннер сервера + Пользовательская ссылка-приглашение для сервера + Качество звука: {bitrate} кбит/с +{adding} слота(-ов) для эмодзи сервера (всего слотов: {total}) +{adding} слота(-ов) для пользовательских стикеров (всего слотов: {total}) Лимит загрузки для всех пользователей: {fileSize} @@ -4603,6 +4647,14 @@ Эмодзи !!{name}!! Значок !!{name}!! Логотип !!{name}!! + Что такое каналы? + В каналах можно переписываться, общаться в голосовом чате, играть в игры и не только. На каждом сервере есть список каналов, который поможет вам сориентироваться. + Личные сообщения + Личные сообщения существуют отдельно от серверов. Вы можете отправить ЛС другу, чтобы решить возникший вопрос, или создать групповой чат, пригласив в него до 10 человек. + Вам по-прежнему нужна помощь? + Не нашли ответа на свой вопрос? Тогда обратитесь в наш [справочный центр]({helpCenterUrl}) — там больше информации. + Что такое сервер? + Сервер — это место, где можно пообщаться с друзьями и встретить новых людей. Большинство серверов являются приватными, и присоединиться к ним получится только по приглашению. в !!{categoryName}!! Настройки голоса в игре В голосовом канале @@ -4621,6 +4673,7 @@ Интересует Нет, спасибо При загрузке через Discord + Для изображений больше {maxSize} Мб предпросмотр будет недоступен. При публикации ссылки в чате Отображать картинки, видео и няшных котиков Устройство ввода @@ -4692,6 +4745,7 @@ У этого приложения нет команд. У этого приложения нет вебхуков на этом сервере. Вы достигли максимального количества замены прав. + У вас слишком много прав. Удалите {removeCount} из них, чтобы внести изменения. Удалить интеграцию Вы уверены, что хотите удалить **!!{applicationName}!!**? Произошла внутренняя ошибка сервера. @@ -4851,6 +4905,7 @@ Давайте добавим друзей! Пригласить людей Внимание! Приглашённые вами друзья могут просматривать историю предыдущих сообщений. + Это приватный канал. Его могут просматривать только избранные участники и пользователи с определёнными ролями. Найти друзей Приглашение отправлено !!{maxAge}!!, !!{maxUses}!! @@ -4861,6 +4916,7 @@ Или отправьте другу ссылку-приглашение на стрим Пригласить на стрим Пригласить на сервер + Пригласить друзей в **!!{name}!!** Ссылка-приглашение Войти в голосовой чат Добро пожаловать на ваш новый сервер! @@ -5012,6 +5068,7 @@ Выгнать Выгнать Выгонять участников + Выгоняйте, одобряйте или отклоняйте участников Выгнать !!{user}!! Вы уверены, что хотите выгнать !!{user}!! с сервера? Он(а) сможет снова присоединиться к серверу, используя новое приглашение. Вы выгнали участника \'!!{user}!!\' с сервера. @@ -6192,9 +6249,21 @@ Отменить !!{planPremiumType}!!? Отмена подписки на Nitro и бусты сервера произойдёт мгновенно. Если вы меняли свой Discord Tag, то после отмены подписки он будет вновь изменён на случайный. Ладно, оставьте Nitro + Ладно, оставьте Nitro **2 бесплатных буста** и **30%% скидку на бусты** {boostCount} 30%% **скидка на бусты** + 2 бесплатных буста и скидка 30%% + Использование пользовательских эмодзи и стикеров где угодно + Ништяки для профиля и собственный тег + Стриминг видео в высоком качестве со скоростью 60 кадров в секунду + вы стримили {month} + ч. + Стриминг видео в высоком качестве + Размер отправляемых файлов увеличен до 100 Мб + большие файлы + вы отправили за {month} + Увеличение размера загружаемых файлов Доступ к **пользовательским эмодзи** и **стикерам** на всех ваших серверах Доступ ко всем **пользовательским эмодзи** на любом сервере **Анимированный аватар**, **баннер профиля** и собственный **Discord Tag** @@ -6315,15 +6384,21 @@ Активные бусты сервера Доступен {numSubscriptions} К сожалению, на данным момент мы не поддерживаем отмену бустов, купленных через !!{paymentGatewayName}!!. Вы можете отменить буст на странице [управления подписками !!{paymentGatewayName}!!]({subscriptionManagementLink}). + Вы действительно хотите отменить этот буст сервера? Мы разобьём этот драгоценный камень вдребезги. Буст будет удалён со всех связанных серверов и из подписки в конце расчётного периода: **{endDate}**. + Вы действительно хотите отменить буст сервера со склада? Мы разобьём этот драгоценный камень вдребезги. Буст будет удалён со всех связанных серверов и из подписки в конце расчётного периода: **{endDate}**. Да, отменить буст Ваша подписка просрочена. Чтобы управлять бустами, обновите платёжную информацию. Этот буст был предоставлен вместе с подпиской Nitro. Отменить буст Возникла ошибка при отмене буста. + **{subscriptionCount}** {subscriptionCount} + Эта подписка на буст сервера будет отменена в конце расчётного периода подписки Nitro или Nitro Classic, **{endDate}**. Ваша подписка будет изменена следующим образом: Отмена буста сервера Отменить буст сервера с сервера Отменить буст сервера со склада Ожидание отмены буста + Хорошо, мы готовы разбить этот драгоценный камень буста. Буст будет отменён **{endDate}**. **Можете использовать его до тех пор, пока мы его не уничтожим!** + Буст отменён! {date} Буст с {date} ({months}) Возникла ошибка при попытке буста. Попробуйте ещё раз. @@ -6390,18 +6465,23 @@ Бусты открывают доступ к крутым функциям и улучшениям для всех участников сервера. Задайте буст и получите: Больше весёлых активностей! Проявите свою уникальность с помощью анимированного значка сервера - Улучшение качества звука до {targetQuality} кбит/c + Улучшение качества звука до {targetQuality} кбит/c. Персонализируйте приглашения на ваш сервер с помощью своего фона Размер отправляемых файлов увеличен до 100 МБ Шанс показать всем суть вашего сервера с помощью баннера сервера Значительные улучшения: больший размер загружаемых файлов, повышенное качество звука и многое другое! + Значительные улучшения: анимированный значок сервера, дополнительные настройки веток и многое другое! + Значительные улучшения: больший размер загружаемых файлов, баннер сервера, значки пользовательских ролей и многое другое! + Значительные улучшения: пользовательская ссылка-приглашение, дополнительные ячейки для эмодзи и анимированный баннер сервера. Уникальный значок для каждой роли на сервере Показ экрана в формате 1080p/60fps Показ экрана в формате 720p/60fps Загрузка персональных стикеров, доступных всем Загрузка до {numStickers} пользовательских стикеров и до {numEmojis} пользовательских эмодзи + Загрузка до {numStickers} пользовательских стикеров Более длительный срок действия веток Создание приватных веток + Простое добавление новых участников по пользовательской ссылке-приглашению Цель: {levelName} Покупайте бусты, чтобы открывать бонусы ({levelName})! На этом сервере открыты все усиливающие бонусы! @@ -6540,6 +6620,7 @@ Ваши подписки Изменение учитывает пересчёт, скидки и возврат средств. Это ваши активные подписки. Средства за них будут списаны в одном и том же расчётном периоде. + Отменено: {planName} Кредит !!{planName}!! Кредит будет активирован, когда вы оформите подписку !!{planName}!!. Этот кредит можно использовать для оплаты подписки !!{planName}!! в приложении для компьютера. @@ -6721,8 +6802,11 @@ Действия с профилем Загрузите собственный баннер и откройте другие возможности с подпиской Discord Nitro! Прошло $[](renderTimeHook) + Рекомендуемые минимальные размер и соотношение сторон составляют 600 x 240 и 5:2. Допустимые форматы включают PNG, JPG и анимированные GIF. Расскажите этому серверу о себе + Не сохранять Сохранить изменения? + Вы внесли изменения. Хотите сохранить их перед тем, как покинуть страницу? Только для подписчиков Nitro Предпросмотр Значки пользователя @@ -6883,6 +6967,7 @@ Отменить наказание Вернуть голос !!{user}!! Удалить !!{user}!! из ветки + Удалить пользовательскую ссылку-приглашение Показывать вложения и предпросмотр веб-ссылок из сообщений в чате Вложения и предпросмотр ссылок Показывать эмодзи-реакции под сообщениями @@ -7019,11 +7104,13 @@ Стандартные права для всех участников сервера Значок роли, {name} Выберите изображение + Загрузите изображение размером менее 256 Кб или выберите пользовательский эмодзи сервера. Мы советуем использовать разрешение не менее 64 х 64 пикселя. Если у участников есть несколько ролей, они будут видеть значок высшей из них. Подробнее Пользовательский значок для роли «{name}». Эта функция доступна с бустом сервера. Эмодзи Загрузить изображение Просмотр файлов + О нет! Этот файл слишком большой. Выберите файл в формате PNG или JPG размером не более 256 Кб. Для загрузки выберите формат PNG или JPG Скопированный ID роли: {role} Для участников используется цвет высшей роли, которую они имеют. Перетащите роли, чтобы упорядочить их. @@ -7099,6 +7186,7 @@ Позволяет отображать на этих каналах контент ссылок, которыми делятся участники. Позволяет отображать на этом канале контент ссылок, которыми делятся участники. Права не найдены + Позволяет участникам удалять из этого сервера других участников. Те, кого выгнали, смогут вернуться только в том случае, если получат новое приглашение. Если на сервере включён отбор участников, это право позволит одобрять или отклонять запросы пользователей на присоединение. Позволяет участникам удалять с этого сервера других участников. Выгнанные участники смогут вернуться, только получив новое приглашение. Позволяет участникам менять название, описание и настройки текстового и голосового чатов этих каналов. Также даёт право удалить эти каналы. (Требуется для модератора трибуны) Разрешить участникам задавать тематику для открытия трибуны, а также принимать или отклонять запросы на выступление. Они также могут удалить трибуну. @@ -7571,11 +7659,15 @@ Из специальных символов разрешены только тире. Введите теги здесь. В «Путешествии по серверам» возможен поиск по названию, описанию и тегам. Вы можете добавить до 10 тегов. + Серверы, на которых более {count} участников, теперь могут присоединиться к «Путешествию по серверам». + Развивайте своё сообщество ещё быстрее Эмодзи сервера Закрыть все папки Отметить папку как прочитанную + Заглушить все серверы в папке Адрес сервера Настройки папки + Включить оповещения всех серверов в папке Аналитика сервера На сервере нет мест. Заглушить сервер @@ -7598,6 +7690,9 @@ Изменение ведения логов отладки вызовет перезапуск Discord. Вы уверены, что хотите это сделать? Сделать эту ссылку бессрочной Задать статус + У вашего сервера нет доступа к этой функции. + У вас нет доступа к этой функции. + Создайте текстовый канал, доступный всем участникам, прежде чем создать пользовательскую ссылку-приглашение. Настройки Расширенные Добавьте её! @@ -8418,6 +8513,9 @@ Учётная запись не присвоена Вкл. звук Отменить + Убрать канал из избранного + Убрать ЛС из избранного + Убрать групповой чат из избранного Не в избранном Убрать фокус Извините, на вашем устройстве не найдено приложения, чтобы обработать эту ссылку: @@ -8816,6 +8914,10 @@ Чтобы говорить в этом канале, вы должны включить режим рации. Требуется режим рации Пользовательская ссылка-приглашение + Для работы пользовательских ссылок-приглашений необходимо, чтобы один текстовый канал был доступен для всех участников. + Пользовательская ссылка-приглашение ({uses}) + Сделайте свой сервер доступнее благодаря пользовательской ссылке-приглашению на ваш выбор. Имейте в виду, что ваш сервер будет доступен всем, кто использует эту ссылку. + Учтите, что мы можем отобрать пользовательские ссылки-приглашения, если обнаружим злоупотребления или нарушения интеллектуальной собственности. Теперь этот сервер доступен всем по ссылке **!!{url}!!** Теперь этот сервер доступен всем по ссылке [!!{urlText}!!]({urlValue}) ваша-ссылка-здесь diff --git a/app/src/main/res/values-sv-rSE/plurals.xml b/app/src/main/res/values-sv-rSE/plurals.xml index e6a7113769..7e784b6a93 100644 --- a/app/src/main/res/values-sv-rSE/plurals.xml +++ b/app/src/main/res/values-sv-rSE/plurals.xml @@ -932,6 +932,14 @@ {#} aktiverad boost {#} aktiverade boostar + + {#} månad + {#} månader + + + {#} månad + {#} månader + {#} boost {#} boostar @@ -1028,6 +1036,10 @@ {#} boost {#} boostar + + serverboost + serverboostar + månad {#} månader @@ -1420,6 +1432,10 @@ 1 annan {count} andra + + 1 användning + {uses} användningar + 1 användning {uses} användningar diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index 27645bc7d1..9d362b03bc 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -1168,6 +1168,7 @@ Ändra serveravatar Byt ikon Redigera serverprofil + Avatar och profilbanner Serverinformation Lämnar du det tomt används din vanliga information. Berätta lite för den här servern om dig själv @@ -1175,6 +1176,7 @@ Använd olika avatarer på var och en av dina servrar och mer med Discord Nitro! Smeknamn (inaktiverat) Du kan ändra hur andra ser dig på den här servern genom att ange ett serversmeknamn och en avatar. + Återställ till standardavatar Okänt fel Ändra serveravatar Använd olika avatarer på var och en av dina servrar och mer med **Discord Nitro!** @@ -1202,6 +1204,7 @@ Ändra lösenord Ändra telefonnummer? Ändra bakgrund + Den personliga inbjudningslänken kunde inte ändras eftersom den innehåller ogiltiga tecken, är för kort eller redan är i bruk. Personliga inbjudningslänkar kan bara innehålla bokstäver, siffror eller bindestreck. Ändringslogginnehåll Visa upp vår nya hemsida för en kompis! Vi vill göra ett gott första intryck. Läs mer @@ -1217,16 +1220,6 @@ Deltagare Kanalen har tagits bort. Kanalrubrik - Kanalinfo - När du tystar visas inte indikatorer och aviseringar om olästa meddelanden, såvida du inte omnämns. - Namn - Aviseringar - Detaljer - Ämne - Ändra - Dina inställningar - Dölj kanalinformation - Visa kanalinformation Din roll har inte åtkomst till denna kanal. Kanalen är låst Behörigheter synkades med kategorin: **{categoryName}** @@ -1332,6 +1325,7 @@ Hämta Rensa Rensa bilagor + Rensa åsidosättning av version Klicka för att ta reda på mer Klona kanal En ny kanal kommer att skapas med samma behörigheter, användargräns och överföringshastighet som **!!{name}!!**. @@ -1888,6 +1882,7 @@ !!{a}!!, !!{b}!! och {n} är för närvarande i röstkanalen. Det är för närvarande ingen i röstkanalen. Egen färg + Kom ihåg att personliga inbjudningslänkar kräver att en textkanal är tillgänglig för alla medlemmar för att de ska fungera. Anpassad status Rensa efter Rensa status @@ -2216,6 +2211,7 @@ en aktivitet Börja spela tillsammans, nu med röst! NYTT! Aktiviteter + Spela tillsammans gratis på alla röstkanaler. Lås upp fler aktiviteter genom att boosta! en annan aktivitet Emoji Lägg till i Favoriter @@ -2265,6 +2261,7 @@ Den här emojin kommer från en server som är antingen privat eller otillgänglig. [Läs mer](openPremiumSettings) om att använda specialanpassade emojier. Ta bort från Favoriter {count} + Denna emoji var för stor! Emojier måste vara under {maxSize} kB. Klicka för att ta reda på mer {count} @nämn användare för att lägga till dem i denna privata tråd. @@ -2379,10 +2376,18 @@ $[](upHook) för att välja Facebook Misslyckades + Markera kanal som favorit + Markera DM som favorit + Markera grupp-DM som favorit Du kan inte ha fler favoriter. Favorit + Välkommen till den nya Discord-funktionen för favoriter! Lägg till favoriter genom att stjärnmärka kanaler, röstchattar och DM via deras kontextmenyer. + Favoriter + Gå till originalserver + Favoriter Du kan inte ha fler än {count} favoriter. Åh nej! + Detta namn kommer enbart att synas i dina favoriter. Beskriv ditt problem Ditt problem Skicka in feedback @@ -2443,6 +2448,7 @@ Sänker volymen i andra program med denna procent när någon talar. Sätt till 0 %% för att helt inaktivera dämpning. Trådar arkiveras efter den valda inaktivitetsperioden. Om indikatorn lyser stadigt grönt sänder Discord din vackra stämma. + ALLA BIT! Mer än {bitrate} kbps kan inverka negativt på personer med dåliga uppkopplingar. När du använder en Discord-certifierad mikrofon hanteras vissa av Discords röstbearbetningsfunktioner i mikrofonen istället för i Discord. Ändra sekretessinställningarna och anpassa hur medlemmar kan interagera med den här kanalen. Spelar in alla RTP-data för nästa röst-/videoanslutning i felsökningssyfte. @@ -2635,6 +2641,7 @@ Testa min mikrofon Text-till-tal Text-till-tal-aviseringar + Sluta tysta nya event Sluta tysta **!!{name}!!** Textruta Användargräns @@ -2674,6 +2681,7 @@ Servermedlemmar Acceptera Avbryt + Vänförfrågan har avbrutits. Hmm, något gick snett när vi skickade vänförfrågningar. Du kan alltid försöka igen från vänlistan. Hmm, något gick snett när vi skickade en vänförfrågan till !!{name}!!. Du kan alltid försöka igen från vänlistan. Vänförfrågan misslyckades @@ -2993,6 +3001,9 @@ Tittar på {username} Gå till kanal Jag förstår + Det har uppstått ett problem med ditt köp. Vänta en stund och försök igen. + Åh nej! + Kunde inte ansluta till Google Play-tjänsten. Vänta en stund och försök igen. Ge tillfälligt medlemskap Grön Grå @@ -3040,8 +3051,8 @@ Det ser fantastiskt ut! Läs mer Kanske senare - Boosta till nivå 1 idag så boostas din ljudkvalitet från 96 kbps till 128 kbps. - Boosta till nivå 2 idag så boostas din ljudkvalitet från 128 kbps till 256 kbps. + Boosta till nivå 1 för bättre ljud så att det känns som att ni alla är i samma rum. + Boosta till nivå 2 för bättre ljud så att det känns som att ni alla är i samma rum. Boosta till nivå 3 idag så boostas din ljudkvalitet från 256 kbps till 384 kbps. Visste du att du kan få bättre ljudkvalitet genom att boosta? Du har nått gränsen på 100 servrar @@ -3092,6 +3103,7 @@ Här finns allt från gaming till musik och utbildning. Hitta ditt community på Discord Följ uppdateringar + Hitta ditt community Sök communityn Populära communityn !!{username}!!, du kanske även gillar de här servrarna @@ -3209,18 +3221,40 @@ Skapa {count} {number} + Men du kan skriva några! + Den här servern har inga toppmeddelanden ännu. + Ladda om sidan eller kolla vår [statussida]({url}). + Hoppsan! Du har råkat ut för ett extremt ovanligt fel. + Uppdatera för att se vad som är på gång + Det var allt för nu! Men vänta, det kan komma mer … + Öppna meddelande från !!{channelName}!! i sidofältet + Fler än {maxReplies} svar {numReplies} + Ladda om Toppmeddelanden + Du har sett samtliga toppmeddelanden från de två senaste veckorna. + Du är ikapp Mappfärg Mappnamn !!{folderName}!!, mapp {mentions} !!{folderName}!!, mapp {mentions}, !!{expandedState}!! Namnlös servermapp Mappinställningarna sparades! + Start Det här är en ny yta som vi betatestar för att det ska bli lättare för dig att hänga med i vad som händer på din server. Start – !!{guildName}!! + Ändra serverprofilbanner + Tryck för att ändra information om dig för denna server + Ändra informationen om dig för denna server + Lämnar du det tomt kommer standardinformationen om dig att användas. + Tryck för att lägga till information om dig för denna server Serverinformation för !!{guildName}!! + Ändra serverprofilbanner + Radera serveravatar + Serverprofilbanner + Återställ till standardbanner Behöver du mer? Få komplett anpassning av serverprofilen med Nitro. + Ladda upp serverprofilbanner Var den du vill vara och använd en särskild avatar, banner och bio på var och en av dina servrar, lås upp animerade avatarer och annat med [Discord Nitro!](onAndMore) Uttryck dig fullt ut med serverprofiler Bjud in till servrar @@ -3254,6 +3288,8 @@ Verifieringslänken har löpt ut. Verifiering genomförd. Verifierar din begäran. + Se serverinställningar + Det är rätt livat här! Fundera på om du vill ändra den här serverns standardinställning för aviseringar till **endast @omnämningar** för att hjälpa dina medlemmar. Meddela @everyone Låt även @everyone veta att eventet börjar. $[Berätta för @everyone att podiet startar.](tooltipHook) [Inaktivera](toggleClick) @@ -3477,6 +3513,8 @@ $[**!!{user}!!**](userHook) gjorde ändringar för $[**!!{target}!!**](targetHook) Ställ in communityserverns uppdateringskanal på **!!{newValue}!!** **Rensade** uppdateringskanalen för communityservrar + Ange den personliga inbjudningslänken till **!!{newValue}!!** + **Tog bort** den personliga inbjudningslänken Ändra serververifieringsnivån till **Hög** Ändra serververifieringsnivån till **Låg** Ändra serververifieringsnivån till **Medium** @@ -3636,7 +3674,6 @@ Vi rekommenderar starkt att ställa in detta till endast @omnämningar för offentliga Discord-servrar. På grund av den här serverns storlek kommer medlemmarna inte att få mobilaviseringar för @meddelanden som inte är omnämnda. Avaktivera Identifiering - Om du avaktiverar Medlemskrav kan man gå med i din community utan att behöva godkänna regler eller godkännas manuellt. Är du säker? Endast serveradministratörer kan aktivera och stänga av Identifiering. 2FA-krav för moderering aktiverad @@ -3689,6 +3726,10 @@ Din server tas även bort från Serveridentifiering om den inte längre är en communityserver. Den här servern har tagits bort från Identifiering. Servern uppfyller inte kraven nedan och har automatiskt tagits bort från Identifiering. Oroa dig inte, du kan gå med igen så snart servern uppfyller kraven. Vi beräknar aktivitetsvärdena varje vecka. + Detta gör så att information visas när någon klickar på en personlig emoji eller dekal från din server i en chatt. Användare kan se och gå med i din server via informationen som visas. + Avaktivera emoji-/dekalinformation + Aktivera emoji-/dekalinformation + Visa information om emoji/dekal när du klickar på den Få ditt community att växa med Serveridentifiering Discord kommer att prioritera den här servern i sökningar för användare som talar det valda språket. Om du listar dig i [Serveridentifiering](onLinkClick) kan vem som helst hitta och gå med i din server. @@ -3703,6 +3744,7 @@ Underkategorier Smeknamn Ange smeknamn + Lägg till upp till {count} personliga emojier som vem som helst kan använda på denna server. Animerade GIF-emojier kan användas av medlemmar med Discord Nitro. Emojinamn måste vara minst 2 tecken långa och kan endast innehålla alfanumeriska tecken och understreck. Emojin måste vara mindre än {maxSize} kB. Boosta din server till nivå {level} för att låsa upp fler emojiplatser! Nivå {level}-emojier förlorade Boosta din server till nivå {level} eller köp en nivå för att låsa upp dina emojier! @@ -3749,6 +3791,8 @@ 1 veckas arkiveringsalternativ för trådar Skapa privata trådar Animerad serverbanner + Personlig inbjudningslänk för servern + Ljudkvalitet i {bitrate} kbps +{adding} server-emojiplatser (sammanlagt {total}) +{adding} platser för anpassade dekaler (sammanlagt {total}) {fileSize} uppladdningsgräns för alla medlemmar @@ -4487,6 +4531,14 @@ !!{name}!!-emoji !!{name}!!-ikon !!{name}!!-logga + Vad är kanaler? + I kanaler kan du prata, gå med i röstchattar, spela spel och mycket annat. Varje server har en kanallista som du kan scrolla igenom för att se vad som händer. + Direktmeddelanden + Direktmeddelanden är åtskilda från servrarna. Du kan DM:a en vän privat för en snabb chatt, eller skapa ett grupp-DM med upp till 10 personer. + Behöver du fortfarande hjälp? + Hittar du inte det du letar efter? [Gå till vårt hjälpcenter]({helpCenterUrl}) för mer information. + Vad är en server? + Servrar är platser där du kan umgås med vänner och träffa människor. De flesta servrar är privata och kräver en inbjudan. i !!{categoryName}!! Röstinställningar i spelet I röstkanalen @@ -4505,6 +4557,7 @@ Intresserad Nej tack När det uppladdas direkt till Discord + Bilder som är större än {maxSize} MB kommer inte att förhandsvisas. När det postats som länkar till chatten Visa bilder, filmer och lolkatter Inmatningsenhet @@ -4576,6 +4629,7 @@ Den här applikationen har inga kommandon. Den här applikationen har inga webhookar på den här servern. Du har nått det maximala antalet överskrivna behörigheter. + Du har nått det maximala antalet behörigheter. Ta bort {removeCount} av dem för att göra ytterligare ändringar. Ta bort integration Är du säker på att du vill ta bort **!!{applicationName}!!**? Ett internt serverfel har uppstått. @@ -4735,6 +4789,7 @@ Låt oss lägga till några vänner! Bjud in personer Hör upp! De vänner du bjuder in kan se din tidigare meddelandehistorik. + Denna kanal är privat, endast utvalda medlemmar och roller kan titta på denna kanal. Sök efter vänner Inbjudan skickad !!{maxAge}!!, !!{maxUses}!! @@ -4745,6 +4800,7 @@ Eller skicka en streaminbjudningslänk till en vän Bjud in till stream Bjud in till server + Bjud in vänner till **!!{name}!!** Inbjudnings-URL Gå med i röstkanal Välkommen till din nya server! @@ -4895,6 +4951,7 @@ Sparka Sparka Sparka medlemmar + Sparka ut, godkänn och avvisa medlemmar Sparka !!{user}!! Vill du verkligen sparka !!{user}!! från denna server? Hon eller han kan återansluta till servern med en ny inbjudan. ”!!{user}!!” har sparkats från servern. @@ -6026,9 +6083,21 @@ Avbryt !!{planPremiumType}!!? Uppsägningen kommer att träda i kraft omedelbart för prenumerationer på Nitro och serverboostar. Din Discord-tagg kommer att återställas om du har ändrat den. Glöm det, behåll Nitro + Glöm det, behåll Nitro Dina **två gratisboostar** och **30 %% rabatt på boostar** {boostCount} Din **30 %% boostrabatt** + Två gratisboostar och 30 %% rabatt + Användning av personliga emojier och dekaler överallt + Cool profil och personlig tagg + Högupplöst videostreaming och 60 fps + du har streamat i {month} + timmar + HD-videostreaming + Filuppladdningar har ökats till 100 MB + stora filer + du har skickat i {month} + Större filuppladdningar Åtkomst till **anpassade emojier** och **dekaler** på alla dina servrar Tillgång till **anpassade emojier** på alla dina servrar En **animerad avatar**, **profilbanner** och en unik **Discord-tagg** @@ -6149,15 +6218,21 @@ Aktiva serverboostar {numSubscriptions} tillgängliga Ledsen, men för närvarande ger vi inte stöd för att avbryta boostar som köpts via !!{paymentGatewayName}!!. Du kan avbryta din boost genom [!!{paymentGatewayName}!!s prenumerationshantering]({subscriptionManagementLink}). + Är du säker på att du vill avbryta den här serverboosten? Vi kommer att slå den här juvelen i bitar. Den kommer att tas bort från tillhörande servrar och annulleras från din prenumeration i slutet av din faktureringsperiod: **{endDate}**. + Är du säker på att du vill avbryta en serverboost från ditt lager? Vi kommer att slå den här juvelen i bitar. Den kommer att tas bort från tillhörande servrar och annulleras från din prenumeration i slutet av din faktureringsperiod: **{endDate}**. Ja, annullera boost Din prenumeration har förfallit. Uppdatera din betalningsinformation innan du hanterar boostar. Den här boosten ingår i din Nitro-prenumeration Annullera boost Ett fel uppstod när du skulle annullera boosten. + **{subscriptionCount}** {subscriptionCount} annullerades + Det här serverboostabonnemanget kommer att annulleras i slutet av din faktureringsperiod för Nitro eller Nitro Classic, **{endDate}**. Ändringarna i ditt abonnemang visas nedan: Annullera serverboost Avbryt serverboost från en server Avbryt serverboost från lager Planerad annullering av boost + Okej, vi är redo att slå sönder den här boostjuvelen åt dig. Boosten är planerad att annulleras den: **{endDate}**. **Du kan fortfarande använda den här boosten fram till att den krossas!** + Boost annullerad! {date} Boostar sedan {date} ({months}) Ett fel uppstod under boosten. Försök igen. @@ -6224,18 +6299,23 @@ Genom att boosta låser du upp mäktiga funktioner och uppgraderingar som alla på servern kan dra nytta av. Ge en boost och få: Tillträde till fler roliga Aktiviteter! Stick ut med en animerad serverikon - Ökad ljudkvalitet till {targetQuality} kbps + Ljudkvaliteten ökades till {targetQuality} kbps Specialanpassa dina serverinbjudningar med en egen bakgrund Gränsen för filuppladdningar har höjts till 100 MB Visa alla vad din server handlar om med en serverbanner Kraftfulla uppgraderingar: större filstorlek vid uppladdning, förbättrad ljudkvalitet och mycket mer! + Kraftfulla uppgraderingar: animerad serverikon, fler trådalternativ och mycket mer! + Kraftfulla uppgraderingar: större filstorlek vid uppladdning, serverbanner, personliga rollikoner och mycket mer! + Kraftfulla uppgraderingar: personlig inbjudningslänk, extra emojiplatser samt en animerad serverbanner. Välj en unik ikon för varje roll på servern Skärmdela i 1080p/60fps Skärmdela i 720p/60fps Ladda upp anpassade dekaler som alla kan använda Ladda upp så mycket som {numStickers} personliga dekaler och {numEmojis} personliga emojier + Ladda upp så mycket som {numStickers} personliga dekaler Längre arkiveringsalternativ för trådar Skapa privata trådar + Lägg enkelt till nya medlemmar med en personlig inbjudningslänk Mål: {levelName} Köp boostar för att hjälpa till att låsa upp {levelName}-förmåner! Denna server har låst upp alla boostförmåner! @@ -6374,6 +6454,7 @@ Dina prenumerationer Den här justeringen innehåller proportionella beräkningar, rabatter och återbetalningar. Dessa är dina nuvarande prenumerationer. Du betalar dem i samma faktureringscykel. + {planName} annullerad !!{planName}!!-kredit Krediten kommer att ges när du registrerar dig till en !!{planName}!!-prenumeration. Krediten kommer att ges till en !!{planName}!! prenumeration köpt på en dator. @@ -6555,8 +6636,11 @@ Profilåtgärder Ladda upp din personliga banner och annat med Discord Nitro! $[](renderTimeHook) har förflutit + Den rekommenderade minsta storleken är 600x240 och det rekommenderade bildförhållandet är 5:2. Godkända filtyper inkluderar PNG, JPG och animerade GIF-filer. Berätta lite för den här servern om dig själv + Spara inte Spara ändringar? + Du har gjort ändringar. Vill du spara dem innan du lämnar den här sidan? Exklusiv för Nitro Förhandsgranska Användardekaler @@ -6717,6 +6801,7 @@ Ta bort timeout från Ta bort timeout från ”!!{user}!!” Ta bort !!{user}!! från tråd + Ta bort personlig inbjudningslänk Visa inbäddningar och länkförhandsvisningar som klistras in i chatten Inbäddningar och länkförhandsvisningar Visa emojireaktioner i meddelanden @@ -6853,11 +6938,13 @@ Standardbehörigheter för alla servermedlemmar Rollikon, {name} Välj bild + Ladda upp en bild på under 256 kB eller välj en personlig emoji från denna server. Vi rekommenderar minst 64 x 64 pixlar. Medlemmarna kommer att se ikonen för sin högsta roll om de har flera roller. Läs mer Anpassad rollikon för {name}. Den här funktionen är en del av serverboost. Emoji Ladda upp bild Sök filer + Åh nej! Filen är för stor. Välj en .png eller .jpg på 256 kB eller mindre. Välj en PNG eller JPG som ska laddas upp Kopierat ID för roll: {role} Medlemmarna får färgen från den högsta roll de har på denna lista. Dra i rollerna för att ändra ordning på dem. @@ -6933,6 +7020,7 @@ Låter länkar som medlemmar delar visa inbäddat innehåll i de här kanalerna. Låter länkar som medlemmar delar visa inbäddat innehåll i den här kanalen. Inga behörigheter hittades + ”Sparka” tar bort andra medlemmar från den här servern. Utsparkade medlemmar kommer att kunna gå med igen om de får en ny inbjudan. Om servern aktiverar medlemskrav kommer denna behörighet att göra det möjligt att godkänna eller avvisa medlemmar som begär att få gå med. Låter medlemmarna ta bort andra medlemmar från den här servern. Sparkade medlemmar kommer att kunna gå med igen om de får en ny inbjudan. Låter medlemmarna ändra kanalernas namn, beskrivning och text/röstinställningar. De kan också radera dessa kanaler. (Obligatoriskt för podiemoderatorn) Tillåt medlemmarna att välja ett ämne att starta podiet med och aktivera eller inaktivera förfrågningar om att få ordet. De kan också radera podiekanalen. @@ -7404,11 +7492,15 @@ Tankstreck är det enda specialtecknet som är tillåtet. Taggarna ska vara här. I Serveridentifiering kan du söka efter namn, beskrivning och taggar. Du kan lägga till upp till tio stycken. + Servrar med över {count} medlemmar är nu behöriga att gå med i Serveridentifiering. + Få din community att växa snabbare Server-emoji Stäng alla mappar Markera mapp som läst + Tysta alla servrar i mappen Servermapp Mappinställningar + Sluta tysta alla servrar i mappen Server Insights Denna server är full. Tysta servern @@ -7431,6 +7523,9 @@ Ändringar av felsökningsloggning kommer kräva att Discord startas om. Är du säker på att du vill göra det? Ställ in så att länken aldrig löper ut Ange status + Din server har inte åtkomst till denna funktion. + Du har inte åtkomst till denna funktion. + Du måste upprätta en textkanal som är tillgänglig för alla medlemmar innan du skapar en personlig inbjudningslänk. Inställningar Avancerat Lägg till det! @@ -8249,6 +8344,9 @@ Oregistrerat konto Ljud på Ångra + Ta bort favoritmarkering för kanal + Ta bort favoritmarkering för DM + Ta bort favoritmarkering för grupp-DM Ta bort favoritmarkering Sluta fokusera på denna person Tyvärr, hittade inga applikationer på enheten för att hantera denna länk: @@ -8645,6 +8743,10 @@ Du måste ha tryck-för-tal aktiverat för att tala i denna kanal. Tryck-för-tal krävs Personlig inbjudningslänk + Kom ihåg att personliga inbjudningslänkar kräver att en textkanal är tillgänglig för alla medlemmar för att de ska fungera. + Personlig inbjudningslänk ({uses}) + Gör din server mer tillgänglig med en snitsig personlig inbjudningslänk som du själv väljer. Tänk på att detta gör din server offentligt tillgänglig för alla som använder denna länk. + Tänk på att vi kan ta tillbaka personliga inbjudningslänkar om vi upptäcker missbruk eller om det föreligger immaterialrättsliga konflikter. Den här servern är nu tillgänglig för alla via **!!{url}!!** Den här servern är nu tillgänglig för alla via [!!{urlText}!!]({urlValue}) din-url-här diff --git a/app/src/main/res/values-th/plurals.xml b/app/src/main/res/values-th/plurals.xml index e7ba7bc954..2c8ce73d79 100644 --- a/app/src/main/res/values-th/plurals.xml +++ b/app/src/main/res/values-th/plurals.xml @@ -944,6 +944,14 @@ {#} บูสต์ถูกใช้งานแล้ว {#} บูสต์ถูกใช้งานแล้ว + + {#} เดือน + {#} เดือน + + + {#} เดือน + {#} เดือน + {#} บูสต์ {#} บูสต์ @@ -1040,6 +1048,10 @@ {#} บูสต์ {#} บูสต์ + + บูสต์เซิร์ฟเวอร์ + บูสต์เซิร์ฟเวอร์ + {#} เดือน {#} เดือน @@ -1432,6 +1444,10 @@ 1 คน {count} คน + + 1 ครั้ง + {uses} ครั้ง + 1 ครั้ง {uses} ครั้ง diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 85b0875e87..c4ae3e9ccc 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -1196,6 +1196,7 @@ เปลี่ยนสัญลักษณ์ประจำตัวของเซิร์ฟเวอร์ เปลี่ยน ไอคอน แก้ไขโปรไฟล์เซิร์ฟเวอร์ + สัญลักษณ์ประจำตัวและแบนเนอร์โปรไฟล์ ประวัติของเซิร์ฟเวอร์ หากปล่อยว่างไว้ ประวัติหลักของคุณจะถูกนำมาใช้ บอกให้เซิร์ฟเวอร์รู้จักคุณเพิ่มอีกสักนิด @@ -1203,6 +1204,7 @@ ใช้สัญลักษณ์ประจำตัวที่แตกต่างกันในแต่ละเซิร์ฟเวอร์ของคุณ และอีกมากมายด้วย Discord Nitro! ชื่อเล่น (ปิดใช้งาน) คุณสามารถเปลี่ยนลักษณะที่ผู้อื่นเห็นคุณในเซิร์ฟเวอร์นี้ได้โดยตั้งค่าชื่อเล่นและสัญลักษณ์ประจำตัวของเซิร์ฟเวอร์ + รีเซ็ตเป็นสัญลักษณ์ประจำตัวเริ่มต้น ข้อผิดพลาดที่ไม่รู้จัก เปลี่ยนสัญลักษณ์ประจำตัวของ เซิร์ฟเวอร์ ใช้สัญลักษณ์ประจำตัวที่แตกต่างกันในแต่ละเซิร์ฟเวอร์ของคุณ และอีกมากมายด้วย **Discord Nitro!** @@ -1225,6 +1227,7 @@ เปลี่ยนรหัสผ่าน เปลี่ยนเบอร์โทรศัพท์ เปลี่ยนภาพพื้นหลัง + ไม่สามารถเปลี่ยนลิงก์คำเชิญแบบกำหนดเองได้เนื่องจากมีตัวอักษรที่ไม่ถูกต้อง สั้นเกินไป หรือมีผู้ใช้แล้ว ลิงก์คำเชิญแบบกำหนดเองใช้ได้เฉพาะตัวอักษร เลข หรือขีดกลางเท่านั้น เนื้อหาบันทึกการเปลี่ยนแปลง แสดงหน้าหลักใหม่ของเราให้เพื่อนดูสิ! เราพร้อมแล้วที่จะสร้างความประทับใจที่ดี เรียนรู้เพิ่มเติม @@ -1240,16 +1243,6 @@ ผู้เข้าร่วม ช่องถูกลบ ส่วนหัวของช่อง - ข้อมูลช่อง - การปิดแจ้งเตือนจะป้องกันไม่ให้ตัวระบุข้อความที่ยังไม่อ่านและการแจ้งเตือนใด ๆ ปรากฏ ยกเว้นว่าถูกกล่าวถึง - ชื่อ - การแจ้งเตือน - รายละเอียด - หัวข้อ - แก้ไข - การตั้งค่าของคุณ - ซ่อนข้อมูลช่อง - แสดงข้อมูลช่อง ตำแหน่งของคุณไม่มีสิทธิเข้าช่องนี้ ช่องถูกล็อก การอนุญาตซิงค์กับหมวดหมู่: **{categoryName}** @@ -1357,6 +1350,7 @@ รับสิทธิ์ ล้าง ล้างไฟล์แนบ + ล้าง Build Override ล้างข้อความ คลิกที่นี่เพื่อเรียนรู้เพิ่มเติม คัดลอกช่อง @@ -1933,6 +1927,7 @@ !!{a}!!, !!{b}!! และอีก {n}กำลังอยู่ในช่องสำหรับพูด ขณะนี้ไม่มีใครอยู่ในช่องสำหรับพูด สีที่กำหนดเอง + โปรดทราบว่าลิงก์คำเชิญแบบกำหนดเองต้องใช้ช่องข้อความหนึ่งช่องสำหรับเข้าถึงสมาชิกทุกคนเพื่อให้สามารถใช้งานได้ สถานะกำหนดเอง ล้างภายหลัง ล้างสถานะ @@ -2261,6 +2256,7 @@ กิจกรรม เริ่มเล่นด้วยกันได้แล้วในช่องสำหรับพูด! ใหม่! กิจกรรม + เล่นด้วยกันได้ฟรีในช่องสำหรับพูด ปลดล็อกกิจกรรมเพิ่มเติมด้วยการบูสต์! กิจกรรมอื่น อีโมจิ เพิ่มในรายการโปรด @@ -2310,6 +2306,7 @@ อิโมจินี้มาจากเซิร์ฟเวอร์ที่อาจเป็นส่วนตัวหรือไม่พร้อมใช้งาน [เรียนรู้เพิ่มเติม](openPremiumSettings)เกี่ยวกับการใช้อิโมจิแบบกำหนดเอง ลบออกจากรายการโปรด {count} พร้อมใช้งาน + อีโมจินั้นใหญ่ไป! อีโมจิต้องไม่เกิน {maxSize} KB คลิกที่นี่เพื่อเรียนรู้เพิ่มเติม {count} @mention ผู้ใช้เพื่อเพิ่มผู้ใช้รายนั้นในเธรดส่วนตัวนี้ @@ -2482,10 +2479,18 @@ คัดลอกลิงก์ เปิดในเบราว์เซอร์ แชร์ลิงก์ + เพิ่มช่องเป็นรายการโปรด + เพิ่ม DM เป็นรายการโปรด + เพิ่มกลุ่ม DM เป็นรายการโปรด คุณไม่สามารถมีรายการโปรดมากกว่านี้ได้ ตั้งเป็นรายการโปรด + เชิญพบกับฟีเจอร์ใหม่ของคุณใน Discord ฟีเจอร์ “รายการโปรด”! เพิ่มรายการโปรดโดยการติดดาวช่อง แชทเสียง และ DM ผ่านทางเมนูเฉพาะ + สิ่งที่ชอบ + ไปที่เซิร์ฟเวอร์ดั้งเดิม + สิ่งที่ชอบ คุณมีรายการโปรดได้ไม่เกิน {count} รายการ โอ้ไม่นะ! + ชื่อนี้จะปรากฏในรายการโปรดของคุณเท่านั้น เบ็ดเตล็ด อธิบายถึงปัญหาของคุณ ปัญหาของคุณ @@ -2547,6 +2552,7 @@ ลดระดับเสียงของแอพอื่นๆ โดยเปอร์เซ็นต์นี้ เมื่อมีคนอื่นพูด ตั้งค่าให้เป็น 0%% เพื่อปิดการลดระดับเสียง เธรดจะเก็บถาวรหลังจากไม่มีการใช้งานตามระยะเวลาที่กำหนด หากตัวบอกสัญญาเป็นตัวเขียว แสดงว่า Discord กำลังส่งเสียงไพเราะของคุณอยู่ + บิตทั้งหมด! ค่าที่มากกว่า {bitrate} kbps อาจส่งผลเสียต่อคนที่การเชื่อมต่อไม่ดี เมื่อคุณใช้ไมโครโฟนที่ Discord รับรอง ระบบการประมวลผลสัญญาณเสียงบางส่วนจะไม่ได้จัดการโดย Discord อีก แต่จะจัดการโดยไมโครโฟน เปลี่ยนการตั้งค่าความเป็นส่วนตัวและปรับลักษณะการทำสิ่งต่าง ๆ กับแชนแนลนี้ บันทึกข้อมูล RTP ทั้งหมดที่ได้รับสำหรับการเชื่อมต่อเสียง/วิดีโอครั้งถัดไปเพื่อนำไปใช้แก้ไขปัญหา @@ -2739,6 +2745,7 @@ ทดสอบไมโครโฟนของฉัน ระบบแปลงข้อความเป็นเสียงพูด การแจ้งเตือนระบบอ่านออกเสียง + เปิดเสียงเหตุการณ์ใหม่ เปิดแจ้งเตือน **!!{name}!!** กล่องข้อความ จำกัดผู้ใช้ @@ -2778,6 +2785,7 @@ สมาชิกเซิร์ฟเวอร์ ยืนยัน ยกเลิก + ยกเลิกคำขอเป็นเพื่อนแล้ว หืม เกิดข้อผิดพลาดบางอย่างขึ้นขณะที่ส่งคำขอเป็นเพื่อน คุณสามารถลองส่งอีกครั้งได้ในภายหลังจากรายชื่อเพื่อน หืม เกิดข้อผิดพลาดบางอย่างขึ้นขณะที่ส่งคำขอเป็นเพื่อนให้ !!{name}!! คุณสามารถลองส่งอีกครั้งได้ในภายหลังจากรายชื่อเพื่อน การส่งคำขอเป็นเพื่อนล้มเหลว @@ -3097,6 +3105,9 @@ กำลังดู {username} ไปยังช่อง เข้าใจแล้ว + เกิดข้อผิดพลาดขึ้นกับการซื้อของคุณ โปรดรอสักครู่แล้วลองอีกครั้ง + โอ้ไม่นะ! + ไม่สามารถเชื่อมต่อกับบริการ Google Play ได้ โปรดรอแล้วลองอีกครั้ง ให้สิทธิสมาชิกชั่วคราว สีเขียว สีเทา @@ -3144,9 +3155,9 @@ ยอดเยี่ยมเลย! เรียนรู้เพิ่มเติม ภายหลัง - บูสต์เป็นระดับที่ 1 วันนี้แล้วเพิ่มคุณภาพเสียงจาก 96kbps เป็น 128kbps - บูสต์เป็นระดับที่ 2 วันนี้แล้วเพิ่มคุณภาพเสียงจาก 128kbps เป็น 256kbps - บูสต์เป็นระดับที่ 3 วันนี้แล้วเพิ่มคุณภาพเสียงจาก 256kbps เป็น 384kbps + บูสต์เป็นระดับที่ 1 เพื่อเสียงที่นุ่มขึ้นเพื่อให้ทุกคนรู้สึกเหมือนอยู่ในห้องเดียวกัน + บูสต์เป็นระดับที่ 2 เพื่อเสียงที่นุ่มขึ้นเพื่อให้ทุกคนรู้สึกเหมือนอยู่ในห้องเดียวกัน + บูสต์เป็นระดับที่ 3 วันนี้ พร้อมเพิ่มคุณภาพเสียงจาก 256 kbps เป็น 384 kbps รู้หรือไม่ว่าคุณสามารถรับคุณภาพเสียงที่ดีขึ้นได้ด้วยการบูสต์ คุณถึงขีดจำกัด 100 เซิร์ฟเวอร์ เพิ่มเซิร์ฟเวอร์ที่คุณเข้าร่วมได้อีกสองเท่า เป็น 200 เซิร์ฟเวอร์ @@ -3196,6 +3207,7 @@ ตั้งแต่การเล่นเกม ดนตรี ไปจนถึงการเรียนรู้ เรามีที่สำหรับคุณ ค้นหาชุมชนของคุณใน Discord ติดตามการอัปเดต + ค้นหาชุมชนของคุณ ค้นหาชุมชน ชุมชนยอดนิยม !!{username}!! คุณอาจจะชอบเซิร์ฟเวอร์เหล่านี้ @@ -3314,18 +3326,40 @@ สร้าง {count} {number} + ทำไมไม่ลองเริ่มเขียนดูล่ะ! + เซิร์ฟเวอร์นี้ยังไม่มีข้อความยอดนิยมเลย + โปรดรีโหลดหน้าหรือลองไปดู[หน้าสถานะ]({url}) + อุ๊ย! ดูเหมือนว่าคุณพบปัญหาที่แทบจะไม่เคยเกิดขึ้น + รีเฟรชเพื่อดูสิ่งที่กำลังเกิดขึ้น + ตอนนี้เท่านี้ก่อน! แต่เดี๋ยวก่อน อาจจะมีบางสิ่งเพิ่มเติม… + เปิดข้อความจาก !!{channelName}!! ในแถบด้านข้าง + {maxReplies}+ ตอบกลับ {numReplies} + รีโหลด ข้อความยอดนิยม + คุณเห็นข้อความยอดนิยมทั้งหมดจาก 2 อาทิตย์ก่อนแล้ว + คุณทำทุกอย่างเสร็จหมดแล้ว สีโฟลเดอร์ ชื่อโฟลเดอร์ !!{folderName}!!, โฟลเดอร์ {mentions} !!{folderName}!!, โฟลเดอร์ {mentions}, !!{expandedState}!! โฟลเดอร์เซิร์ฟเวอร์ที่ไม่มีชื่อ บันทึกการตั้งค่าโฟลเดอร์แล้ว! + หน้าหลัก นี่คือฟีเจอร์ใหม่ที่เรากำลังทดสอบเบต้าเพื่อช่วยให้คุณติดตามสิ่งที่เกิดขึ้นในเซิร์ฟเวอร์ได้ หน้าหลัก - !!{guildName}!! + เปลี่ยนแบนเนอร์โปรไฟล์ในเซิร์ฟเวอร์ + แตะเพื่อแก้ไขข้อมูลเกี่ยวกับฉันสำหรับเซิร์ฟเวอร์นี้ + แก้ไขข้อมูลเกี่ยวกับฉันสำหรับเซิร์ฟเวอร์นี้ + หากปล่อยว่างไว้ ระบบจะใช้ส่วนเกี่ยวกับฉันที่เป็นค่าเริ่มต้นของคุณ + แตะเพื่อเพิ่มข้อมูลเกี่ยวกับฉันสำหรับเซิร์ฟเวอร์นี้ ประวัติของเซิร์ฟเวอร์สำหรับ !!{guildName}!! + เปลี่ยนแบนเนอร์โปรไฟล์ในเซิร์ฟเวอร์ + ลบสัญลักษณ์ประจำตัวของเซิร์ฟเวอร์ + แบนเนอร์โปรไฟล์ของเซิร์ฟเวอร์ + รีเซ็ตเป็นแบนเนอร์เริ่มต้น ต้องการอย่างอื่นเพิ่มเติมเหรอ ปรับแต่งโปรไฟล์เซิร์ฟเวอร์อย่างเต็มรูปแบบด้วย Nitro + อัปโหลดแบนเนอร์โปรไฟล์ในเซิร์ฟเวอร์ เป็นตัวตนที่คุณต้องการและใช้สัญลักษณ์ประจำตัว แบนเนอร์ และประวัติที่แตกต่างกันในแต่ละเซิร์ฟเวอร์ของคุณ ปลดล็อกสัญลักษณ์ประจำตัวแบบเคลื่อนไหว และอีกมากมายด้วย [Discord Nitro!](onAndMore) แสดงตัวตนของคุณด้วยโปรไฟล์เซิร์ฟเวอร์อย่างเต็มรูปแบบ เชิญเข้าสู่เซิร์ฟเวอร์ @@ -3359,6 +3393,8 @@ ลิงก์การยืนยันหมดอายุแล้ว การยืนยันสำเร็จ กำลังยืนยันคำขอของคุณ + ดูการตั้งค่าเซิร์ฟเวอร์ + ที่นี่ค่อนข้างยุ่ง! พิจารณาเปลี่ยนการตั้งค่าการแจ้งเตือนเริ่มต้นของเซิร์ฟเวอร์นี้เป็น **@mentions เท่านั้น** เพื่อช่วยเหลือสมาชิกของคุณ แจ้งเตือน @everyone แจ้งให้ @everyone ทราบว่ากิจกรรมนี้กำลังจะเริ่มต้นขึ้น $[บอก @everyone ว่าเวทีนี้กำลังจะเริ่ม](tooltipHook) [เปิดใช้งาน](toggleClick) @@ -3582,6 +3618,8 @@ $[**!!{user}!!**](userHook) ทำการเปลี่ยนแปลงกับ $[**!!{target}!!**](targetHook) ตั้งช่องอัปเดตข่าวสารของเซิร์ฟเวอร์ชุมชนเป็น **!!{newValue}!!** **ล้าง** ช่องอัปเดตข่าวสารของเซิร์ฟเวอร์ชุมชน + ตั้งค่าลิงก์คำเชิญแบบกำหนดเองให้กับ **!!{newValue}!!** + **ลบ**ลิงก์คำเชิญแบบกำหนดเองแล้ว ตั้งระดับการยืนยันเซิร์ฟเวอร์เป็น **สูง** ตั้งระดับการยืนยันเซิร์ฟเวอร์เป็น **ต่ำ** ตั้งระดับการยืนยันเซิร์ฟเวอร์เป็น **ปานกลาง** @@ -3741,7 +3779,6 @@ เราแนะนำให้ตั้งค่านี้เป็น @mentions เท่านั้นสำหรับ Discord สาธารณะ เนื่องจากเซิร์ฟเวอร์นี้มีขนาดใหญ่ สมาชิกของเซิร์ฟเวอร์จะไม่ได้รับการแจ้งเตือนแบบพุชบนมือถือหากข้อความดังกล่าวไม่ได้ใช้ฟีเจอร์ @mention ปิดใช้งานการค้นพบ - การปิดใช้งานข้อกำหนดของสมาชิกจะทำให้คนอื่นสามารถเข้าร่วมชุมชนของคุณได้โดยไม่ต้องยอมรับกฎหรือไม่ต้องได้รับการอนุมัติด้วยตนเองจากคุณ คุณแน่ใจไหม? เฉพาะผู้ดูแลเซิร์ฟเวอร์เท่านั้นที่สามารถเปิดหรือปิดใช้งานการค้นพบได้ เปิดใช้ข้อกำหนด 2FA สำหรับการคัดกรอง @@ -3794,6 +3831,10 @@ การปิดใช้งานชุมชนจะลบเซิร์ฟเวอร์ของคุณออกจากการค้นพบเซิร์ฟเวอร์เช่นกัน เซิร์ฟเวอร์นี้ถูกลบออกจากการค้นพบ เซิร์ฟเวอร์นี้ไม่ตรงตามข้อกำหนดด้านล่างและได้ถูกลบออกจากการค้นพบโดยอัตโนมัติ ไม่ต้องห่วง คุณจะเข้าร่วมได้อีกครั้งเมื่อผ่านเกณฑ์ ข้อกำหนดด้านกิจกรรมจะคำนวณใหม่ทุกสัปดาห์ + การดำเนินการนี้จะทำให้ข้อมูลปรากฏขึ้นเมื่อคลิกอีโมจิแบบกำหนดเองหรือสติกเกอร์จากเซิร์ฟเวอร์ของคุณในแชทใดก็ตาม ผู้ใช้จะสามารถมองเห็นและเข้าร่วมเซิร์ฟเวอร์ของคุณได้ผ่านทางข้อมูลที่แสดง + ปิดใช้งานข้อมูลอีโมจิ/สติกเกอร์ + เปิดใช้งานข้อมูลอีโมจิ/สติกเกอร์ + คลิกเพื่อแสดงข้อมูลอีโมจิ/สติกเกอร์ ขยายชุมชนของคุณด้วยการค้นพบเซิร์ฟเวอร์ Discord จะแสดงเซิร์ฟเวอร์นี้ในการค้นหาให้แก่ผู้ใช้ที่พูดภาษาที่กำหนดไว้เป็นอันดับแรก การมีรายชื่อใน[การค้นพบเซิร์ฟเวอร์](onLinkClick)ช่วยให้ทุกคนสามารถค้นหาและเข้าร่วมเซิร์ฟเวอร์ของคุณได้ @@ -3808,6 +3849,7 @@ หมวดหมู่ย่อย ชื่อเล่น ใส่ชื่อเล่น + เพิ่มอีโมจิแบบกำหนดเองให้ทุกคนในเซิร์ฟเวอร์นี้ใช้ได้ถึง {count} ตัว สมาชิกที่มี Discord Nitro จะสามารถใช้อีโมจิ GIF แบบเคลื่อนไหวได้ ชื่ออีโมจิต้องมีความยาวอย่างน้อย 2 ตัวอักษรและต้องประกอบไปด้วยตัวอักษร ตัวเลข และขีดเส้นใต้เท่านั้น อีโมจิต้องมีขนาดเล็กกว่า {maxSize} KB บูสต์เซิร์ฟเวอร์ของคุณเป็นระดับ {level} เพื่อปลดล็อกช่องอีโมจิเพิ่มอีก! อีโมจิระดับ {level} หายไป บูสต์เซิร์ฟเวอร์ของคุณเป็นระดับ {level} หรือซื้อระดับเพื่อปลดล็อกอีโมจิของคุณ! @@ -3854,6 +3896,8 @@ ตัวเลือกการเก็บถาวรเธรดแบบ 1 สัปดาห์ สร้างเธรดส่วนตัว แบนเนอร์เซิร์ฟเวอร์แบบเคลื่อนไหว + ลิงก์คำเชิญแบบกำหนดเองสำหรับเซิร์ฟเวอร์ + คุณภาพเสียง {bitrate} kbps +{adding} ช่องเซิร์ฟเวอร์อีโมจิ (สำหรับทั้งหมดของ {total}) +{adding} ช่องสติกเกอร์แบบกำหนดเอง (รวม {total} ช่อง) {fileSize} ขีดจำกัดการอัพโหลดสำหรับสมาชิกทั้งหมด @@ -4593,6 +4637,14 @@ !!{name}!! อีโมจิ !!{name}!! ไอคอน !!{name}!! โลโก้ + ช่องคืออะไร + ช่องเป็นที่ที่คุณสามารถพูดคุย เข้าสู่ช่องเพื่อพูด เล่นเกม และอีกมากมาย ทุกเซิร์ฟเวอร์จะมีรายการช่องที่คุณสามารถเลื่อนผ่านเพื่อดูสิ่งที่กำลังเกิดขึ้นได้ + ข้อความส่วนตัว + ข้อความส่วนตัวเป็นแบบแยกส่วนออกจากเซิร์ฟเวอร์ คุณสามารถ DM เพื่อนแบบส่วนตัวเพื่อพูดคุยอย่างรวดเร็ว หรือสร้าง DM กลุ่มที่มีคนได้สูงถึง 10 คน + ต้องการให้ช่วยเพิ่มเติมไหม + ไม่พบสิ่งที่คุณต้องการเหรอ [ไปที่ศูนย์ช่วยเหลือ]({helpCenterUrl})ของเราเพื่อดูข้อมูลเพิ่มเติม + เซิร์ฟเวอร์คืออะไร + เซิร์ฟเวอร์เป็นที่ที่คุณสามารถสังสรรค์กับเพื่อนและพบปะผู้คน เซิร์ฟเวอร์ส่วนใหญ่เป็นแบบส่วนตัวและมีไว้สำหรับผู้ที่ได้รับคำเชิญเท่านั้น ใน !!{categoryName}!! การตั้งค่าเสียงในเกม อยู่ในช่องสำหรับพูดคุย @@ -4611,6 +4663,7 @@ สนใจ ไม่ดีกว่า เมื่ออัปโหลดขึ้นบน Discord โดยตรง + รูปภาพที่มีขนาดใหญ่กว่า {maxSize} MB จะไม่มีการแสดงตัวอย่าง เมื่อโพสลิงก์ในแชท แสดงรูปภาพ วีดีโอ และภาพแมวมุ้งมิ้ง อุปกรณ์รับข้อมูล @@ -4682,6 +4735,7 @@ การสมัครนี้ไม่มีคำสั่ง แอปพลิเคชั่นนี้ไม่มีเว็บฮุกในเซิร์ฟเวอร์ คุณแทนที่การอนุญาตจนครบจำนวนสูงสุดแล้ว + คุณมีการอนุญาตครบจำนวนสูงสุดแล้ว ลบ {removeCount} ของพวกเขาเพื่อทำการเปลี่ยนแปลงเพิ่มเติม ลบการรวม คุณแน่ใจว่าต้องการลบ **!!{applicationName}!!** หรือไม่ เกิดปัญหาผิดพลาดของเซิร์ฟเวอร์ภายใน @@ -4841,6 +4895,7 @@ ไปเพิ่มเพื่อนกันเถอะ! เชิญคน หัวขึ้น! เพื่อนที่คุณเชิญสามารถดูประวัติข้อความก่อนหน้าได้ + ช่องนี้เป็นช่องส่วนตัว จะมีเพียงสมาชิกและตำแหน่งที่เลือกไว้เท่านั้นที่จะดูช่องนี้ได้ ค้นหาเพื่อน ส่งคำเชิญแล้ว !!{maxAge}!!, !!{maxUses}!! @@ -4851,6 +4906,7 @@ หรือส่งลิงก์คำเชิญเข้าชมการถ่ายทอดสดให้เพื่อนของคุณ เชิญเข้าร่วมการถ่ายทอดสด เชิญเข้าเซิร์ฟเวอร์ + เชิญเพื่อนเข้าสู่ **!!{name}!!** URL คำเชิญ เข้าร่วมการใช้เสียง ยินดีต้อนรับสู่เซิร์ฟเวอร์ใหม่ของคุณ! @@ -5002,6 +5058,7 @@ เตะ เตะ เตะสมาชิก + เตะ อนุมัติ และปฏิเสธสมาชิก เตะ !!{user}!! คุณแน่ใจหรือว่าจะเตะ !!{user}!! ออกจากเซิร์ฟเวอร์ พวกเขาจะสามารถกลับเข้ามาในเซิร์ฟเวอร์อีกครั้งถ้ามีคำเชิญใหม่ \'!!{user}!!\' ถูกเตะออกจากเซิร์ฟเวอร์ @@ -6182,9 +6239,21 @@ ยกเลิก !!{planPremiumType}!! หรือไม่? การยกเลิกมีผลทันทีกับการสมัครสมาชิก Nitro และบูสต์เซิร์ฟเวอร์ Discord Tag ของคุณจะถูกสุ่มหากคุณเปลี่ยน ไม่เป็นไร ฉันจะใช้ Nitro ต่อ + ไม่เป็นไร ฉันจะใช้ Nitro ต่อ **บูสต์ฟรี 2 บูสต์**และ**ส่วนลดบูสต์ 30%%** {boostCount} **ส่วนลดบูสต์ 30%%** + บูสต์ฟรี 2 บูสต์พร้อมส่วนลด 30%% + การใช้อีโมจิหรือสติกเกอร์แบบกำหนดเองที่ไหนก็ได้ + โปรไฟล์โหมด Swag และแท็กแบบกำหนดเอง + ความละเอียดสูง การสตรีมวิดีโอที่ 60 FPS + คุณได้สตรีมใน {month} + ชั่วโมง + การสตรีมวิดีโอ HD + เพิ่มการอัปโหลดไฟล์เป็น 100MB + ไฟล์ที่ใหญ่ + คุณได้ส่งใน {month} + การอัปโหลดไฟล์ที่ใหญ่ขึ้น สิทธิ์เข้าใช้งาน**อีโมจิแบบกำหนดเอง**และ**สติกเกอร์**ได้ในทุกเซิร์ฟเวอร์ของคุณ สิทธิ์เข้าถึง**อีโมจิแบบกำหนดเอง**บนเซิร์ฟเวอร์ทั้งหมดของคุณ **สัญลักษณ์ประจำตัวแบบเคลื่อนไหว** **แบนเนอร์โปรไฟล์** และ **Discord Tag** แบบกำหนดเอง @@ -6305,15 +6374,21 @@ เปิดการบูสต์เซิร์ฟเวอร์ {numSubscriptions}ที่มีอยู่ ขออภัย ขณะนี้เราไม่รองรับการยกเลิกบูสต์ที่ซื้อผ่าน !!{paymentGatewayName}!! คุณสามารถยกเลิกบูสต์ผ่านการจัดการการสมัครสมาชิก ]({subscriptionManagementLink}) ของ [!!{paymentGatewayName}!! + คุณแน่ใจหรือไม่ว่าต้องการยกเลิกการบูสต์เซิร์ฟเวอร์นี้ เราจะทุบอัญมณีนี้เป็นชิ้นๆ อัญมณีจะถูกลบออกจากเซิร์ฟเวอร์ที่เกี่ยวข้องและถูกยกเลิกจากการสมัครสมาชิกของคุณเมื่อสิ้นสุดรอบการเรียกเก็บเงินของคุณ: **{endDate}** + คุณแน่ใจหรือไม่ว่าต้องการยกเลิกการบูสต์เซิร์ฟเวอร์จากคลังของคุณ เราจะทุบอัญมณีนี้เป็นชิ้นๆ อัญมณีจะถูกลบออกจากเซิร์ฟเวอร์ที่เกี่ยวข้องและถูกยกเลิกจากการสมัครสมาชิกของคุณเมื่อสิ้นสุดรอบการเรียกเก็บเงินของคุณ: **{endDate}** ใช่ ยกเลิกการบูสต์ การสมัครสมาชิกของคุณเลยกำหนดแล้ว โปรดอัปเดตข้อมูลการชำระเงินก่อนจัดการบูสต์ การบูสต์นี้รวมอยู่ในการสมัครสมาชิก Nitro ของคุณ ยกเลิกการบูสต์ เกิดข้อผิดพลาดในการยกเลิกการบูสต์นี้ + **{subscriptionCount}** {subscriptionCount} ถูกยกเลิก + การสมัครสมาชิกการบูสต์เซิร์ฟเวอร์นี้จะถูกยกเลิกเมื่อสิ้นสุดรอบการเรียกเก็บเงินสมาชิก Nitro หรือ Nitro Classic ของคุณ **{endDate}** โปรดดูการเปลี่ยนแปลงการสมัครสมาชิกของคุณที่ด้านล่าง: ยกเลิกการบูสต์เซิร์ฟเวอร์ ยกเลิกการบูสต์เซิร์ฟเวอร์จากเซิร์ฟเวอร์ ยกเลิกการบูสต์เซิร์ฟเวอร์จากห้องเก็บ การยกเลิกการบูสต์ที่้ค้างอยู่ + เอาล่ะ เราพร้อมจะทุบอัญมณีนี้ให้คุณแล้ว การบูสต์นี้จะถูกยกเลิกใน: **{endDate}** **คุณยังสามารถใช้บูสต์นี้ได้จนกว่ามันจะถูกทำลาย!** + ยกเลิกการบูสต์แล้ว! {date} การบูสต์ตั้งแต่ {date} ({months}) เกิดความผิดพลาดในการบูสต์ โปรดลองอีกครั้ง @@ -6380,18 +6455,23 @@ การบูสต์จะปลดล็อกฟีเจอร์และการอัปเกรดที่เหนือชั้นเพื่อให้ทุกคนในเซิร์ฟเวอร์ได้เพลิดเพลิน ให้บูสต์และรับไปเลย: เข้าถึงกิจกรรมสนุกๆ เพิ่มเติม! โดดเด่นด้วยไอคอนเซิร์ฟเวอร์แบบเคลื่อนไหว - คุณภาพเสียงเพิ่มเป็น {targetQuality} Kbps + คุณภาพเสียงเพิ่มเป็น {targetQuality} kbps ปรับแต่งคำเชิญเซิร์ฟเวอร์ของคุณด้วยพื้นหลังแบบกำหนดเอง เพิ่มขีดจำกัดการอัปโหลดไฟล์เป็น 100MB แสดงให้ทุกคนเห็นจุดประสงค์ของเซิร์ฟเวอร์ของคุณด้วยแบนเนอร์เซิร์ฟเวอร์ การอัปเกรดเหนือชั้น: การอัปโหลดไฟล์ที่ใหญ่ขึ้น คุณภาพเสียงที่คมชัดกว่า และอื่น ๆ อีกมากมาย! + การอัปเกรดเหนือชั้น: ไอคอนเซิร์ฟเวอร์แบบเคลื่อนไหว ตัวเลือกเธรดเพิ่มเติม และอื่น ๆ อีกมากมาย! + การอัปเกรดเหนือชั้น: ขนาดการอัปโหลดไฟล์ที่ใหญ่ขึ้น แบนเนอร์เซิร์ฟเวอร์ ไอคอนตำแหน่งแบบกำหนดเอง และอื่น ๆ อีกมากมาย! + การอัปเกรดเหนือชั้น: ลิงก์คำเชิญแบบกำหนดเอง ช่องอีโมจิที่มากขึ้น และแบนเนอร์เซิร์ฟเวอร์แบบเคลื่อนไหว ตั้งไอคอนที่ไม่ซ้ำกันสำหรับแต่ละตำแหน่งในเซิร์ฟเวอร์ แบ่งปันหน้าจอด้วยความละเอียด 1080p/60fps แบ่งปันหน้าจอด้วยความละเอียด 720p/60fps อัปโหลดสติกเกอร์แบบกำหนดเองให้ทุกคนใช้งาน อัปโหลดสติกเกอร์แบบกำหนดเองได้สูงสุด {numStickers} รายการ และอีโมจิแบบกำหนดเอง {numEmojis} รายการ + อัปโหลดสติกเกอร์แบบกำหนดเองได้สูงสุด {numStickers} รายการ ตัวเลือกการเก็บถาวรเธรดในระยะเวลานานกว่านั้น สร้างเธรดส่วนตัว + เพิ่มสมาชิกใหม่ได้ง่าย ๆ ด้วยลิงก์คำเชิญแบบกำหนดเอง เป้าหมาย: {levelName} ซื้อบูสต์เพื่อช่วยปลดล็อกสิทธิพิเศษ {levelName}! เซิร์ฟเวอร์นี้ได้ปลดล็อกสิทธิพิเศษการบูสต์ทั้งหมดแล้ว! @@ -6530,6 +6610,7 @@ การสมัครสมาชิกของคุณ การปรับเปลี่ยนนี้รวมถึงการแบ่งส่วน, ส่วนลดและการคืนเงิน นี่คือการสมัครสมาชิกปัจจุบันของคุณ ระบบจะเรียกเก็บเงินในรอบการเรียกเก็บเงินเดียวกัน + {planName} ยกเลิกแล้ว !!{planName}!! เครดิต เครดิตนี้จะมีผลเมื่อคุณสมัครใช้งาน !!{planName}!! การสมัครสมาชิก เครดิตนี้สามารถนำไปใช้กับ !!{planName}!! การสมัครใช้งานที่ซื้อไว้สำหรับเดสก์ท็อป @@ -6711,8 +6792,11 @@ การดำเนินการกับโปรไฟล์ อัปโหลดแบนเนอร์ที่ปรับแต่งตามสไตล์ของคุณเองและอีกมากมายด้วย Discord Nitro! $[](renderTimeHook) ผ่านไป + ขนาดเล็กสุดและอัตรากว้างยาวที่แนะนำคือ 600x240 และ 5:2 ประเภทไฟล์ที่รองรับ ได้แก่ PNG, JPG และภาพเคลื่อนไหว GIF บอกให้เซิร์ฟเวอร์รู้จักคุณเพิ่มอีกสักนิด + อย่าบันทึก บันทึกการเปลี่ยนแปลงหรือไม่ + คุณได้ทำการเปลี่ยนแปลง คุณต้องการบันทึกข้อมูลนี้ก่อนออกจากหน้านี้หรือไม่ พิเศษเฉพาะ Nitro แสดงตัวอย่าง เหรียญตราผู้ใช้ @@ -6873,6 +6957,7 @@ นำการหมดเวลาออก ลบการหมดเวลาจาก \'!!{user}!!\' ลบ !!{user}!! ออกจากเธรด + ลบลิงก์คำเชิญแบบกำหนดเอง แสดงการฝังและลิงก์เว็บไซต์ตัวอย่างที่วางในแชท การฝังและตัวอย่างลิงก์ แสดงการตอบสนองด้วยอีโมจิบนข้อความ @@ -7009,11 +7094,13 @@ การอนุญาตตั้งต้นสำหรับสมาชิกในเซิร์ฟเวอร์ทุกคน ไอคอนตำแหน่ง {name} เลือกภาพ + อัปโหลดภาพที่มีขนาดไม่เกิน 256 KB หรือเลือกอีโมจิแบบกำหนดเองจากเซิร์ฟเวอร์นี้ เราแนะนำให้ใช้ภาพขนาดอย่างน้อย 64x64 พิกเซล สมาชิกจะเห็นไอคอนตำแหน่งสูงสุดของตัวเองหากพวกเขามีหลายตำแหน่ง เรียนรู้เพิ่มเติม ไอคอนบทบาทแบบกำหนดเองสำหรับ {name} ฟีเจอร์นี้เป็นส่วนหนึ่งของการบูสต์เซิร์ฟเวอร์ อีโมจิ อัปโหลดภาพ เรียกดูไฟล์ + โอ้ไม่นะ! ไฟล์ใหญ่เกินไป โปรดเลือกไฟล์ .png หรือ .jpg ขนาดไม่เกิน 256 KB เลือกไฟล์ PNG หรือ JPG เพื่ออัปโหลด ไอดีที่คัดลอกสำหรับตำแหน่ง: {role} สมาชิกจะใช้สีของบทบาทที่สูงสุดที่ตนเองมีในรายชื่อนี้ ลากบทบาทเพื่อเปลี่ยนลำดับ @@ -7089,6 +7176,7 @@ อนุญาตให้สมาชิกแชร์เพื่อแสดงเนื้อหาที่ฝังอยู่ในแชนแนลเหล่านี้ อนุญาตให้สมาชิกแชร์เพื่อแสดงเนื้อหาที่ฝังอยู่ในแชนแนลนี้ ไม่พบสิทธิ์อนุญาต + การเตะจะลบสมาชิกคนอื่นออกจากเซิร์ฟเวอร์นี้ สมาชิกที่ถูกเตะออกจะเข้าร่วมใหม่ได้หากมีคำเชิญ หากเซิร์ฟเวอร์เปิดใช้งานข้อกำหนดสำหรับสมาชิก การอนุญาตนี้จะเปิดใช้งานความสามารถในการอนุมัติหรือปฏิเสธสมาชิกที่ขอเข้าร่วม อนุญาตให้สมาชิกลบสมาชิกคนอื่นออกจากเซิร์ฟเวอร์ได้ สมาชิกที่ถูกเตะออกจะเข้าร่วมใหม่ได้หากมีคำเชิญ อนุญาตให้สมาชิกเปลี่ยนชื่อ คำอธิบาย และการตั้งค่าข้อความ / เสียงของแชนแนลเหล่านี้ สมาชิกยังสามารถลบแชนแนลเหล่านี้ได้ (ผู้ดูแลเวทีโปรดทราบ) อนุญาตให้สมาชิกตั้งหัวข้อเพื่อตั้งเวที และเปิดหรือปิดใช้งานคำขอพูด นอกจากนี้ พวกเขายังสามารถลบช่องเวทีได้อีกด้วย @@ -7561,11 +7649,15 @@ อนุญาตให้ใช้ตัวอักษรพิเศษคือเครื่องหมายขีดกลางเท่านั้น แท็กอยู่ตรงนี้ ในการค้นพบเซิร์ฟเวอร์ คุณสามารถค้นหาตามชื่อ คำบรรยาย และแท็กได้ โดยคุณสามารถเพิ่มได้ถึง 10 รายการ + เซิร์ฟเวอร์ที่มีสมาชิก {count} คนมีสิทธิ์เข้าร่วมการค้นพบเซิร์ฟเวอร์แล้วตอนนี้ + พัฒนาชุมชนของคุณให้เติบโตเร็วขึ้น อิโมจิของเซิร์ฟเวอร์ ปิดโฟลเดอร์ทั้งหมด ทำเครื่องหมายโฟลเดอร์ว่าอ่านแล้ว + ปิดเสียงเซิร์ฟเวอร์ทั้งหมดในโฟลเดอร์ โฟลเดอร์เซิร์ฟเวอร์ การตั้งค่าโฟลเดอร์ + เปิดเสียงเซิร์ฟเวอร์ทั้งหมดในโฟลเดอร์ ข้อมูลเชิงลึกของเซิร์ฟเวอร์ ขณะนี้เซิร์ฟเวอร์เต็มแล้ว ปิดเสียงเซิร์ฟเวอร์ @@ -7588,6 +7680,9 @@ การจะเปลี่ยนแปลงการบันทึกการดีบักนั้นคุณต้องปิด Discord และเปิดใหม่อีกครั้ง คุณแน่ใจว่าต้องการทำเช่นนี้หรือไม่? ตั้งลิงก์นี้ไม่ให้หมดอายุ ตั้งสถานะ + เซิร์ฟเวอร์ของคุณไม่มีสิทธิ์การเข้าถึงฟีเจอร์นี้ + คุณไม่มีสิทธิ์การเข้าถึงฟีเจอร์นี้ + คุณต้องตั้งค่าช่องข้อความที่สมาชิกทุกคนสามารถเข้าถึงได้ก่อนตั้งค่าลิงก์คำเชิญแบบกำหนดเอง การตั้งค่า ขั้นสูง เพิ่มเลย! @@ -8408,6 +8503,9 @@ บัญชีนี้ยังไม่มีเจ้าของ เปิดการได้ยิน ทำกลับ + นำช่องออกจากรายการโปรด + นำ DM ออกจากรายการโปรด + นำกลุ่ม DM ออกจากรายการโปรด นำออกจากรายการโปรด หยุดโฟกัสบุคคลนี้ ขอโทษที ไม่มีแอปพลิเคชันในอุปกรณ์ของคุณอันไหนที่สามารถอ่านลิงก์นี้ได้ @@ -8806,6 +8904,10 @@ คุณต้องเปิดใช้งานการกดเพื่อพูดคุยถึงจะสามารถพูดในช่องนี้ได้ ต้องการ \"กดเพื่อพูดคุย\" ลิงก์คำเชิญแบบกำหนดเอง + โปรดทราบว่าลิงก์คำเชิญแบบกำหนดเองต้องใช้ช่องข้อความหนึ่งช่องสำหรับเข้าถึงสมาชิกทุกคนเพื่อให้สามารถใช้งานได้ + ลิงก์คำเชิญแบบกำหนดเอง ({uses}) + ทำให้เซิร์ฟเวอร์ของคุณเข้าถึงได้ง่าย ๆ ด้วยลิงก์คำเชิญสุดเท่แบบกำหนดเองดั่งใจคุณ โปรดทราบว่าการดำเนินการนี้จะทำให้เซิร์ฟเวอร์ของคุณเป็นสาธารณะแก่ทุกคนที่ใช้ลิงก์นี้ + โปรดคำนึงไว้ว่าเราอาจขอลิงก์คำเชิญแบบกำหนดเองคืน หากพบว่ามีการใช้ในทางที่ผิดหรือเกิดข้อพิพาทด้านทรัพย์สินทางปัญญา เซิร์ฟเวอร์นี้สามารถเข้าถึงได้โดยทุกคนที่ **!!{url}!!** เซิร์ฟเวอร์นี้สามารถเข้าถึงได้โดยทุกคนที่ [!!{urlText}!!]({urlValue}) your-url-here diff --git a/app/src/main/res/values-tr/plurals.xml b/app/src/main/res/values-tr/plurals.xml index 5d1730f8c7..0cd5b4338d 100644 --- a/app/src/main/res/values-tr/plurals.xml +++ b/app/src/main/res/values-tr/plurals.xml @@ -944,6 +944,14 @@ {#} uygulanmış takviye {#} uygulanmış takviye + + {#} ay + {#} ay + + + {#} ay + {#} ay + {#} Takviye {#} Takviye @@ -1040,6 +1048,10 @@ Takviye {#} Takviye + + Sunucu Takviyesi + Sunucu Takviyesi + {#} Ay {#} Ay @@ -1432,6 +1444,10 @@ 1 kişi daha {count} kişi daha + + 1 kullanım + {uses} kullanım + 1 kullanım {uses} kullanım diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 637a2806e1..bdc067e56b 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -1196,6 +1196,7 @@ Sunucu Avatarını Değiştir Simge Değiştir Sunucu Profilini Düzenle + Avatar ve Profil Afişi Sunucu Biyografisi Boş bırakıldığında ana biyografin kullanılır. Bu sunucuya kendini tanıt @@ -1203,6 +1204,7 @@ Discord Nitro ile sunucularında farklı avatarlar kullan ve daha fazla özelliğe eriş! Kullanıcı adı (devre dışı) Bu sunucuya özel kullanıcı adı ve avatar belirleyerek bu sunucudaki diğer kullanıcılara nasıl görüneceğini belirleyebilirsin. + Varsayılan Avatara Sıfırla Bilinmeyen hata Sunucu Avatarını Değiştir **Discord Nitro** ile sunucularında farklı avatarlar kullan ve daha fazla özelliğe eriş! @@ -1230,6 +1232,7 @@ Şifreyi Değiştir Telefon Numarası Değiştirilsin Mi? Arka Planı değiştir + Özel Davet Bağlantısı değiştirilemedi çünkü özel karakter içeriyor, çok kısa ya da zaten alınmış. Özel Davet Bağlantıları sadece harf, sayı ve tire içerebilir. Değişim Kaydı içeriği Yeni ana sayfamızı bir arkadaşına göster! İyi bir ilk izlenim oluşturmak istiyoruz. Daha Fazla Bilgi Edin @@ -1245,16 +1248,6 @@ Katılımcılar Kanal silindi. Kanal başlığı - Kanal Bilgileri - Susturmak, bahsetmeler hariç okunmamış göstergelerinin ve bildirimlerin görünmesini engeller. - Ad - Bildirimler - Detaylar - Konu - Düzenle - Ayarların - Kanal Bilgilerini Gizle - Kanal Bilgilerini Göster Rolünün bu kanala erişme izni yok. Kanal Kilitli İzinler şu kategoriyle senkronize edildi: **{categoryName}** @@ -1362,6 +1355,7 @@ Al Temizle Ek Dosyaları Temizle + Yapı Geçersiz Kılmayı Temizle Metni temizle Daha fazla bilgi almak için tıkla Kanalı Kopyala @@ -1943,6 +1937,7 @@ !!{a}!!, !!{b}!! ve {n} şu an sesli sohbette. Şu an sesli sohbette kimse yok. Özel renk + Özel Davet Bağlantılarının işe yaraması için tüm üyelerin erişebildiği bir metin kanalı olması gerektiğini unutma. Özel Durum Sonrasında temizle Durumu temizle @@ -2271,6 +2266,7 @@ bir Etkinlik Birlikte sesli oynamaya başlayın! YENİ! Etkinlikler + Herhangi bir ses kanalında beraber ücretsiz oynayın. Takviyeyle daha çok etkinlik aç! başka bir Etkinlik Emoji Favorilerine ekle @@ -2320,6 +2316,7 @@ Bu emoji özel veya kullanım dışı olan bir sunucudan geliyor. Özel emoji kullanımı hakkında [daha fazla bilgi al.](openPremiumSettings) Favorilerden çıkar {count} mevcut + Bu emoji çok büyük! Emojiler en fazla {maxSize} KB olabilir. Daha fazla bilgi almak için tıkla {count} Kullanıcıları bu özel alt başlığa eklemek için @bahsetme özelliğini kullan. @@ -2492,10 +2489,18 @@ Bağlantıyı kopyala Tarayıcıda aç Bağlantıyı paylaş + Kanalı Favorilere Ekle + DM\'yi Favorilere Ekle + Grup DM\'sini Favorilere Ekle Daha fazla favorin olamaz. Favori + Yeni favori Discord özelliğinle tanış! Kanalları, sesli sohbetleri ve DM\'leri içerik menülerinden yıldızlayarak favorilerine ekle. + Favoriler + Orijinal sunucuya git + Favoriler En fazla {count} favorin olabilir. Olamaz! + Bu isim sadece favorilerinde gözükür. Çeşitli Sorununu açıkla Sorunun @@ -2557,6 +2562,7 @@ Konuşurken diğer uygulamaların sesini bu kadar kıs. Kısmayı engellemek için ayarı %%0 da kullan. Alt başlıklar, belirlenen etkin olmama süresinden sonra arşivlenecek. Gösterge sürekli yeşili gösteriyorsa Discord güzel sesini iletiyor demektir. + BİTLER FİRARDA! {bitrate} kbps\'den yukarı çıkmak bağlantısı kötü olan kişileri olumsuz etkileyebilir. Discord Onaylı bir mikrofon kullanırken belirli ses işleme özellikleri artık Discord tarafından değil, mikrofon tarafından çalıştırılır. Gizlilik ayarlarını değiştir ve üyelerin bu kanalla etkileşime geçme biçimlerini özelleştir. Hata ayıklama amacıyla bir sonraki ses/video bağlantısında alınan bütün RTP verilerini kaydeder. @@ -2749,6 +2755,7 @@ Mikrofonumu test et Metin Okuma Metin Okuma Bildirimleri + Yeni Etkinliklerin Susturmasını Kaldır **!!{name}!!** üzerindeki susturmayı kaldır Metin kutusu Kullanıcı Limiti @@ -2788,6 +2795,7 @@ Sunucu Üyeleri Kabul et İptal + Arkadaşlık isteği iptal edildi. Hm, arkadaşlık isteklerini gönderirken bir şeyler ters gitti. Daha sonra arkadaş listesinden tekrar deneyebilirsin. Hm, !!{name}!! kullanıcısına arkadaşlık isteği gönderirken bir şeyler ters gitti. Daha sonra arkadaş listesinden tekrar deneyebilirsin. Arkadaşlık isteği başarısız @@ -3107,6 +3115,9 @@ {username} izliyor Kanala Git Anladım + Satın alım esnasında bir hata oluştu. Lütfen bekle ve tekrar dene. + Olamaz! + Google Play Hizmetleri\'ne bağlanılamadı. Lütfen bekle ve tekrar dene. Geçici üyelik ver Yeşil Gri @@ -3154,8 +3165,8 @@ Bu harika görünüyor! Daha Fazla Bilgi Edin Belki Daha Sonra - Bugün takviye yaparak 1. seviyeye yükselt ve ses kaliten 96 kbps\'den 128 kbps\'ye yükselsin. - Bugün takviye yaparak 2. seviyeye yükselt ve ses kaliten 128 kbps\'den 256 kbps\'ye yükselsin. + Takviye yaparak 1. seviyeye yükselt ve hepinizin ses kalitesi, aynı odada konuşuyormuşçasına akıcı olsun. + Takviye yaparak 2. seviyeye yükselt ve hepinizin ses kalitesi, aynı odada konuşuyormuşçasına akıcı olsun. Bugün takviye yaparak 3. seviyeye yükselt ve ses kaliten 256 kbps\'den 384 kbps\'ye yükselsin. Takviye ile daha iyi ses kalitesi elde edebileceğini biliyor muydun? 100 sunucu sınırındasın @@ -3206,6 +3217,7 @@ Oyundan müziğe ve eğitime kadar burada senin için bir yer var. Topluluğunu Discord\'da bul Güncellemeleri Takip Et + Topluluğunu Bul Topluluk ara Popüler topluluklar !!{username}!!, bu sunucular hoşuna gidebilir @@ -3323,18 +3335,40 @@ Oluştur {count} {number} + Ama sen yazabilirsin! + Bu sunucunun henüz popüler mesajı yok. + Lütfen sayfayı yenile veya [durum sayfamıza]({url}) göz at. + Tüh! Son derece ender rastlanan bir hatayla karşılaştın. + Neler olduğunu görmek için yenile + Şimdilik bu kadar! Bekle, daha fazlası olabilir… + !!{channelName}!! kanalından gelen mesajı kenar çubuğundan aç + {maxReplies}+ yanıt {numReplies} + Yeniden Yükle Popüler mesajlar + Son 2 haftanın tüm popüler mesajlarını gördün. + Güncele yetiştin Klasör Rengi Klasör Adı !!{folderName}!! klasöründe {mentions} !!{folderName}!! klasöründe {mentions}, !!{expandedState}!! İsimsiz Sunucu Klasörü Klasör ayarları kaydedildi! + Ana Sayfa Burası, sunucunda yaşananları takip etmene yardımcı olmak için beta testlerini yaptığımız yeni bir alan. Ana Sayfa - !!{guildName}!! + Sunucu Profil Afişini Değiştir + Bu sunucudaki Hakkımda\'yı düzenlemek için dokun + Bu sunucudaki Hakkımda\'yı düzenle + Boş bırakıldığında varsayılan Hakkımda yazısı kullanılır. + Bu sunucuya Hakkımda yazısı eklemek için dokun !!{guildName}!! Sunucusunun Biyografisi + Sunucu Profil Afişini Değiştir + Sunucu Avatarını Sil + Sunucu Profili Afişi + Varsayılan Afişe Sıfırla Daha fazlası mı gerekiyor? Nitro ile tam sunucu profili özelleştirmesine erişim sağla. + Sunucu Profili Afişi Yükle Nasıl istiyorsan öyle görün; sunucularında farklı avatarlar, afişler ve biyografiler kullan, hareketli avatarları aç ve [Discord Nitro](onAndMore) ile daha fazlasına eriş! Sunucu profilleriyle kendini tam anlamıyla ifade et Sunuculara Davet Et @@ -3368,6 +3402,8 @@ Doğrulama bağlantısının süresi doldu. Doğrulama başarılı. Talebin doğrulanıyor. + Sunucu Ayarlarını Görüntüle + Burası oldukça yoğun! Sunucunun varsayılan bildirim ayarlarını **sadece @bahsetmeler** yaparak üyelerine yardımcı ol. Herkese bildir (@everyone) Etkinliğin başladığını @everyone ile herkese haber ver. $[@everyone ile herkese Sahne\'nin başlayacağını söyle.](tooltipHook) [Etkinleştir](toggleClick) @@ -3591,6 +3627,8 @@ $[**!!{user}!!**](userHook), $[**!!{target}!!**](targetHook) üzerinde değişiklikler yaptı Topluluk sunucusu güncellemeleri kanalı **!!{newValue}!!** olarak belirlendi Topluluk sunucusu güncellemeleri kanalı **kaldırıldı** + Özel Davet Bağlantısını **!!{newValue}!!** yap + Özel Davet Bağlantısı **kaldırıldı** Sunucu doğrulama seviyesi **Yüksek** olarak ayarla Sunucu doğrulama seviyesi **Düşük** olarak ayarla Sunucu doğrulama seviyesi **Orta** olarak ayarla @@ -3750,7 +3788,6 @@ Herkese açık bir Discord için bunun sadece @bahsetmeler olarak ayarlanmasını şiddetle öneririz. Bu sunucunun boyutu nedeniyle, üyeler @bahsetme içermeyen mesajlar için mobil anlık bildirimleri almayacaklar. Keşfi Devre Dışı Bırak - Üye Gereksinimleri\'ni devre dışı bırakman insanların kuralları kabul etmeden veya el ile onay almadan topluluğuna katılabileceği anlamına geliyor. Emin misin? Keşif\'i sadece sunucu yöneticileri etkinleştirebilir ve devre dışı bırakabilir. İki Aşamalı Moderasyon Doğrulaması Etkin @@ -3803,6 +3840,10 @@ Topluluğu devre dışı bırakmak sunucunu Sunucu Keşfi\'nden çıkarır. Bu sunucu Keşif\'ten çıkarıldı. Bu sunucu aşağıdaki gereklilikleri karşılayamadı ve otomatik olarak Keşif\'ten çıkarıldı. Endişelenme, sunucun tüm gereklilikleri karşıladığında tekrar katılabilirsin. Etkinlik gereklilikleri haftalık olarak yeniden hesaplanır. + Bununla sunucundaki bir özel emoji veya çıkartma herhangi bir sohbette kullanıldığında, üzerine tıklayarak bilgilerin gösterilmesini sağlayabilirsin. Kullanıcılar gösterilen bilgiler aracılığıyla sunucunu görüp katılabilir. + Emoji ve Çıkartma Bilgisini Devre Dışı Bırak + Emoji ve Çıkartma Bilgisini Etkinleştir + Tıklandığında Emoji ve Çıkartma Bilgisini Göster Sunucu Keşfi ile topluluğunu büyüt Discord, seçili dili konuşan kullanıcılar için arama yaparken bu sunucuya öncelik verecek. [Sunucu Keşfi](onLinkClick)\'nde listelenmek herkesin sunucunu bulup katılmasını sağlar. @@ -3817,6 +3858,7 @@ Alt Kategoriler Takma Ad Takma Ad Gir + Herkesin bu sunucuda kullanabileceği {count} adet özel emoji ekle. Hareketli GIF emoji, Discord Nitro üyeleri tarafından kullanılabilir. Emoji isimleri en az 2 karakter uzunluğunda olmalı ve yalnızca alfasayısal karakterler ve altçizgiler içerebilir. Emoji boyutu {maxSize} KB\'den küçük olmalı. Daha fazla emoji yuvası açmak için sunucuna takviye yaparak {level}. Seviye\'ye yükselt! {level}. Seviye emojileri kayboldu Emojilerinin kilidini açmak için sunucuna {level}. Seviye\'ye kadar takviye yap veya bir seviye satın al! @@ -3863,6 +3905,8 @@ Alt başlıklar için 1 hafta sonra arşiv seçeneği Özel alt başlıklar oluştur Hareketli Sunucu Afişi + Sunucu için Özel Davet Bağlantısı + {bitrate} kbps ses kalitesi +{adding} sunucu emojisi yeri (toplamda {total}) +{adding} özel çıkartma yeri (toplamda {total}) Tüm üyeler için {fileSize} yükleme sınırı @@ -4602,6 +4646,14 @@ !!{name}!! Emojisi !!{name}!! Simgesi !!{name}!! Logosu + Kanal nedir? + Kanallar yazışabileceğin, konuşabileceğin, oyunlar oynayabileceğin ve daha fazlasını yapabileceğin yerlerdir. Her sunucuda, neler olduğunu görebileceğin bir kanal listesi vardır. + Direkt Mesajlar + Direkt Mesajlar, sunucudan bağımsızdır. Bir arkadaşına özel olarak DM gönderebilirsin veya 10 kişiye kadar grup DM\'si kurabilirsin. + Hâlâ yardım gerekiyor mu? + Aradığını bulamadın mı? Daha fazla bilgi için [yardım merkezimizi ziyaret et]({helpCenterUrl}). + Sunucu nedir? + Sunucular, arkadaşlarınla takılıp yeni insanlarla tanışabileceğin yerlerdir. Çoğu sunucu özeldir veya sadece davet edilenler katılabilir. !!{categoryName}!! kategorisinde Oyun-İçi Ses Ayarları Ses kanalında @@ -4620,6 +4672,7 @@ İlgileniyor Hayır, teşekkürler Doğrudan Discord\'a yüklendiğinde. + Boyutu {maxSize} MB\'den büyük olan resimlerin önizlemesi olmaz. Sohbette bağlantı olarak paylaşıldığında. Resimler, videolar ve lolcatleri göster Giriş Aygıtı @@ -4691,6 +4744,7 @@ Bu uygulamanın komutu bulunmuyor. Bu uygulamanın bu sunucuda webhook\'u yok. Maksimum izin üzerine yazma sayısına ulaştın. + Maksimum izin sayısına ulaştın. Daha fazla değişiklik yapmak için {removeCount} izni kaldır. Entegrasyonu Kaldır **!!{applicationName}!!** uygulamasını kaldırmak istediğine emin misin? Dahili bir sunucu hatası oluştu. @@ -4850,6 +4904,7 @@ Hadi birkaç arkadaş ekleyelim! İnsanları Davet Et Bilgilendirme! Davet ettiğin arkadaşların mesaj geçmişini görüntüleyebilirler. + Bu kanal özeldir. Sadece seçilen üyeler ve roller bu kanalı görüntüleyebilir. Arkadaşlarını ara Davet Gönderildi !!{maxAge}!!, !!{maxUses}!! @@ -4860,6 +4915,7 @@ Veya bir arkadaşına yayın daveti bağlantısı yolla Yayına Davet Et Sunucuya Davet Et + Arkadaşlarını **!!{name}!!** sunucusuna davet et Davet URL\'si Sesli Uygulamaya Katıl Yeni sunucuna hoş geldin! @@ -5011,6 +5067,7 @@ At At Üyeleri At + Üyeleri At, Onayla ve Reddet !!{user}!! kullanıcısını at !!{user}!! adlı kullanıcıyı sunucudan atmak istediğine emin misin? Yeni bir davetle tekrar katılabilir. \'!!{user}!!\' sunucudan atıldı. @@ -6191,9 +6248,21 @@ !!{planPremiumType}!! iptal edilsin mi? Abonelik iptali tüm Nitro ve Sunucu Takviyesi abonelikleri için hemen devreye girecek. Bunu değiştirdiysen Discord Etiketi rastgele hale getirilecek. Boş ver, Nitro\'yu bırakma + Boş ver, Nitro\'yu bırakma **2 ücretsiz takviyen** ve **%%30 takviye indirimin** {boostCount} **%%30 takviye indirimin** + 2 ücretsiz takviye ve %%30 takviye indirimi + Her yerde özel emoji ve çıkartma kullanmak + Profil promosyonu ve özel etiket + Yüksek çözünürlüklü, 60 FPS yayın kalitesi + {month} içindeki toplamı + yayın yaptığın saatlerin + HD yayın + 100 MB\'lik yükseltilmiş dosya yükleme limiti + gönderdiğin büyük dosyaların + {month} içindeki toplamı + Daha büyük dosya yüklemeleri Tüm sunucularında **özel emojilere** ve **çıkartmalara** erişim sağla Tüm sunucularında **özel emojilere** erişim sağla **Hareketli avatar**, **profil afişi** ve özel bir **Discord Etiketi** @@ -6314,15 +6383,21 @@ Aktif Sunucu Takviyeleri Kullanılabilir {numSubscriptions} var Üzgünüz, şu anda !!{paymentGatewayName}!! yoluyla satın alınan takviyeleri iade edemiyoruz. Takviyeni [!!{paymentGatewayName}!! ödeme yolunun Abonelik Yönetimi]({subscriptionManagementLink}) üzerinden iptal edebilirsin. + Bu Sunucu Takviyesi\'ni iptal etmek istediğinden emin misin? Bu cevheri kırıp parçalarına ayıracağız. Bağlantılı olduğu sunuculardan kaldırılacak ve faturalandırma döneminin sonunda aboneliğinden iptal edilecek: **{endDate}**. + Envanterindeki bir Sunucu Takviyesi\'ni iptal etmek istediğinden emin misin? Bu cevheri kırıp parçalarına ayıracağız. Bağlantılı olduğu sunuculardan kaldırılacak ve faturalandırma döneminin sonunda aboneliğinden iptal edilecek: **{endDate}**. Evet, Takviyeyi İptal Et Aboneliğin zaman aşımına uğradı. Lütfen takviye satın almadan önce ödeme bilgilerini güncelle. Bu Takviye, Nitro aboneliğin bir parçasıdır Takviyeyi İptal Et Bu takviyeyi iptal etmeye çalışırken bir hata oluştu. + **{subscriptionCount}** {subscriptionCount} İptal Edildi + Bu Sunucu Takviyesi aboneliği, Nitro veya Nitro Classic faturalandırma döneminin sonunda, yani **{endDate}** tarihinde iptal edilecek. Aboneliğinin nasıl değişeceği aşağıda belirtilmiştir: Sunucu Takviyesini İptal Et Sunucu Takviyesini Bir Sunucudan İptal Et Sunucu Takviyesini Envanterden İptal Et Takviyenin İptal Edilmesi Bekleniyor + Tamamdır, bu Takviye cevherini senin için kırmaya hazırız. Bu Takviye şu tarihte iptal edilecek: **{endDate}**. **Yok edilene kadar bu Takviyeyi kullanmaya devam edebilirsin!** + Takviye İptal Edildi! {date} {date} ({months}) tarihinden beri takviye yapıyor Takviye yapmaya çalışırken bir hata oluştu. Lütfen tekrar dene. @@ -6389,18 +6464,23 @@ Takviyeler sunucudaki herkesin kullanabileceği güçlü özellikler ve geliştirmeleri açar. Takviye yaparak alabileceklerin: Daha eğlenceli Etkinliklere eriş! Hareketli sunucu simgesiyle öne çık - Ses kalitesi {targetQuality} Kbps\'ye yükseldi + Ses kalitesi {targetQuality} kbps\'ye yükseldi Özel bir arka planla sunucu davetlerini özelleştir Dosya yükleme limiti 100 MB boyutuna çıktı Bir sunucu afişiyle herkese sunucunun detaylarını göster Güçlü yükseltmeler: Daha büyük dosya yükleme boyutu, arttırılmış ses kalitesi ve dahası! + Güçlü yükseltmeler: Hareketli sunucu simgesi, ek alt başlık seçenekleri ve daha fazlası! + Güçlü yükseltmeler: Daha büyük dosya yükleme boyutu, sunucu afişi, özel rol simgeleri ve daha fazlası! + Güçlü yükseltmeler: Özel Davet Bağlantısı, ekstra emoji yuvaları ve hareketli sunucu afişi. Sunucuda her rol için özgün bir simge seç 1080p/60 FPS ekran paylaşımı yap 720p/60 FPS ekran paylaşımı yap Herkesin kullanabileceği özel çıkartmalar yükle {numStickers} özel çıkartma ve {numEmojis} özel emoji yükle + {numStickers} özel çıkartma yükle Alt başlıklar için daha uzun arşiv seçenekleri Özel alt başlıklar oluştur + Özel Davet Bağlantısıyla kolayca yeni üyeler ekle Hedef: {levelName} {levelName} avantajlarını açmaya yardım etmek için Takviye satın al! Bu sunucuda tüm Takviye avantajları açıldı! @@ -6539,6 +6619,7 @@ Aboneliklerin Bu ayarlamaya eşit olarak paylaştırma, indirimler ve iadeler de dahildir. Mevcut aboneliklerin bunlar. Bunlar aynı faturalandırma döngüsünde faturalandırılacaktır. + {planName} İptal Edildi !!{planName}!! Kredisi Bu kredi, bir !!{planName}!! aboneliğine kaydolduktan sonra hesabına eklenecek. Bu kredi yalnızca masaüstünden yapılan !!{planName}!! aboneliği ödemelerinde kullanılabilir. @@ -6720,8 +6801,11 @@ Profil Eylemleri Discord Nitro ile kendi kişiselleştirilmiş afişini ve daha fazlasını yükle! $[](renderTimeHook) geçti + Önerilen en düşük boyut 600x240 ve önerilen görüntü oranı 5:2. Geçerli dosya türleri arasında PNG, JPG ve hareketli GIF\'ler bulunur. Bu sunucuya kendini tanıt + Kaydetme Değişiklikler Kaydedilsin Mi? + Değişiklikler yaptın. Bu sayfadan ayrılmadan önce kaydetmek ister misin? Nitro\'ya Özel Önizleme Kullanıcı Rozetleri @@ -6882,6 +6966,7 @@ Zamanaşımını Kaldır !!{user}!! Kullanıcısının Zamanaşımını Kaldır !!{user}!! kullanıcısını alt başlıktan çıkar + Özel Davet Bağlantısını kaldır Sohbete yapıştırılan eklemeleri ve web sitesi önizleme bağlantılarını göster Eklemeler ve Bağlantı Önizlemeleri Mesajlarda emoji tepkilerini göster. @@ -7018,11 +7103,13 @@ Tüm sunucu üyeleri için varsayılan izinler Rol simgesi, {name} Görsel Seç + 256 KB altında bir görsel yükle ya da bu sunucudan bir özel emoji seç. En az 64x64 piksel öneriyoruz. Birden fazla rolü olan üyeler en yüksek rollerinin simgesini görecek. Daha fazla bilgi edin {name} için Özel Rol Simgesi. Bu özellik Sunucu Takviyesinin bir parçasıdır. Emoji Görsel Yükle Dosyalara Göz At + Olamaz! Dosya çok büyük. Lütfen 256 KB veya daha küçük bir .png veya .jpg seç. Yüklemek için bir PNG veya JPG seç Rol için id kopyalandı: {role} Üyeler bu listede sahip oldukları en yüksek rolün rengini kullanır. Rolleri yeniden düzenlemek için sürükle. @@ -7098,6 +7185,7 @@ Üyelerin bu kanallardaki gömülü içerikleri gösteren bağlantılar paylaşabilmesini sağlar. Üyelerin bu kanaldaki gömülü içerikleri gösteren bağlantılar paylaşabilmesini sağlar. İzin bulunmadı + At seçeneği, üyeleri bu sunucudan atar. Atılan üyeler davet edildikleri takdirde sunucuya tekrardan katılabilir. Sunucuda Üye Gereksinimleri etkinleştirildiyse, bu izinle katılmak isteyenleri onaylayabilir veya reddedebilirsin. Üyelere başka üyeleri sunucudan atma izni verir. Atılan üyeler davet edildikleri takdirde sunucuya tekrardan katılabilir. Üyelerin bu kanalların adını, açıklamasını ve metin/ses ayarlarını değiştirebilmesini sağlar. Ayrıca kanalları silme yetkisi de verir. (Sahne Moderatörü için gereklidir) Üyelerin Sahne başlatmaları için bir konu oluşturmasına ve konuşma taleplerini açmasına/devre dışı bırakmasına izin ver. Ayrıca Sahne kanalını da silebilirler. @@ -7570,11 +7658,15 @@ İzin verilen tek özel karakter uzun çizgidir. Buraya etiketler yazılacak. Sunucu Keşfi\'nde isim, açıklama ve etiketlerle arama yapılabiliyor. 10 adet ekleyebilirsin. + {count}+ üyeye sahip sunucular artık Sunucu Keşfi\'ne katılabilir. + Topluluğunu daha hızlı büyüt Sunucu Emojisi Tüm Klasörleri Kapat Klasörü Okundu Olarak İşaretle + Klasördeki tüm sunucuları sustur Sunucu Klasörü Klasör Ayarları + Klasördeki tüm sunucuların susturmasını kaldır Sunucu Bilgileri Bu sunucu şu anda dolu. Sunucuda Sustur @@ -7597,6 +7689,9 @@ Hata ayıklama günlüğünü değiştirirsen Discord kapatılır ve tekrar başlatılır. Bunu yapmak istediğinden emin misin? Bu bağlantıyı hiç sona ermemeye ayarla Durum Ayarla + Sunucunun bu özelliğe erişimi yok. + Bu özelliğe erişimin yok. + Özel Davet Bağlantısı oluşturmadan önce tüm üyelerin katılabileceği bir metin kanalı oluşturmalısın. Ayarlar Gelişmiş Ekle! @@ -8417,6 +8512,9 @@ Sahipsiz Hesap Sağırlığı Kaldır Geri Al + Kanalı Favorilerden Kaldır + DM\'yi Favorilerden Kaldır + Grup DM\'sini Favorilerden Kaldır Favorilerden kaldır Odağı Bu Kişiden Kaldır Üzgünüz, cihazında bu bağlantıyı işlemek için bir uygulama bulunamadı: @@ -8815,6 +8913,10 @@ Bu kanalda konuşmak için Bas-Konuş özelliğin etkin olmalıdır. Bas-Konuş Gereklidir Özel Davet Bağlantısı + Özel Davet Bağlantılarının işe yaraması için tüm üyelerin erişebildiği bir metin kanalı olması gerektiğini unutma. + Özel Davet Bağlantısı ({uses}) + Senin seçtiğin hoş bir Özel Davet Bağlantısı ile sunucunu kolayca erişilebilir yap. Bunun, sunucunu bu linki kullanan herhangi birine açık hale getirdiğini unutma. + Bir kötüye kullanım gerçekleştiğini veya bir fikri mülkiyet uyuşmazlığı olduğunu tespit edersek Özel Davet Bağlantılarını geri alabileceğimizi unutma. Artık herkes bu sunucuya **!!{url}!!** adresinden ulaşabilir Artık herkes bu sunucuya [!!{urlText}!!]({urlValue}) adresinden ulaşabilir senin-url\'n-buraya diff --git a/app/src/main/res/values-uk/plurals.xml b/app/src/main/res/values-uk/plurals.xml index c73c3f64e4..8aef09adc7 100644 --- a/app/src/main/res/values-uk/plurals.xml +++ b/app/src/main/res/values-uk/plurals.xml @@ -1106,6 +1106,16 @@ використані бусти {#} використаних бустів + + {#} місяць + {#} місяці + {#} місяців + + + {#} місяць + {#} місяці + {#} місяців + {#} буст {#} бусти @@ -1215,6 +1225,11 @@ {#} бусти {#} бустів + + буст сервера + бусти сервера + бустів сервера + {#} місяць {#} місяці @@ -1672,6 +1687,11 @@ {count} учасника {count} учасників + + 1 використання + {#} використання + {uses} використань + 1 використання {#} використання diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index e9d401e201..05f78d47a8 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -1196,6 +1196,7 @@ Змінити аватар сервера Змінити піктограму Редагувати профіль сервера + Аватар та банер профілю Профіль сервера Якщо залишити пустим, буде використовуватися основна біографія. Розкажіть трохи про себе @@ -1203,6 +1204,7 @@ Використовуйте різні аватари для кожного зі своїх серверів, та багато інших можливостей чекають на вас із Discord Nitro! Нікнейм (Вимкнено) Можеш змінити свій зовнішній вигляд для інших користувачів сервера, обравши нікнейм та аватар для сервера. + Скинути до стандартного аватара Невідома помилка Змінити аватар сервера Використовуй інший аватар для кожного зі своїх серверів, та багато інших можливостей чекають на тебе із **Discord Nitro!** @@ -1225,6 +1227,7 @@ Змінити пароль Змінити номер телефону? Змінити тло + Персоналізоване посилання на запрошення не може бути змінене, оскільки містить неприпустимі символи, занадто коротке або вже зайняте. Персоналізоване посилання на запрошення може містити тільки букви, цифри або тире. Перелік змін Покажи нашу нову головну сторінку другу! Ми тут, щоб створити гарне враження. Дізнатися більше @@ -1240,16 +1243,6 @@ Учасники Канал видалено. Заголовок каналу - Опис каналу - Заглушення прибирає індикатор непрочитаних повідомлень і спливаючі повідомлення, допоки вас не згадають. - Назва - Сповіщення - Подробиці - Тема - Редагувати - Ваші налаштування - Сховати опис каналу - Показати опис каналу Твоя роль не має дозволу на доступ до цього каналу. Канал заблоковано Дозволи синхронізовані з категорією: **{categoryName}** @@ -1357,6 +1350,7 @@ Закріпити за собою Очистити Видалити додатки + Очистити обхід збірки Видалити текст Натисни, щоб дізнатися більше Клонувати канал @@ -1933,6 +1927,7 @@ !!{a}!!, !!{b}!! та ще {n} зараз у голосовому чаті. Зараз у голосовому чаті нікого немає. Користувацький колір + Пам\'ятайте, що персоналізоване посилання на запрошення вимагає, щоб один текстовий канал був доступний для усіх учасників. Користувацький статус Очистити після Очистити статус @@ -2261,6 +2256,7 @@ активність Грайте разом у голосовому чаті! НОВЕ! Дії + Грайте разом в будь-якому голосовому каналі безкоштовно. Відкрийте більше дій з бустом! інша активність Емодзі Додати в обране @@ -2310,6 +2306,7 @@ Цей емодзі походить із приватного або недоступного сервера. [Дізнатися більше](openPremiumSettings) про користувацькі емодзі. Видалити з обраного Доступна наступна кількість слотів: {count} + Цей емодзі надто великий! Розмір емодзі не повинен перевищувати {maxSize} Кб. Натисни, щоб дізнатися більше {count} @згадуй користувачів, щоби додати їх до приватної гілки. @@ -2482,10 +2479,18 @@ Копіювати посилання Відкрити у веб-переглядачі Надіслати посилання + Додати канал до обраного + Додати ПП до обраного + Додати групове ПП до обраного Ви не можете додати більше до обраних. Додати до обраного + Представляємо нову функцію в Discord — обране! Додавайте до обраного канали, голосові чати та повідомлення через контекстне меню. + Обране + Перейти на оригінальний сервер + Обране Не можна мати більше {count} в обраних. О ні! + Цю назву буде видно лише в обраному. Інше Опиши проблему Твоя проблема @@ -2547,6 +2552,7 @@ Зменш гучність інших додатків на певний відсоток, коли хтось говорить. Встанови 0%% для остаточного вимкнення приглушення. Гілки будуть заархівовані, якщо протягом певного часу не буде активності. Якщо індикатор повністю зелений, значить, Discord транслює свій чарівний голос. + АГОВ, БІТИ! Не варто підіймати бітрейт вище за {bitrate}, інакше це може погано вплинути на людей з низькою швидкістю з\'єднання. Якщо використовується сертифікований мікрофон Discord, деякі функції обробки голосу надаються не самим сервісом Discord, а мікрофоном. Змінюй налаштування конфіденційності та налаштовуй те, як учасники можуть взаємодіяти з цим каналом. Записує всі дані RTP, отримані для наступного голосового або відеоз\'єднання з метою налагодження. @@ -2739,6 +2745,7 @@ Перевірити мікрофон Синтез мовлення Сповіщення із синтезом мовлення + Увімкнути повідомлення про нові події Увімкнути мікрофон користувача **!!{name}!!** Текстове поле Ліміт користувачів @@ -2778,6 +2785,7 @@ Учасники серверу Прийняти Скасувати + Запит на дружбу було скасовано. Ой, під час надсилання запиту на дружбу сталася помилка. Спробуй зробити це ще раз пізніше зі списку друзів. Ой, під час надсилання запиту на дружбу користувачу !!{name}!! сталася помилка. Спробуй зробити це ще раз пізніше зі списку друзів. Не вдалося надіслати запит на дружбу @@ -3097,6 +3105,9 @@ Дивиться {username} Перейти на канал Ясно + Під час твоєї покупки сталася помилка. Зачекай і повтори спробу. + О ні! + Неможливо з\'єднатися з сервісом Google Play. Почекайте і спробуйте пізніше. Надати тимчасове членство Зелений Сірий @@ -3144,8 +3155,8 @@ Виглядає розкішно! Докладніше Іншим разом - Підвищте буст до рівня 1 сьогодні, щоби покращити якість звуку з 96 Кбіт/с до 128 Кбіт/с. - Підвищте буст до рівня 2 сьогодні, щоби покращити якість звуку з 128 Кбіт/с до 256 Кбіт/с. + Підвищте буст до рівня 1, щоби покращити якість аудіо. Ви зі співбесідником будете ніби в одній кімнаті. + Підвищте буст до рівня 2, щоби покращити якість аудіо. Ви зі співбесідником будете ніби в одній кімнаті. Підвищте буст до рівня 3 сьогодні, щоби покращити якість звуку з 256 Кбіт/с до 384 Кбіт/с. А ви знали, що з бустом ви можете отримати кращу якість звуку? Обмеження в 100 серверів досягнуто @@ -3196,6 +3207,7 @@ Ігри, музика, навчання — для тебе всюди знайдеться місце. Знайди свою спільноту на Discord Слідкувати за оновленнями + Знайдіть свою спільноту Пошук спільнот Популярні спільноти !!{username}!!, вам можуть сподобатися ці сервери @@ -3314,18 +3326,40 @@ Створити {count} {number} + Але ви можете їх створити! + На цьому сервері поки що немає закріплених повідомлень. + Будь ласка, перезавантажте сторінку або перевірте нашу [сторінку стану]({url}). + Ой! Виникла навдивовижу рідкісна помилка. + Перезавантажте сторінку, щоби побачити, що відбувається + Наразі це все! Але стривайте, можливо, є ще щось… + Відкрити повідомлення з каналу !!{channelName}!! на боковій панелі + {maxReplies}+ відповідей {numReplies} + Перезавантажити Найважливіші повідомлення + Ви подивилися всі найважливіші повідомлення за останні 2 тижні. + Ви все надолужили Колір папки Ім\'я папки Папка !!{folderName}!!, {mentions} Тека !!{folderName}!!, {mentions}, !!{expandedState}!! Папка сервера без імені Налаштування папки збережено! + На головну Це новий вигляд, який зараз у бета-тестуванні. Він допоможе вам зорієнтуватися, що відбувається на сервері. Головна - !!{guildName}!! + Змінити банер профілю сервера + Торкніться, щоби змінити інформацію про себе на цьому сервері + Змінити інформацію про себе на цьому сервері + Якщо залишити пустим, будуть використовуватися основні відомості про себе. + Торкніться, щоби додати інформацію про себе для цього сервера Серверна біографія для !!{guildName}!! + Змінити банер профілю сервера + Видалити аватар сервера + Банер профілю сервера + Скинути до стандартного банера Хочете більше? Отримайте повне налаштування профілю сервера із Nitro. + Завантажити банер профілю сервера Будьте ким завгодно та використовуйте різні аватари, банери та біографії на всіх своїх серверах, відкрийте анімовані аватари та інші можливості з [Discord Nitro!](onAndMore) Проявіть себе завдяки профілю сервера Запросити на сервери @@ -3359,6 +3393,8 @@ Термін дії посилання для підтвердження сплив. Підтвердження успішне. Підтвердження запиту. + Подивитися налаштування сервера + Тут багато чого відбувається! Пропонуємо змінити стандартні сповіщення та встановити сповіщення лише на **@mentions**, щоби допомогти учасникам. Сповістити всіх — @everyone Також повідомить усіх (@everyone) про початок подіії. $[Сказати всім @everyone, що подія починається.](tooltipHook) [Увімкнути](toggleClick) @@ -3582,6 +3618,8 @@ $[**!!{user}!!**](userHook) вніс зміни до $[**!!{target}!!**](targetHook) Установити для каналу оновлень сервера спільноти значення **!!{newValue}!!** Канал оновлень сервера спільноти **видалено** + Встановити персоналізоване посилання на запрошення для **!!{newValue}!!** + **Видалено** персоналізоване посилання на запрошення Встановити рівень перевірки сервера: **високий** Встановити рівень перевірки сервера: **низький** Встановити рівень перевірки сервера: **середній** @@ -3741,7 +3779,6 @@ Ми наполегливо рекомендуємо налаштувати цей параметр тільки на згадування @mentions на публічному сервері Discord. Через розмір цього сервера його учасники не отримуватимуть мобільні push-сповіщення щодо повідомлень без @згадування. Вимкнути «Знайомство з серверами» - Якщо вимкнути перевірку вимог до членства, користувачі зможуть приєднуватися до вашої спільноти без ознайомлення з правилами та ручного схвалення. Ви впевнені? Тільки адміністратори сервера можуть увімкнути чи вимкнути участь у категорії «Знайомство з серверами». Вимога двофакторної аутентифікації для модерації увімкнена @@ -3794,6 +3831,10 @@ Вимкнення спільноти також призведе до видалення твого сервера з категорії «Знайомство з серверами». Цей сервер видалено з категорії «Знайомство з серверами». Цей сервер не відповідає наведеним далі вимогам і був автоматично видалений з категорії «Знайомство з серверами». Не хвилюйся, ти зможеш повернутися, коли він знову відповідатиме всім вимогам. Ми перераховуємо показники активності щотижнево. + Дозволяє відображати інформацію в будь-якому чаті під час натискання на користувацькі емодзі або стікери з вашого сервера. Інші користувачі зможуть її бачити та приєднуватися до вашого сервера. + Вимкнути інформацію про емодзі/стікер + Увімкнути інформацію про емодзі/стікер + Показати інформацію про емодзі/стікер при натисканні Збільшуйте свою спільноту завдяки знайомству з серверами Discord надаватиме пріоритет цьому серверу в пошуку для користувачів, які розмовляють вибраною мовою. Якщо вас буде видно в [Знайомстві із серверами](onLinkClick), то будь-хто зможе знайти ваш сервер і приєднатися до нього. @@ -3808,6 +3849,7 @@ Підкатегорії Прізвисько Ввести прізвисько + Додайте до {count} користувацьких емодзі, які будь-хто може використовувати на цьому сервері. Анімовані GIF-емодзі можуть використовуватися учасниками, що мають передплату Discord Nitro. Назва емодзі повинна містити щонайменше 2 знаки й може складатися лише з цифро-літерних знаків та підкреслених пробілів. Розмір емодзі має становити не більше {maxSize} Кб. Покращте сервер за допомогою буста до рівня {level} та відкрийте більше слотів для стікерів! Втрачено емодзі рівня {level} Покращте сервер за допомогою буста до рівня {level} або купіть рівень, щоби відкрити емодзі! @@ -3854,6 +3896,8 @@ Можливість тижневої архівації гілок Створення приватних гілок Анімований банер сервера + Персоналізоване посилання на запрошення для сервера + Якість звуку {bitrate} Кбіт/с +додаткові слоти для емодзі сервера ({adding}) (усього {total}) +додаткові слоти для спеціальних стікерів ({adding}) (усього {total}) Ліміт завантаження файлів на сервер для всіх учасників становить {fileSize} @@ -4593,6 +4637,14 @@ Емодзі !!{name}!! Піктограма !!{name}!! Логотип !!{name}!! + Що таке канали? + Канал — це місце, де можна переписуватися, спілкуватися голосом, грати в ігри та багато іншого. На кожному сервері є список каналів, і ви можете подивитися, що там відбувається. + Приватні повідомлення + Приватні повідомлення відокремлені від серверів. Можна відправити ПП другу, щоби швидко поговорити, або створити групове ПП для групи до 10 осіб. + Досі потрібна допомога? + Не знайшли те, що шукали? Більше інформації можна знайти в нашому[ Центрі допомоги]({helpCenterUrl}). + Що таке сервер? + Сервер — це місце, де можна зависати з друзями та знайомитися з людьми. Більшість серверів приватні та доступні лише за запрошенням. у !!{categoryName}!! Налаштування голосового спілкування у грі На голосовому каналі @@ -4611,6 +4663,7 @@ Зацікавлені Ні, дякую Під час завантаження прямо на сервер Discord + Для зображень, більших за {maxSize} МБ, попередній перегляд недоступний. Під час публікації у вигляді посилання в чаті Показувати зображення, відео та котиків Пристрій введення @@ -4682,6 +4735,7 @@ У цієї програми немає команд. У цієї програми немає вебхуків на цьому сервері. У вас максимальна кількість перезаписів дозволів. + У вас максимальна кількість дозволів. Видаліть до {removeCount} дозволів, щоби робити подальші зміни. Видалити інтеграцію Ти дійсно хочеш видалити **!!{applicationName}!!**? Виникла внутрішня помилка сервера. @@ -4841,6 +4895,7 @@ Давай додамо кілька друзів! Запросити людей Попередження! Друзі, яких ти запрошуєш, можуть бачити журнал попередніх повідомлень. + Цей канал приватний. Тільки обрані учасники та ролі можуть переглядати цей канал. Знайти друзів Запрошення надіслано !!{maxAge}!!, !!{maxUses}!! @@ -4851,6 +4906,7 @@ Або надішли другу посилання на запрошення до трансляції Запросити до трансляції Запросити на сервер + Запросити друзів до **!!{name}!!** URL-адреса запрошення Приєднатися до голосового спілкування Вітаємо на твоєму новому сервері! @@ -5002,6 +5058,7 @@ Вигнати Вигнати Видаляти членів + Вигнати, схвалити або відхилити учасників Вигнати користувача !!{user}!! Ви точно хочете вигнати користувача !!{user}!! з сервера? У користувача буде можливість приєднатися із новим запрошенням. «!!{user}!!» вигнаний із сервера. @@ -6182,9 +6239,21 @@ Скасувати !!{planPremiumType}!!? Скасування будь-яких передплат Nitro і бустів сервера набере чинності негайно. Якщо твій тег Discord було відредаговано, його буде змінено на випадковий. Байдуже, зберегти Nitro + Байдуже, зберегти Nitro Ваші **2 безкоштовні бусти** та **знижка 30%% на буст** {boostCount} Ваша **знижка 30%% на бусти** + 2 безкоштовні бусти та знижка 30%% на буст + Використання спеціальних емодзі та стікерів будь-де + Прикраси для профілю та спеціальний тег + Висока роздільність, трансляція відео 60FPS + ви стримили за {month} + год. + HD відеотрансляція + Збільшення завантажуваних файлів до 100 Мб + великі файли + ви надіслали за {month} + Завантаження на сервер більших файлів Доступ до **персоналізованих емодзі** та **стікерів** на всіх ваших серверах Доступ до **користувацьких емодзі** на всіх ваших серверах **Анімований аватар**, **банер профілю** та **користувацький тег Discord**. @@ -6305,15 +6374,21 @@ Активні бусти сервера Доступно {numSubscriptions} На жаль, наразі ми не підтримуємо скасування бустів, придбаних через !!{paymentGatewayName}!!. Ти можеш скасувати свій буст, звернувшись до відділу [!!{paymentGatewayName}!!з питань керування передплатами]({subscriptionManagementLink}). + Ви дійсно хочете скасувати цей буст сервера? Ми розіб\'ємо цей діамант на шматки. Його буде видалено з відповідних серверів та вилучено з вашої передплати після завершення оплаченого періоду: **{endDate}**. + Ви дійсно хочете скасувати буст сервера з інвентаря? Ми розіб\'ємо цей діамант на шматки. Його буде видалено з відповідних серверів та вилучено з вашої передплати після завершення оплаченого періоду: **{endDate}**. Так, скасувати буст Термін дії твоєї передплати сплив. Будь ласка, онови свою платіжну інформацію, щоб керувати бустами. Цей буст включено до твоєї передплати Nitro Скасувати буст Під час спроби скасувати цей буст виникла помилка. + **{subscriptionCount}** {subscriptionCount} скасовано + Цю передплату бусту сервера буде скасовано після завершення оплаченого періоду передплати Nitro або Nitro Classic (**{endDate}**). Зміни вашої передплати зазначено далі: Скасувати бусти сервера Скасувати бусти сервера з сервера Скасувати бусти сервера з інвентаря Очікується скасування бусту + Добре, ми готові розтрощити цей бустовий діамант. Скасування цього бусту відбудеться **{endDate}**. **Ви ще можете використовувати цей буст, поки його не знищено!** + Буст скасовано! {date} Сервер має бусти з {date} ({months}) Під час спроби додати буст виникла помилка. Спробуй ще раз. @@ -6385,13 +6460,18 @@ Збільшення розміру завантажуваних файлів до 100 МБ Покажіть, про що ваш сервер, за допомогою банера Потужні підсилення: більший розмір файлів для завантаження, покращена якість аудіо та інші переваги! + Потужні підсилення: анімовані піктограми сервера, додаткові можливості для гілок та інші переваги! + Потужні підсилення: більший розмір файлів для завантаження, банер сервера, користувацькі піктограми для ролей та інші переваги! + Потужні підсилення: персоналізоване посилання на запрошення, додаткові слоти для емодзі та анімований банер сервера. Налаштуйте унікальну піктограму для кожної ролі на сервері Демонстрація екрана в 1080p/60fps Демонстрація екрана в 720p/60fps Спеціальні стікери, якими можуть користуватися усі учасники Завантаження до {numStickers} персоналізованих стікерів та {numEmojis} користувацьких емодзі + Завантаження до {numStickers} персоналізованих стікерів Можливість довшої архівації гілок Створення приватних гілок + Легко додавайте нових учасників з персоналізованим посиланням на запрошення Мета: {levelName} Придбайте бусти, щоби допомогти розблокувати переваги рівня {levelName}! Цей сервер розблокував усі переваги бустів! @@ -6530,6 +6610,7 @@ Твої передплати Ця корекція включає перерахунки, знижки та повернення. Це твої поточні передплати. Рахунок за них буде виставлено в одному циклі. + {planName} скасовано Кредит !!{planName}!! Цей кредит буде діяти після оформлення передплати !!{planName}!!. Цей кредит може бути використаний для придбання передплати !!{planName}!! на ПК. @@ -6711,8 +6792,11 @@ Дії профілю Завантажуй персоналізований банер та отримай інші переваги з Discord Nitro! Минуло $[](renderTimeHook) + Рекомендований мінімальний розмір — 600x240, рекомендоване співвідношення сторін — 5:2. Дозволені типи файлів: PNG, JPG та GIF. Розкажіть трохи про себе + Не зберігати Зберегти зміни? + Було зроблено деякі зміни. Зберегти їх, перш ніж залишити цю сторінку? Ексклюзивно з Nitro Попередній перегляд Значки користувачів @@ -6873,6 +6957,7 @@ Прибрати тимчасовий блок Прибрати тимчасовий блок для користувача !!{user}!! Видалити !!{user}!! з гілки + Прибрати персоналізоване посилання на запрошення Показати вставки та попередній вигляд посилань в чаті Вставки та попередній перегляд посилання Показувати емодзі реакції на повідомлення @@ -7009,11 +7094,13 @@ Стандартні дозволи для всіх учасників сервера Піктограма ролі, {name} Вибрати зображення + Завантажте зображення не більше 256 Кб або оберіть користувацьке емодзі з сервера. Ми рекомендуємо використовувати зображення не менше 64х64 пікселі. Учасники, що мають декілька ролей, можуть використовувати піктограму найвищої ролі. Дізнатися більше Користувацька піктограма ролі для {name}. Ця функція є частиною бусту для сервера. Емодзі Завантажити зображення Переглянути файли + Йой! Завеликий файл. Оберіть .png або .jpg розміром до 256 Кб. Оберіть файл PNG або JPG для завантаження Скопійовано ідентифікатор для ролі: {role} Учасники використовують колір найвищої ролі, яку вони мають у цьому списку. Перетягуй ролі, щоб змінювати їхній порядок. @@ -7089,6 +7176,7 @@ Дозволяє показ вбудованого вмісту, коли учасники поширюють посилання на цих каналах. Дозволяє показ вбудованого вмісту, коли учасники поширюють посилання на цьому каналі. Не знайдено жодних дозволів + Видалення прибере інших учасників з цього сервера. Видалені учасники зможуть знову приєднатися до сервера, якщо їх знову запросять. Якщо ввімкнути вимоги до членства на сервері, цей дозвіл дасть можливість схвалювати або відхиляти учасників, що бажають приєднатися до сервера. Дозволяє учасникам видаляти інших учасників з цього сервера. Видалені учасники зможуть знову приєднатися до сервера, якщо їх знову запросять. Дозволяє учасникам змінювати назву, опис і голосові налаштування/налаштування тексту для цих каналів. Учасники також можуть видаляти ці канали. (Обов\'язково для модератора трибуни) Дозволити учасникам встановлювати тему для початку роботи трибуни та увімкнути або вимкнути запити на висловлювання. Вони також можуть видалити канал трибуни. @@ -7561,11 +7649,15 @@ З особливих символів дозволені лише дефіси. Теги будуть тут. У розділі «Знайомство із серверами» можна шукати за іменем, описом та тегами. Можна додати до 10 тегів. + Сервери з кількістю учасників понад {count} не можуть приєднатися до сторінки знайомства. + Швидше збільшуйте спільноту Емодзі сервера Закрити всі папки Позначити папку прочитаною + Вимкнути повідомлення для всіх серверів у папці Папка сервера Налаштування папки + Увімкнути повідомлення для всіх серверів у папці Аналітика сервера Наразі сервер заповнений. Сервер: заглушити @@ -7588,6 +7680,9 @@ Після зміни журналу налагодження буде здійснений вихід із сервісу та перезавантаження Discord. Ти впевнений, що хочеш зробити це? Встановити необмежений термін дії для цього посилання Встановити статус + У вашого сервера немає доступу до цієї функції. + У вас немає доступу до цієї функції. + Перш ніж встановлювати персоналізоване посилання на запрошення, створіть текстовий канал, доступний для всіх учасників. Налаштування Додаткові налаштування Додай її! @@ -8408,6 +8503,9 @@ Акаунт не присвоєно Увімкнути звук Скасувати дію + Видалити канал з обраного + Видалити ПП з обраного + Видалити групове ПП з обраного Видалити з обраного Зняти фіксацію на цій особі Нажаль, на твоєму пристрої немає програм, що підтримують це посилання: @@ -8806,6 +8904,10 @@ Необхідно увімкнути активацію кнопкою, щоб говорити у цьому каналі. Потрібна активація кнопкою Персоналізоване посилання на запрошення + Пам\'ятайте, що персоналізоване посилання на запрошення вимагає, щоб один текстовий канал був доступний для усіх учасників. + Персоналізоване посилання на запрошення {uses} + Спростіть доступ до свого сервера за допомогою крутого персоналізованого запрошення на власний вибір. Пам\'ятайте, що це робить ваш сервер доступним для будь-кого, хто має це посилання. + Врахуйте, що ми залишаємо за собою право відкликати персоналізовані посилання на запрошення, якщо буде виявлено порушення або проблеми з інтелектуальною власністю. Цей сервер тепер доступний кожному за посиланням **!!{url}!!** Цей сервер тепер доступний кожному за посиланням [!!{urlText}!!]({urlValue}) твій-url-тут diff --git a/app/src/main/res/values-vi/plurals.xml b/app/src/main/res/values-vi/plurals.xml index 9b1ad452c9..639c16cf63 100644 --- a/app/src/main/res/values-vi/plurals.xml +++ b/app/src/main/res/values-vi/plurals.xml @@ -944,6 +944,14 @@ Đã áp dụng {#}Nâng cấp Đã áp dụng {#}Nâng cấp + + {#} tháng + {#} tháng + + + {#} tháng + {#} tháng + {#} Nâng Cấp {#} Nâng Cấp @@ -1040,6 +1048,10 @@ {#} Nâng Cấp {#} Nâng Cấp + + Nâng Cấp Máy Chủ + Nâng Cấp Máy Chủ + {#} Tháng {#} Tháng @@ -1432,6 +1444,10 @@ 1 người khác {count} người khác + + 1 lượt dùng + {uses} lượt dùng + 1 lượt dùng {uses} nhiều lượt dùng diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 7392068e6f..88ff2fac40 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -1196,6 +1196,7 @@ Thay đổi Ảnh Đại Diện Máy Chủ Thay đổi Biểu tượng Chỉnh Sửa Hồ Sơ Máy Chủ + Ảnh đại diện và Biểu ngữ Hồ sơ Tiểu Sử Máy Chủ Nếu để trống, phần tiểu sử chính của bạn sẽ được sử dụng. Cho máy chủ này biết một chút về bạn @@ -1203,6 +1204,7 @@ Sử dụng ảnh đại diện khác nhau trong mỗi máy chủ và nhiều tính năng khác với Discord Nitro! Biệt danh (Tắt) Bạn có thể thay đổi cách người khác nhìn thấy bạn trong máy chủ này bằng cách đặt biệt danh và ảnh đại diện máy chủ. + Đặt lại về Ảnh đại diện Mặc định Lỗi chưa xác định Đổi Ảnh Đại Diện Máy Chủ Sử dụng ảnh đại diện khác nhau trong mỗi máy chủ và nhiều hơn thế nữa với **Discord Nitro!** @@ -1225,6 +1227,7 @@ Đổi Mật Khẩu Đổi Số Điện Thoại? Đổi Ảnh Nền + Không thể thay đổi Liên kết Mời Tùy chỉnh vì liên kết này chứa các ký tự không hợp lệ, quá ngắn hoặc đã được dùng. Liên kết Mời Tùy chỉnh chỉ có thể chứa chữ cái, số, hoặc dấu gạch ngang. Nội dung Nhật Ký Thay Đổi Hãy chia sẻ trang chủ mới của chúng tôi cho bạn bè của bạn! Chúng tôi cam đoan bạn sẽ có những trải nghiệm tuyệt vời nhất! Tìm hiểu thêm @@ -1240,16 +1243,6 @@ Thành viên tham gia Kênh đã bị xóa. Tiêu đề kênh - Thông Tin Kênh - Bạn sẽ không nhận được thông báo và thông tin chưa đọc khi tắt âm trừ khi được đề cập. - Tên - Các Thông Báo - Chi tiết - Chủ đề - Chỉnh sửa - Cài đặt của bạn - Ẩn Thông Tin Kênh - Hiện Thông Tin Kênh Bạn không có quyền truy cập vào kênh này. Đã Khóa Kênh Các quyền được đồng bộ theo danh mục: **{categoryName}** @@ -1357,6 +1350,7 @@ Xác nhận Xóa Xóa Tệp Đính Kèm + Xóa Ghi Đè Phiên Bản Xóa văn bản Nhấn vào để tìm hiểu thêm Nhân bản kênh @@ -1933,6 +1927,7 @@ !!{a}!!, !!{b}!! và {n} hiện đang trong kênh thoại. Hiện đang không có ai trong kênh thoại. Màu Tùy Chọn + Hãy nhớ rằng các liên kết mời tùy chỉnh chỉ hoạt động khi có một kênh văn bản mở cho tất cả các thành viên truy cập. Trạng Thái Tùy Chỉnh Xóa sau khi Xóa Trạng Thái @@ -2261,6 +2256,7 @@ một Hoạt Động Chơi và trò chuyện cùng nhau! MỚI! Hoạt động + Cùng chơi miễn phí trong Kênh thoại bất kỳ. Mở khóa thêm nhiều hoạt động khác với Nâng cấp! một Hoạt Động khác Emoji Thêm vào Ưa thích @@ -2310,6 +2306,7 @@ Emoji này thuộc một máy chủ riêng tư hoặc không khả dụng. [Tìm hiểu thêm](openPremiumSettings) về việc sử dụng emoji tùy chỉnh. Xóa khỏi Ưa thích {count} sẵn có + Emoji này quá lớn! Emojis phải dưới {maxSize}KB. Nhấn vào để tìm hiểu thêm {count} @mention người dùng để thêm họ vào chủ đề riêng tư này. @@ -2482,10 +2479,18 @@ Sao chép đường liên kết Mở trong trình duyệt Chia sẻ liên kết + Đánh dấu ưa thích Kênh + Đánh dấu ưa thích Tin nhắn trực tiếp + Đánh dấu ưa thích Tin nhắn trực tiếp Nhóm Bạn không thể có thêm mục yêu thích. Ưa thích + Chào mừng đến với tính năng ưa thích mới trong Discord! Thêm các mục ưa thích bằng cách gắn dấu sao cho các kênh, cuộc trò chuyện thoại và DM thông qua menu ngữ cảnh. + Ưa thích + Đi đến máy chủ gốc + Ưa thích Bạn không thể có nhiều hơn {count} mục yêu thích. Ôi không! + Tên này sẽ chỉ xuất hiện trong mục ưa thích của bạn. Khác Hãy mô tả vấn đề mà bạn gặp phải Vấn Đề Của Bạn @@ -2547,6 +2552,7 @@ Giảm âm lượng của các ứng dụng khác theo tỉ lệ phần trăm này khi người khác đang nói. Đặt thành 0%% để tắt hoàn toàn pha loãng. Các chủ đề sẽ lưu trữ sau khoảng thời gian không hoạt động được chỉ định. Nếu nút chỉ báo hiện màu xanh lá nghĩa là Discord đang truyền giọng nói tuyệt vời của bạn. + TÚY ÂM! Thiết lập vượt ngưỡng {bitrate}kbps có thể ảnh hưởng xấu đến những người có kết nối kém. Khi đang sử dụng mic đã được Discord chứng nhận, một vài tính năng xử lý giọng nói sẽ không cần xử lý bởi Discord nữa, mà là thông qua mic. Thay đổi cài đặt quyền riêng tư và tùy chỉnh cách các thành viên tương tác với kênh này. Lưu lại tất cả dữ liệu RTP nhận được cho lần kết nối thoại/video tiếp theo để phục vụ mục đích vá lỗi. @@ -2739,6 +2745,7 @@ Kiểm tra Microphone Chuyển Văn Bản Thành Giọng Nói Thông Báo Chuyển Văn Bản Thành Giọng Nói + Bật tiếng báo Sự kiện Mới Bỏ tắt âm **!!{name}!!** Hộp văn bản Giới hạn người dùng @@ -2778,6 +2785,7 @@ Thành Viên Máy Chủ Chấp nhận Hủy bỏ + Yêu cầu kết bạn đã bị hủy. Rất tiếc, đã xảy ra sự cố khi gửi yêu cầu kết bạn. Bạn có thể thử lại sau từ danh sách bạn bè. Rất tiếc, đã xảy ra sự cố khi gửi yêu cầu kết bạn cho !!{name}!!. Bạn có thể thử lại sau từ danh sách bạn bè. Gửi yêu cầu kết bạn thất bại @@ -3097,6 +3105,9 @@ Đang xem {username} Truy cập kênh Đã hiểu + Đã xảy ra lỗi với giao dịch của bạn. Vui lòng chờ và thử lại lần nữa. + Ôi không! + Không thể kết nối với Dịch vụ Google Play. Vui lòng đợi và thử lại. Cấp tư cách thành viên tạm thời Xanh lá Xám @@ -3144,8 +3155,8 @@ Trông thật tuyệt! Tìm hiểu thêm Có Lẽ Để Sau - Nâng cấp lên cấp độ 1 ngay hôm nay và tăng chất lượng âm thanh của bạn từ 96kbps lên 128kbps. - Nâng cấp lên cấp độ 2 ngay hôm nay và tăng chất lượng âm thanh của bạn từ 128kbps lên 256kbps. + Nâng Cấp lên cấp 1 để sở hữu âm thanh mượt mà hơn, khiến các bạn cảm giác như đang ở trong cùng phòng với nhau. + Nâng Cấp lên cấp 2 để sở hữu âm thanh mượt mà hơn, khiến các bạn cảm giác như đang ở trong cùng phòng với nhau. Nâng cấp lên cấp độ 3 ngay hôm nay và tăng chất lượng âm thanh của bạn từ 256kbps lên 384kbps. Bạn có biết mình có thể nhận được chất lượng âm thanh tốt hơn bằng việc nâng cấp? Bạn đã đạt giới hạn 100 máy chủ @@ -3196,6 +3207,7 @@ Từ game cho đến âm nhạc và giáo dục, sẽ luôn có một nơi phù hợp với bạn trên Discord. Tìm những cộng đồng dành cho bạn trên Discord Theo dõi Cập Nhật + Tìm Cộng Đồng của bạn Tìm cộng đồng Cộng đồng phổ biến Này !!{username}!!, bạn có lẽ sẽ thích các máy chủ này đấy @@ -3314,18 +3326,40 @@ Tạo {count} {number} + Nhưng bạn có thể viết một vài tin nhắn đấy! + Máy chủ này chưa có tin nhắn hàng đầu nào cả. + Vui lòng tải lại trang hoặc kiểm tra [trang trạng thái]({url}) của chúng tôi. + Ối chà! Bạn vừa bắt gặp một lỗi cực kỳ hiếm. + Làm mới để xem các sự kiện đang diễn ra + Tạm thời vậy thôi! Những hãy chờ chút, còn thể vẫn còn các thông tin khác… + Mở tin nhắn từ !!{channelName}!! ở thanh bên + {maxReplies}+ phản hồi Có {numReplies} + Tải lại Tin nhắn hàng đầu + Bạn đã xem tất cả các tin nhắn hàng đầu trong 2 tuần qua. + Không còn cập nhật mới nào nữa Màu Thư Mục Tên Thư Mục !!{folderName}!!, thư mục {mentions} !!{folderName}!!, thư mục {mentions}, !!{expandedState}!! Thư Mục Máy Chủ Chưa Đặt Tên Đã lưu Cài Đặt Thư Mục! + Trang chủ Đây là một giao diện mới mà chúng tôi đang thử nghiệm beta để giúp bạn cập nhật những gì đang xảy ra trong máy chủ của mình. Trang Chủ - !!{guildName}!! + Thay đổi Biểu Ngữ Hồ Sơ Máy Chủ + Nhấn để chỉnh sửa thông tin giới thiệu về bản thân cho máy chủ này + Chỉnh sửa mục Giới thiệu về Tôi cho máy chủ này + Nếu để trống, phần thông tin giới thiệu về bản thân mặc định của bạn sẽ được sử dụng. + Nhấn để thêm thông tin giới thiệu về bản thân cho máy chủ này Tiểu sử máy chủ cho !!{guildName}!! + Thay đổi Biểu Ngữ Hồ Sơ Máy Chủ + Xóa Ảnh đại diện Máy chủ + Biểu Ngữ Hồ Sơ Máy Chủ + Đặt lại về Biểu ngữ Mặc định Cần thêm? Tùy chỉnh hồ sơ máy chủ đầy đủ với Nitro. + Tải lên Biểu ngữ Hồ sơ Máy chủ Trở thành người bạn muốn và sử dụng ảnh đại diện, biểu ngữ, và tiểu sử khác nhau trong mỗi máy chủ, mở khóa hình đại diện hoạt hình, và nhiều hơn nữa với [Discord Nitro!](onAndMore) Thể hiện bản thân với hồ sơ máy chủ Mời vào các Máy Chủ @@ -3359,6 +3393,8 @@ Liên kết xác minh đã hết hạn. Xác minh thành công. Đang xác minh yêu cầu của bạn. + Xem Cài đặt Máy chủ + Ở đây khá là bận rộn nhỉ! Hãy suy nghĩ đến việc thay đổi cài đặt thông báo mặc định của máy chủ này thành **chỉ @mentions** để hỗ trợ cho các thành viên của bạn. Hãy thông báo cho @everyone Đồng thời cho @everyone biết sự kiện đang bắt đầu. $[Thông báo cho @everyone rằng Sân Khấu đang bắt đầu.](tooltipHook) [ Mở](toggleClick) @@ -3582,6 +3618,8 @@ $[**!!{user}!!**](userHook) đã thay đổi $[**!!{target}!!**](targetHook) Đặt kênh **!!{newValue}!!** làm kênh cập nhật máy chủ Cộng Đồng **Đã xóa** kênh cập nhật máy chủ Cộng Đồng + Đặt Liên kết Mời Tùy chỉnh thành **!!{newValue}!!** + **Đã xóa** Liên kết Mời Tùy chỉnh Cài đặt mức xác minh máy chủ thành **Cao** Cài đặt mức xác minh máy chủ thành **Thấp** Cài đặt mức xác minh máy chủ thành **Trung Bình** @@ -3741,7 +3779,6 @@ Chúng tôi khuyến cáo bạn nên cài đặt thành chỉ @mentions cho Discord cộng đồng. Do kích cỡ của máy chủ, các thành viên trong máy chủ sẽ không nhận được thông báo nhắc nhở trên di động cho các tin nhắn không phải @mention. Vô Hiệu Hóa Khám Phá - Nếu bạn tắt tính năng Yêu Cầu Đối Với Thành Viên, tất cả mọi người đều được phép tham gia vào cộng đồng của bạn mà không cần tuân theo quy định hay chờ bạn phê duyệt thủ công. Bạn chắc chứ? Chỉ có quản trị viên máy chủ mới có thể kích hoạt và vô hiệu hóa Khám Phá. Đã Bật Yêu Cầu 2FA Để Dùng Quyền Quản Trị @@ -3794,6 +3831,10 @@ Việc tắt tính năng Cộng Đồng cũng sẽ khiến cho máy chủ của bạn bị loại khỏi Khám Phá Máy Chủ. Máy chủ này đã bị loại bỏ khỏi mục Khám Phá. Máy chủ này đã không đáp ứng được các yêu cầu dưới đây và tự động bị loại bỏ khỏi mục Khám Phá. Đừng lo, bạn có thể tham gia lại nếu máy chủ đáp ứng các yêu cầu lần nữa. Các yêu cầu về hoạt động được tính toán lại mỗi tuần. + Tùy chọn này cho phép hiển thị thông tin khi nhấn vào emoji hoặc sticker tùy chỉnh từ máy chủ của bạn trong cuộc hội thoại bất kỳ. Người dùng có thể xem và tham gia máy chủ của bạn thông qua các thông tin hiển thị. + Vô hiệu Hiển thị Thông tin emoji/sticker + Kích hoạt Hiển thị Thông tin emoji/sticker + Hiển thị thông tin emoji/sticker khi nhấn vào Phát triển cộng đồng của bạn với Khám Phá Máy Chủ Discord sẽ ưu tiên máy chủ này trong mục tìm kiếm đối với những người dùng sử dụng ngôn ngữ được chọn. Được xuất hiện trong [Khám Phá Máy Chủ](onLinkClick) cho phép mọi người tìm và tham gia máy chủ của bạn. @@ -3808,6 +3849,7 @@ Danh mục phụ Biệt hiệu Nhập biệt hiệu + Thêm tối đa {count} emoji tùy chỉnh mà tất cả người dùng trong máy chủ này đều có thể sử dụng. Các thành viên đăng ký Discord Nitro có thể sử dụng được emoji GIF động. Tên của emoji phải có ít nhất 2 ký tự và chỉ được chứa ký tự chữ, ký tự số và dấu gạch dưới. Kích thước của emoji phải nhỏ hơn {maxSize} KB. Nâng cấp máy chủ của bạn lên cấp {level} để mở khóa thêm ô emoji! Emoji cấp {level} bị mất Nâng cấp máy chủ của bạn lên cấp {level} hoặc mua cấp để mở khóa emoji! @@ -3854,6 +3896,8 @@ Tùy chọn lưu trữ 1 tuần đối với các chủ đề Tạo các chủ đề riêng tư Biểu Ngữ Máy Chủ Sinh Động + Liên kết Mời Tùy chỉnh cho máy chủ + chất lượng âm thanh {bitrate} Kbps +{adding} ô emoji máy chủ (tổng cộng là {total}) +{adding} ô sticker tùy chỉnh (tổng cộng là {total}) Giới hạn tải lên {fileSize} cho tất cả các thành viên @@ -4593,6 +4637,14 @@ !!{name}!! Emoji !!{name}!! Biểu tượng !!{name}!! Logo + Kênh là gì? + Kênh là nơi bạn có thể trò chuyện, biến đổi giọng nói, chơi trò chơi và có thể thực hiện nhiều hành động khác. Mỗi máy chủ đều có danh sách kênh, nơi bạn có thể cuộn để xem các sự kiện đang xảy ra. + Tin nhắn trực tiếp + Tin nhắn trực tiếp (DM) tách biệt với máy chủ. Bạn có thể gửi DM riêng tư cho một người bạn để trò chuyện nhanh hoặc tạo tin nhắn trực tiếp nhóm với tối đa 10 người. + Vẫn cần trợ giúp? + Không tìm thấy thông tin bạn muốn? [Hãy truy cập trung tâm hỗ trợ]({helpCenterUrl}) của chúng tôi để biết thêm thông tin. + Máy chủ là gì? + Máy chủ là nơi bạn có thể chơi với bạn bè và gặp gỡ mọi người. Hầu hết các máy chủ được đặt ở chế độ riêng tư và chỉ dành cho người nhận được lời mời. trong !!{categoryName}!! Cài Đặt Giọng Nói Trong Game Trong kênh thoại @@ -4611,6 +4663,7 @@ Đã quan tâm Không Cảm Ơn Khi được tải trực tiếp lên Discord + Ảnh lớn hơn {maxSize}MB sẽ không được xem trước. Khi được gửi dưới dạng liên kết trong khung trò chuyện Hiển thị hình ảnh, video và lolcats Thiết Bị Đầu Vào @@ -4682,6 +4735,7 @@ Không có lệnh cho ứng dụng này. Ứng dụng này không có webhook nào trong máy chủ này cả. Số lần ghi đè quyền đã đạt giới hạn tối đa. + Bạn đã đạt đến số quyền tối đa. Hãy gỡ {removeCount} khỏi các quyền này để thực hiện các thay đổi tiếp theo. Gỡ Trình Tích Hợp Bạn có chắc muốn gỡ **!!{applicationName}!!** không? Đã xảy ra lỗi máy chủ nội bộ. @@ -4841,6 +4895,7 @@ Đi kết bạn thôi nào! Mời Mọi Người Chú ý! Bạn bè do bạn mời có thể xem lịch sử tin nhắn trước đó. + Đây là kênh riêng tư, chỉ một số thành viên và vai trò được chọn mới có thể xem kênh này. Tìm kiếm bạn bè Đã Gửi Lời Mời !!{maxAge}!!, !!{maxUses}!! @@ -4851,6 +4906,7 @@ Hoặc, gửi liên kết mời vào stream cho một người bạn Mời vào Stream Mời Vào Máy Chủ + Mời bạn bè vào **!!{name}!!** URL Mời Tham Gia Thoại Chào mừng đến với máy chủ mới của bạn! @@ -5002,6 +5058,7 @@ Khai trừ Khai trừ Khai trừ thành viên + Đuổi, Chấp thuận và Từ chối Thành viên Đuổi !!{user}!! Bạn có chắc muốn loại bỏ !!{user}!! khỏi máy chủ không? Họ sẽ có thể tham gia lại với lời mời mới. \'!!{user}!!\' đã bị cấm vào máy chủ. @@ -6182,9 +6239,21 @@ Hủy bỏ !!{planPremiumType}!!? Việc hủy bỏ sẽ có hiệu lực ngay lập tức, áp dụng cho tất cả các đăng ký Nitro và Nâng Cấp Máy Chủ. Nếu trước đó bạn đã đổi Discord Tag thì Discord Tag sẽ được chọn lại một cách ngẫu nhiên. Bỏ qua, giữ lại gói Nitro + Bỏ qua, giữ lại gói Nitro 2 **Nâng Cấp miễn phí** và **giảm giá Nâng Cấp 30%%** {boostCount} **Giảm giá Nâng Cấp 30%%** dành cho bạn + 2 Nâng cấp miễn phí và mức giảm giá 30%% + Sử dụng emoji và sticker tùy chỉnh ở mọi nơi + Vật phẩm cool ngầu cho Hồ sơ và thẻ tùy biến + Độ nét cao, stream video 60FPS + bạn đã stream trong {month} + giờ + Đang stream video HD + Đã tăng 100MB cho các lượt tải lên tệp tin + tệp tin lớn + bạn đã gửi trong {month} + Tải lên tệp lớn hơn Truy cập vào **emoji** và **nhãn dán tùy chỉnh** trên tất cả các máy chủ của bạn Sử dụng **emoji tùy chỉnh** trong tất cả máy chủ Một **hình đại diện hoạt hình**, **biểu ngữ hồ sơ**, **Discord Tag** tùy chỉnh @@ -6305,15 +6374,21 @@ Kích Hoạt Nâng Cấp Máy Chủ {numSubscriptions} Khả Dụng Xin lỗi bạn, hiện tại chúng tôi không hỗ trợ huỷ việc mua nâng cấp thông qua !!{paymentGatewayName}!!. Bạn có thể huỷ nâng cấp trong mục Quản Lý Đăng Ký của [!!{paymentGatewayName}!!]({subscriptionManagementLink}). + Bạn có chắc muốn hủy Nâng Cấp Máy Chủ này không? Viên ngọc này sẽ bị biến thành cát bụi. Nó sẽ bị gỡ bỏ khỏi các máy chủ đã liên kết và hủy bỏ trong gói đăng ký của bạn vào cuối thời hạn thanh toán: **{endDate}**. + Bạn có chắc là muốn hủy Nâng Cấp Máy Chủ trong Túi Đồ của mình? Viên ngọc này sẽ bị biến thành cát bụi. Nó sẽ bị gỡ bỏ khỏi các máy chủ đã liên kết và hủy bỏ trong gói đăng ký của bạn vào cuối thời hạn thanh toán: **{endDate}**. Đúng, Hãy Hủy Nâng Cấp Gói đăng ký của bạn đã quá hạn. Vui lòng cập nhật thông tin thanh toán để có thể quản lý nâng cấp. Nâng Cấp này được bao gồm trong đăng ký Nitro của bạn Hủy Nâng Cấp Xảy ra lỗi khi hủy lượt nâng cấp này. + Đã hủy bỏ **{subscriptionCount}** {subscriptionCount} + Gói Đăng ký Nâng Cấp Máy Chủ này sẽ bị hủy vào cuối thời hạn thanh toán Nitro hoặc Nitro Classic của bạn, **{endDate}**. Gói đăng ký của bạn sẽ có những thay đổi sau: Hủy Nâng Cấp Máy Chủ Hủy Nâng Cấp Máy Chủ Tại Máy Chủ Hủy Nâng Cấp Máy Chủ Tại Túi Đồ Lệnh Hủy Nâng Cấp Đang Chờ Xử Lý + Được rồi, chúng tôi đã sẵn sàng biến viên ngọc Nâng Cấp thành cát bụi cho bạn. Nâng Cấp này dự định sẽ bị hủy vào: **{endDate}**. **Bạn vẫn có thể sử dụng Nâng Cấp này cho đến khi nó bị phá hủy!** + Đã hủy bỏ Nâng cấp! {date} Được nâng cấp từ ngày {date} ({months}) Có lỗi xảy ra trong quá trình thực hiện tăng cường. Vui lòng thử lại. @@ -6385,13 +6460,18 @@ Tăng giới hạn tải lên tệp đến 100MB Cho mọi người thấy máy chủ của bạn có gì với biểu ngữ máy chủ Nâng cấp xịn: tải lên tệp dung lượng cao, tăng chất lượng âm thanh và nhiều hơn nữa! + Nâng cấp mạnh mẽ: biểu tượng máy chủ động, các tùy chọn chủ đề bổ sung và nhiều tính năng khác! + Nâng cấp mạnh mẽ: dung lượng tải tệp lên lớn hơn, biểu ngữ máy chủ, tùy chỉnh biểu tượng vai trò và nhiều nâng cấp khác! + Nâng cấp xịn: Liên kết mời tùy chỉnh, ô emoji bổ sung và biểu ngữ máy chủ động. Đặt một biểu tượng riêng cho mỗi vai trò trong máy chủ Chia sẻ màn hình ở độ phân giải 1080p/60fps Chia sẻ màn hình ở độ phân giải 720p/60fps Tải lên các sticker theo ý muốn để mọi người sử dụng Tải lên đến {numStickers} sticker tùy chỉnh và {numEmojis} emoji tùy chỉnh + Tải lên tối đa {numStickers} sticker tùy biến Tùy chọn lưu trữ lâu hơn đối với các chủ đề Tạo các chủ đề riêng tư + Dễ dàng thêm thành viên mới với liên kết mời tùy chỉnh Mục tiêu: {levelName} Mua Nâng Cấp để giúp mở khóa các đặc quyền {levelName}! Máy chủ này đã mở khóa toàn bộ đặc quyền Nâng Cấp! @@ -6530,6 +6610,7 @@ Gói đăng ký của bạn Tùy chỉnh này gồm có chia tỉ lệ, giảm giá, và hoàn tiền. Đây là những đăng ký hiện tại của bạn. Chúng sẽ được tính phí trong cùng một chu kỳ thanh toán. + Đã hủy bỏ {planName} Tín Dụng !!{planName}!! Tín dụng này sẽ có hiệu lực sau khi bạn đăng ký gói !!{planName}!!. Tín dụng này có thể áp dụng cho gói đăng ký !!{planName}!! được mua trên máy tính bàn. @@ -6711,8 +6792,11 @@ Hành Động Hồ Sơ Tải lên biểu ngữ được cá nhân hóa của riêng bạn và hơn thế nữa với Discord Nitro! $[](renderTimeHook) đã trôi qua + Kích thước và tỷ lệ khung hình tối thiểu được đề xuất là 600x240 và 5:2. Các loại tệp được chấp nhận bao gồm PNG, JPG, và ảnh động GIF. Cho máy chủ này biết một chút về bạn + Không Lưu Lưu Thay Đổi? + Bạn đã thực hiện các thay đổi. Bạn có muốn lưu trước khi rời khỏi trang này không? Dành riêng cho Nitro Xem trước Huy Hiệu Người Dùng @@ -6873,6 +6957,7 @@ Bỏ thời gian chờ Bỏ hạn chế !!{user}!! Xóa !!{user}!! khỏi Chủ Đề + Xóa Liên kết Mời Tùy chỉnh Hiển thị ký tự nhúng và xem trước liên kết trang web được dán vào trò chuyện Xem trước Liên kết và Ký tự nhúng Hiển thị emoji phản ứng trong tin nhắn @@ -7009,11 +7094,13 @@ Quyền mặc định cho tất cả các thành viên máy chủ Biểu tượng vai trò, {name} Chọn Hình Ảnh + Tải lên hình ảnh dưới 256 KB hoặc chọn một emoji tùy chỉnh của máy chủ này. Kích thước đề xuất ít nhất 64x64 pixel. Các thành viên sẽ nhìn thấy biểu tượng của vai trò cao nhất trong trường hợp họ có nhiều vai trò. Tìm hiểu thêm Biểu tượng vai trò tùy chỉnh cho {name}. Tính năng này là một phần của Nâng Cấp Máy Chủ. Emoji Tải Lên Hình Ảnh Tìm File + Ôi không! Tệp tin quá lớn. Vui lòng chọn tệp .png hoặc .jpg có kích cỡ 256 KB hoặc nhỏ hơn. Chọn PNG hoặc JPG để tải lên Đã sao chép ID cho vai trò: {role} Các thành viên sử dụng màu của vai trò cao nhất trong danh sách. Kéo và thả vai trò để sắp xếp lại. @@ -7089,6 +7176,7 @@ Cho phép hiển thị nội dung nhúng của liên kết do thành viên chia sẻ trong các kênh này. Cho phép hiển thị nội dung nhúng của liên kết do thành viên chia sẻ trong kênh này. Không tìm thấy quyền nào + Tính năng Đuổi sẽ xóa các thành viên khác khỏi máy chủ này. Thành viên bị đuổi có thể tham gia lại nếu nhận được lời mời khác. Nếu máy chủ kích hoạt Yêu Cầu Đối Với Thành Viên, quyền này cho phép chấp thuận hoặc từ chối các thành viên yêu cầu tham gia vào máy chủ. Cho phép thành viên xóa thành viên khác khỏi máy chủ này. Thành viên bị đuổi có thể tham gia lại nếu nhận được lời mời khác. Cho phép thành viên đổi tên, nội dung mô tả và cài đặt chat hoặc thoại của kênh. Thành viên cũng có quyền xóa kênh. (Điều phối viên Sân Khấu buộc phải có quyền này) Cho phép các thành viên đặt chủ đề để bắt đầu Sân Khấu và bật/tắt tính năng yêu cầu nói. Họ cũng có thể xóa kênh Sân Khấu. @@ -7561,11 +7649,15 @@ Kí tự đặc biệt duy nhất được sử dụng là dấu gạch ngang. Tag ở đây. Trong mục Khám Phá Máy Chủ, bạn có thể tìm theo tên, theo mô tả hoặc theo tag. Bạn có thể thêm tối đa 10. + Giờ đây máy chủ có {count}+ thành viên sẽ đủ điều kiện tham gia Khám phá Máy chủ. + Phát triển cộng đồng của bạn nhanh hơn Emoji Máy Chủ Đóng tất cả các thư mục Đánh Dấu Thư Mục Là Đã Đọc + Tắt âm tất cả các máy chủ trong thư mục Thư Mục Máy Chủ Cài Đặt Thư Mục + Bật tiếng tất cả các máy chủ trong thư mục Thống Kê Máy Chủ Máy chủ hiện đã đầy. Tắt âm Máy chủ @@ -7588,6 +7680,9 @@ Thay đổi nhật ký sửa lỗi sẽ khởi động lại Discord. Bạn có chắc muốn thực hiện không? Đặt link này thành không bao giờ hết hạn Cài Đặt Trạng Thái + Máy chủ của bạn không có quyền truy cập vào tính năng này. + Bạn không có quyền truy cập vào tính năng này. + Bạn cần thiết lập một kênh chat mà mọi thành viên đều truy cập được, trước khi thiết lập Liên kết Mời Tùy chỉnh. Cài đặt Nâng cao Thêm vào! @@ -8408,6 +8503,9 @@ Tài Khoản Chưa Được Xác Nhận Bỏ tắt tiếng Hoàn tác + Bỏ ưa thích Kênh + Bỏ ưa thích Tin nhắn trực tiếp + Bỏ ưa thích Tin nhắn trực tiếp Nhóm Bỏ ưa thích Bỏ Tập Trung Vào Người Này Rất tiếc, không tìm thấy ứng dụng nào trên thiết bị để xử lý link này: @@ -8806,6 +8904,10 @@ Bạn phải bật tính năng Nhấn để Nói để trò chuyện trong kênh này. Cần có Push to Talk Liên Kết Mời Tùy Chỉnh + Hãy nhớ rằng các liên kết mời tùy chỉnh chỉ hoạt động khi có một kênh văn bản mở cho tất cả các thành viên truy cập. + Liên kết Mời Tùy chỉnh ({uses}) + Làm cho máy chủ của bạn dễ dàng truy cập với liên kết mời tùy chỉnh theo ý của bạn. Hãy lưu ý rằng máy chủ của bạn sẽ trở nên công khai cho bất kỳ ai sử dụng liên kết này. + Hãy nhớ rằng chúng tôi có thể thu hồi các liên kết mời tùy chỉnh nếu chúng tôi phát hiện hành vi lạm dụng hoặc nếu có xung đột về sở hữu trí tuệ. Máy chủ này hiện đang công khai cho mọi người tại **!!{url}!!** Máy chủ này hiện đang công khai cho mọi người tại [!!{urlText}!!]({urlValue}) url-của-bạn-tại-đây diff --git a/app/src/main/res/values-zh-rCN/plurals.xml b/app/src/main/res/values-zh-rCN/plurals.xml index 96a0a1479a..fc909d81f5 100644 --- a/app/src/main/res/values-zh-rCN/plurals.xml +++ b/app/src/main/res/values-zh-rCN/plurals.xml @@ -944,6 +944,14 @@ {#} 个应用助力 {#} 个应用助力 + + {#} 个月 + {#} 个月 + + + {#} 个月 + {#} 个月 + {#}个助力 {#}个助力 @@ -1040,6 +1048,10 @@ {#}个助力 {#}个助力 + + 个服务器助力 + 个服务器助力 + {#} 个月 {#} 个月 @@ -1432,6 +1444,10 @@ 1 位其他用户 {count} 位其他用户 + + 1 次使用 + {uses} 次使用 + 1次使用 {uses}次使用 diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 307a8aa158..9ddc85c9ef 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -1196,6 +1196,7 @@ 更改服务器头像 更改 图标 编辑服务器个人资料 + 头像与个人资料横幅 服务器简介 如果留空,将自动使用您的主简介。 在这个服务器中介绍一下自己 @@ -1203,6 +1204,7 @@ 使用 Discord Nitro,在您的每个服务器使用不同的头像,以及更多内容等你来享! 昵称(已关闭) 您可以通过设置服务器昵称和头像来更改其他人在此服务器内所能看到的您的形象。 + 重置为默认头像 未知错误 更改 服务器 头像 使用**Discord Nitro**,在您的每个服务器使用不同的头像,以及更多内容等你来享! @@ -1230,6 +1232,7 @@ 更改密码 更改电话号码? 更换背景图片 + 自定义邀请链接因含有不可用字符、其长度太短、或已被占用而无法更改。 自定义邀请链接只能包含字母、数字、或下划线。 更新日志内容 向好友展示我们的新主页! 我们是来给大家留下好印象的哟。 了解更多 @@ -1245,16 +1248,6 @@ 参与者 已删除频道。 频道标题 - 频道信息 - 静音后您将不再收到未读消息提示和通知,除非您被提及。 - 名称 - 通知 - 详细信息 - 话题 - 编辑 - 您的设置 - 隐藏频道信息 - 显示频道信息 您的身份组没有访问此频道的权限。 频道已被封锁 权限已和 **{categoryName}** 类别同步 @@ -1362,6 +1355,7 @@ 验证 清除 清空附件 + 清除版本覆盖 清除文字 点击了解更多 克隆频道 @@ -1938,6 +1932,7 @@ 当前,!!{a}!!、!!{b}!!,以及{n}正在使用语音频道。 当前无人使用语音频道。 自定义颜色 + 请注意,必须有一个所有成员均可访问的文字频道,自定义邀请链接才能生效。 自定义状态 在此时间后清除 清除状态 @@ -2266,6 +2261,7 @@ 一个活动 现在就来语音开黑吧! 新活动! + 在任意语音频道免费游玩。使用助力解锁更多小活动! 另一个活动 表情符号 添加到收藏 @@ -2315,6 +2311,7 @@ 该表情符号来自于一个私人或者不可加入的服务器。[了解更多](openPremiumSettings)关于自定义表情符号的使用。 从收藏中移除 {count} 可用 + 这个表情符号体积太大了。表情的大小必须小于{maxSize}KB。 点击了解更多 {count} @用户,将他们加入该私密子区。 @@ -2487,10 +2484,18 @@ 复制链接 在浏览器中打开 分享链接 + 收藏频道 + 收藏私信 + 收藏群组私信 您的收藏已满。 收藏 + 欢迎使用 Discord 全新“收藏”功能!通过语境菜单为频道、语音聊天和私信加上星标即可添加到收藏。 + 收藏 + 前往原始服务器 + 收藏 您最多只能有 {count} 个收藏。 糟糕! + 此名称仅会显示在您的收藏中。 其他 描述您的问题 您的问题 @@ -2552,6 +2557,7 @@ 聊天时,“语音优先”功能将其它应用程序的音量自动调低某个百分比。 将百分比设置为 0%% 以关闭“语音优先”功能。 一定时间不活跃后,子区将被归档。 指示器显示为绿色表示 Discord 正在传输您动听的声音。 + 发烧万岁!音频比特率若超过{bitrate}kbps,可能对网络连接不良的人造成不利影响。 使用 Discord 验证过的麦克风时, 由麦克风进行语音处理,而非 Discord。 更改隐私设置,并自定义成员与此频道互动的方式。 以调试为目的,记录下一次语音/视频连接的所有 RTP 数据。 @@ -2744,6 +2750,7 @@ 调试我的麦克风 文字转语音 文字转语音通知 + 取消静音新活动 将**!!{name}!!**取消静音 文本框 用户限制 @@ -2783,6 +2790,7 @@ 服务器成员 接受 取消 + 已取消好友请求。 唔,发送好友请求时出现错误。您稍后可在好友列表中再试一次。 唔,您向!!{name}!!发送好友请求时出现错误。您稍后可在好友列表中再试一次。 好友请求失败 @@ -3102,6 +3110,9 @@ 正在观看 {username} 前往频道 了解 + 您的购买出现问题。请稍后重试。 + 糟糕! + 无法连接到 Google Play 服务。请稍候片刻,然后重试。 授予临时成员资格 绿色 灰色 @@ -3149,8 +3160,8 @@ 看起来不错哦! 了解更多 之后再说 - 现在助力至等级 1,将您的音频质量从 96kbps 提升至 128kbps。 - 现在助力至等级 2,将您的音频质量从 128kbps 提升至 256kbps。 + 助力至 1 级即可获得更流畅的音频体验,让所有人感觉就像在同一个房间里谈话一样。 + 助力至 2 级即可获得更流畅的音频体验,让所有人感觉就像在同一个房间里谈话一样。 现在助力至等级 3,将您的音频质量从 256kbps 提升至 384kbps。 您知道吗,助力可以提升音频质量? 您已达到 100 个服务器上限 @@ -3201,6 +3212,7 @@ 从游戏、音乐到教育,总有你的一片天地。 在 Discord 找到自己的社区 关注更新 + 发现您的社区 搜索社区 热门社区 !!{username}!!,您可能会喜欢这些服务器 @@ -3319,18 +3331,40 @@ 创建 {count} {number} + 但您可以自己创造呀! + 此服务器暂时没有热帖。 + 请重新加载页面或者查看我们的[状态页面]({url})。 + 哎呀!您遇到了一个超级罕见的错误。 + 刷新以查看最新动态 + 暂时就这些!但别着急,我们还有更多…… + 在侧边栏打开 !!{channelName}!! 的消息 + 超过 {maxReplies} 条回复 {numReplies} - 置顶消息 + 重新载入 + 热帖 + 您已查看过去 2 周的所有热帖。 + 您搞定了一切 文件夹颜色 文件夹名称 !!{folderName}!!,文件夹{mentions} !!{folderName}!!,文件夹{mentions},!!{expandedState}!! 未命名的服务器文件夹 文件夹设置已保存! + 主页 这是正在测试中的新界面,能帮您更好地掌握您的服务器动向。 主页 - !!{guildName}!! + 更改服务器个人资料横幅 + 点击编辑该服务器上的自我介绍 + 编辑该服务器上的自我介绍 + 如果留空,将使用您的默认设置。 + 点击添加该服务器上的自我介绍 !!{guildName}!! 的服务器简介 + 更改服务器个人资料横幅 + 删除服务器头像 + 服务器个人资料横幅 + 重置为默认横幅 还需要更多?快使用 Nitro 获得完整的服务器个人资料自定义。 + 上传服务器个人资料横幅 做百变的自己,在每个服务器使用不同的头像、横幅和自我介绍,解锁动画头像,更多有趣功能尽在 [Discord Nitro!](onAndMore) 用服务器个人资料充分展现自我 邀请至服务器 @@ -3364,6 +3398,8 @@ 验证链接已过期。 验证成功。 正在验证您的请求。 + 查看服务器设置 + 这里的人确实很多!要不要考虑将此服务器的默认通知设置更改为**仅提及成员**,给您的成员行个方便? 通知 @everyone 同时 @everyone,通知大家此活动已开始。 $[@everyone,告诉大家讲堂开始了。](tooltipHook) [启用](toggleClick) @@ -3587,6 +3623,8 @@ $[**!!{user}!!**](userHook) 对 $[**!!{target}!!**](targetHook) 进行变更 将社区服务器更新频道设置成**!!{newValue}!!** **已清除**社区服务器更新频道内容 + 将自定义邀请链接设置为 **!!{newValue}!!** + **已移除**自定义邀请链接 将服务器验证级别设置为 **高** 将服务器验证级别设置为 **低** 将服务器验证级别设置为 **中** @@ -3746,7 +3784,6 @@ 我们强烈建议将公共 Discord 频道的此选项设定为仅@被提及。 介于此服务器的规模,成员将不会收到非@提及消息的推送通知。 关闭“发现服务器” - 禁用成员要求意味着用户无需接受规则或经过您的手动批准即可加入您的社区。 您确定吗? 仅服务器管理员能够开启或关闭“发现服务器”。 已开启执行管理权能的双重认证要求 @@ -3799,6 +3836,10 @@ 关闭社区也会将您的服务器从“发现服务器”中移除。 此服务器已经从“发现服务器”中移除。 此服务器未能满足以下要求,已被自动从“发现服务器”中移除。别担心,只要再次符合全部要求,您随时可以重新加入。 活跃要求每周都会重新计算哦。 + 在任何聊天中点击来自您服务器的自定义表情符号或贴纸,就会显示您服务器的相关信息。用户就能通过这些信息,用户就能查看并加入您的服务器。 + 关闭表情符号/贴纸信息 + 启用表情符号/贴纸信息 + 点击时显示表情符号/贴纸信息 通过“发现服务器”来发展您的社区吧 Discord 会将此服务器置于该语种搜索的优先位置。 跻身[发现服务器](onLinkClick)之列,让所有人都能找到并加入您的服务器。 @@ -3813,6 +3854,7 @@ 子类别 昵称 输入昵称 + 将最多{count}个大家都可以使用的表情符号添加到这台服务器。Discord Nitro 的成员可以使用动态 GIF 表情。表情名称的长度至少为两个字符,仅可使用字母、数字以及下划线。表情的大小必须在{maxSize}KB 以内。 助力您的服务器至等级 {level} 以解锁更多表情符号槽位! 等级 {level} 表情符号丢失 助力您的服务器至等级 {level} 或购买等级以解锁您的表情符号! @@ -3859,6 +3901,8 @@ 子区 1 周归档选项 创建私密子区 动画服务器横幅 + 服务器自定义邀请链接 + 音频质量:{bitrate}Kbps +{adding} 服务器表情符号槽位(总计 {total}) +{adding} 个自定义贴纸槽位(总计 {total}) 所有成员的上传限制: {fileSize} @@ -4598,6 +4642,14 @@ !!{name}!! 表情符号 !!{name}!! 图标 !!{name}!! 标志 + 什么是频道? + 频道是您可以发言、聊语音、玩游戏等的地方。每个服务器都有频道列表,您可以滚屏以查看正在发生的事情。 + 私信 + 私信与服务器是分开的。您可以通过私信与好友进行快速私人聊天,或创建最多 10 人的群组私信。 + 还是需要帮助吗? + 没有找到您要找的内容?[请访问我们的帮助中心]({helpCenterUrl})以获取更多信息。 + 什么是服务器? + 服务器是您可以与好友一起游玩和结识新朋友的地方。大多数服务器都是私人服务器,并且需要邀请才能加入。 于 !!{categoryName}!! 游戏内语音设置 在语音频道内 @@ -4616,6 +4668,7 @@ 感兴趣 不了,谢谢 当直接上传到 Discord + 图片大于{maxSize}MB将不会预览。 当分享外部链接至聊天 显示图片,视频和猫猫表情包 输入设备 @@ -4687,6 +4740,7 @@ 该申请不包含命令。 在这个服务器里,该应用程序不包含 webhook。 您已达到权限覆盖次数的上限。 + 您的权限数量已达到上限。请移除其中的 {removeCount} 个以进行进一步的更改。 移除集成 您确定要移除 **!!{applicationName}!!**吗? 内部服务器发生错误。 @@ -4846,6 +4900,7 @@ 我们添加些好友吧! 邀请其他人 注意啦!您邀请的好友可以查看您的以往消息历史。 + 此频道是私人频道,只有所选成员以及身份组能够查看此频道。 搜索好友 邀请已发送 !!{maxAge}!!,!!{maxUses}!! @@ -4856,6 +4911,7 @@ 或者,向好友发送直播邀请链接 邀请直播 邀请至服务器 + 邀请朋友加入 **!!{name}!!** 邀请链接 加入语音频道 欢迎来到您的新服务器! @@ -5007,6 +5063,7 @@ 踢除 踢除 踢除成员 + 踢除、批准和拒绝成员 踢除!!{user}!! 您确定要从该服务器踢除 !!{user}!! 吗?他们可以通过新的邀请链接再次加入。 \'!!{user}!!\'已被踢除出服务器。 @@ -6186,9 +6243,21 @@ 确认取消!!{planPremiumType}!!? 取消将会对 Nitro 以及 服务器助力 订阅产生即刻效果。如果已经更改,Discord 标签将会被随机化。 没事了,保留 Nitro + 没事了,保留 Nitro 您的**2 个免费助力**和**30%% 助力折扣** {boostCount} 您的**30%% 助力折扣** + 2 个免费助力和 30%% 折扣 + 随时随地使用自定义表情符号和贴纸 + 个人资料周边和自定义标签 + 高分辨率,60 FPS 视频直播 + 您已直播 {month} + 小时 + 高分辨率直播 + 将文件上传限制增加到 100MB + 大文件 + 您已发送 {month} + 更大的文件上传尺寸 在您所有的服务器中使用**自定义表情符号**和**贴纸** 在您所有的服务器中使用**自定义表情符号** **动画头像**、**个人资料横幅**和自定义**Discord 标签** @@ -6309,15 +6378,21 @@ 有效的服务器助力 {numSubscriptions}可用 抱歉,目前我们还不支持取消通过 !!{paymentGatewayName}!! 购买的助力。您可以通过 [!!{paymentGatewayName}!!的订阅管理]({subscriptionManagementLink}) 取消助力。 + 您确定要取消该服务器助力?我们将会彻底粉碎这块宝石。 助力将会从关联服务器上移除,且从您的订阅中取消,操作将于当前付费周期结束时生效,即**{endDate}**。 + 您确定要从库中取消一份服务器助力?我们将会彻底粉碎这块宝石。 助力将会从关联服务器上移除,且从您的订阅中取消,操作将于当前付费周期结束时生效,即**{endDate}**。 是的,取消助力 您的订阅已过期。请先更新您的付款信息,再管理助力。 该助力包括在您的 Nitro 订阅内 取消助力 尝试取消该助力时出错。 + 已取消**{subscriptionCount}** {subscriptionCount} + 该服务器助力订阅将会在您 Nitro 或者 Nitro Classic 的付费周期结束时,即**{endDate}**取消。 您的订阅将发生如下变化: 取消服务器助力 从一个服务器中取消服务器助力 从库中取消服务器助力 助力取消等待处理 + 好吧,我们已经准备好为您粉碎这块助力宝石。 该助力预定于:**{endDate}**取消。 **您可以在它被彻底摧毁前继续使用该助力!** + 助力已取消! {date} 助力起始于{date} ({months}) 尝试助力时出错。请重试。 @@ -6384,18 +6459,23 @@ 助力能够解锁强大的功能和升级,服务器里的所有成员都可以因此获益。提供助力并获取: 可以参加更多有趣的小活动! 动画服务器图标能让您与众不同 - 音频质量已提升至 {targetQuality} Kbps + 音频质量已提升至{targetQuality}Kbps 利用自定义背景来个性化您的服务器邀请 将文件上传限制增加到 100MB 使用服务器横幅向所有人展示您服务器的主题 强大的升级:上传文件更大,音频质量更高,还有更多其他好处! + 强大的升级:增加服务器图标动画效果、额外子区选项,还有更多其他好处! + 强大的升级:上传文件更大,增加服务器横幅和自定义身份组图标,还有更多其他好处! + 强大的升级:自定义邀请链接,额外表情符号槽位,以及动画服务器横幅。 为服务器的每个身份组设置独有图标 屏幕共享可达 1080p/60fps 屏幕共享画质可达 720p/60fps 上传可供所有人使用的自定义贴纸 上传多达 {numStickers} 张自定义贴纸和 {numEmojis} 个自定义表情符号 + 上传多达 {numStickers} 张自定义贴纸 更长的子区归档选项 创建私密子区 + 使用自定义邀请链接,轻松添加新成员 目标:{levelName} 购买助力,以解锁{levelName}特权! 该服务器已经解锁全部助力特权! @@ -6534,6 +6614,7 @@ 您的订阅 该调整包括费用分摊、折扣以及退款。 这些是您目前的订阅。订阅将以同样的付费周期进行扣费。 + {planName} 已取消 !!{planName}!!余额 购买!!{planName}!!订阅后即可应用该余额。 该余额可适用于通过桌面端购买的!!{planName}!!订阅。 @@ -6715,8 +6796,11 @@ 个人资料操作 使用 Discord Nitro 上传您自己的个性化横幅及更多内容! 经过了 $[](renderTimeHook) + 推荐的最小尺寸为 600x240,推荐的长宽比为 5:2。接受的文件类型包括 PNG、JPG 和动态 GIF。 在这个服务器中介绍一下自己 + 不保存 是否保存更改? + 您已做出更改。离开此页面前,您想要保存所做更改吗? Nitro 独家 预览 用户徽章 @@ -6877,6 +6961,7 @@ 移除禁言 移除“!!{user}!!”的暂时禁言 从子区中移除 !!{user}!! + 移除自定义邀请链接 显示嵌入并预览黏贴在聊天中的网站链接 嵌入与链接预览 在信息里显示表情符号 @@ -7013,11 +7098,13 @@ 所有服务器成员都能享受的默认权限 身份组图标,{name} 选择图片 + 上传大小低于 256 KB 的图片,或者从此服务器选择一个自定义表情符号。推荐大小:至少 64x64 像素。如果成员拥有多个身份组,则他们将会看到自己权限最高的身份组拥有此图标。 了解更多 给 {name} 设置自定义身份组图标。这是服务器助力的功能之一。 表情符号 上传图片 浏览文件 + 糟糕!文件过大。请选择大小不超过 256 KB 的 .png 或者 .jpg 格式图片。 选择 PNG 或者 JPG 格式图片上传 已为身份组:{role}复制了ID 成员将使用列表中最靠前的身份组的颜色。拖拽身份组来重新排列! @@ -7093,6 +7180,7 @@ 在这些频道内,允许成员分享的连接显示内嵌内容。 在此频道内,允许成员分享的链接显示内嵌内容。 未找到权限 + “踢除”会将其他成员从此服务器移除。被踢除的成员如果获得其它邀请,可再次加入此服务器。如果服务器启用成员要求,则此权限能够批准或拒绝请求加入的成员。 允许成员将其他成员从此服务器移除。被踢除的成员如果获得其它邀请,可再次加入此服务器。 允许成员变更这些频道的名称、描述,以及文字 / 语音设定。他们还可以删除这些频道。 (需要讲堂管理员)允许成员设置话题以开启讲堂,并启用或禁用发言请求。他们还可以删除讲堂频道。 @@ -7565,11 +7653,15 @@ 唯一允许使用的特殊字符是:破折号。 标签在这边。 在“发现服务器”内,您可以通过名称、描述,以及标签进行服务器搜索。您至多可以添加 10 个标签。 + 拥有 {count} 名以上成员的服务器现在有资格加入“发现服务器”。 + 更快地发展您的社区 服务器表情符号 关闭所有文件夹 将文件夹标记为已读 + 静音文件夹中所有服务器 服务器文件夹 文件夹设置 + 取消静音文件夹中所有服务器 服务器分析 该服务器当前已满员。 服务器静音 @@ -7592,6 +7684,9 @@ 更改调试登录将会退出并重启 Discord。 您确定要这样做? 设置此链接为永不过期 设置状态 + 您的服务器没有访问此功能的权限。 + 您没有访问此功能的权限。 + 在设置自定义邀请链接之前,您需要设置一个所有成员都可以访问的文字频道。 设置 高级设置 添加一个! @@ -8412,6 +8507,9 @@ 未认证账号 取消耳机静音 撤销 + 取消收藏频道 + 取消收藏私信 + 取消收藏群组私信 取消收藏 解除关注此人 对不起,您的设备上没有可以处理此链接的APP: @@ -8810,6 +8908,10 @@ 您必须开启按键说话才能在此频道发言。 需要按键说话 自定义邀请链接 + 请注意,必须有一个所有成员均可访问的文字频道,自定义邀请链接才能生效。 + 自定义邀请链接 ({uses}) + 请选择一个吸引人的个性化邀请链接。 请注意这会使您的服务器对所有使用此链接的用户可见。 + 请注意,如果我们发现个性化邀请链接被滥用或知有识产权纠纷,则可能会将其收回。 该服务器现在通过 **!!{url}!!** 向所有人公开 该服务器现在通过 [!!{urlText}!!]({urlValue}) 向所有人公开 您的网址 diff --git a/app/src/main/res/values-zh-rTW/plurals.xml b/app/src/main/res/values-zh-rTW/plurals.xml index c410a6e5f9..8061f57d61 100644 --- a/app/src/main/res/values-zh-rTW/plurals.xml +++ b/app/src/main/res/values-zh-rTW/plurals.xml @@ -944,6 +944,14 @@ {#} 次加成 {#} 次加成 + + {#} 個月 + {#} 個月 + + + {#} 個月 + {#} 個月 + {#} 次加成 {#} 次加成 @@ -1040,6 +1048,10 @@ {#} 次加成 {#} 次加成 + + 次伺服器加成 + 次伺服器加成 + {#} 個月 {#} 個月 @@ -1432,6 +1444,10 @@ 其他 1 {count} 人 + + 1 次使用 + {uses} 次使用 + 1 次 {uses} 次 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index e06c0a7bbe..64250e7cd5 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1196,6 +1196,7 @@ 變更伺服器頭像 更改 圖示 編輯伺服器個人資料 + 頭像和個人資料橫幅 伺服器簡介 若空白,則將使用您的主要簡介。 告訴伺服器關於您的一些事 @@ -1203,6 +1204,7 @@ 取得 Discord Nitro,就能在各個伺服器使用不同的頭像,還能盡享更多好處 ! 暱稱 (已停用) 透過設定伺服器暱稱和頭像,變更您在此伺服器內的形象。 + 重置為預設頭像 未知錯誤 變更 伺服器 頭像 取得 **Discord Nitro**,就能在各個伺服器使用不同的頭像,還能盡享更多好處 ! @@ -1230,6 +1232,7 @@ 更改密碼 變更電話號碼? 變更背景 + 若自訂邀請連結包含無效字元、過短或已被使用,則無法更改。 自訂邀請連結只能包含英文字母、數字或連接號。 變更記錄內容 給好友看看我們的新首頁! 我們是來留下好印象的。 了解更多 @@ -1245,16 +1248,6 @@ 參與者 頻道已被刪除。 頻道表頭 - 頻道資訊 - 靜音會防止未讀的標示和通知顯示出來,除非您被提及。 - 名稱 - 通知 - 詳細資訊 - 主題 - 編輯 - 您的設定 - 隱藏頻道資訊 - 顯示頻道資訊 您的身分組沒有權限進入這個頻道。 頻道已鎖定 權限已與類別同步:**{categoryName}** @@ -1362,6 +1355,7 @@ 領取 清除 清除附件 + 清除版本覆寫 清除文字 按一下以了解更多 複製頻道 @@ -1938,6 +1932,7 @@ !!{a}!!、!!{b}!!與{n}目前正在說話。 目前沒有人正在說話。 自訂顏色 + 別忘了,自訂邀請連結要在所有成員都能進入一個文字頻道的情況下才能打開。 自訂狀態 之後清除 清除狀態 @@ -2266,6 +2261,7 @@ 一個活動 立即以語音一同進行遊戲! 新推出的活動! + 在所有語音頻道裡一同免費暢玩。解鎖更多加成相關活動! 另一個活動 表情符號 新增至最愛項目 @@ -2315,6 +2311,7 @@ 這個表情符號來自私人或尚未啟用的伺服器。[瞭解更多](openPremiumSettings) 關於自訂表情符號的使用事項。 從最愛項目移除 {count} 可用 + 這個表情符號檔案太大了!表情符號檔案必須小於 {maxSize} KB。 按一下以了解更多 {count} @mention 使用者以將其新增至此私人討論串。 @@ -2487,10 +2484,18 @@ 複製連結 在瀏覽器中開啟 分享連結 + 加入最愛頻道 + 加入最愛私人訊息 + 加入最愛群組訊息 您的最愛項目已達上限。 最愛項目 + 歡迎來到 Discord 新功能「最愛項目」!透過在操作功能選單上標記星號,將頻道、語音聊天以及私人訊息加到最愛項目中。 + 最愛項目 + 前往原始伺服器 + 最愛項目 您的最愛項目不能超過 {count} 項。 噢噢! + 該名稱只會出現在您的最愛項目上。 其他 描述您的問題 您的問題 @@ -2552,6 +2557,7 @@ 當有人在語音說話時,將會依照百分比來限制其他應用程式的音量。 當您設定為0%%時,會解除音量抑制。 討論串會在指定的閒置期間後進行存檔。 如果指示燈呈現綠色,Discord 正在發送您美妙的聲音。 + 所有位元率!超過 {bitrate}kbps 可能會對他人的連線狀態造成不良影響。 使用 Discord 認證麥克風時,有些語音處理功能並非由 Discord 進行, 而是在麥克風當中進行。 變更隱私設定,並自訂成員在此頻道互動的方式。 基於除錯目的,將錄製所有即時傳輸協定資料,供下一次語音/視訊連線。 @@ -2744,6 +2750,7 @@ 測試我的麥克風 文字朗讀 文字朗讀通知 + 將新活動解除靜音 將 **!!{name}!!** 解除靜音 文字方塊 使用者人數限制 @@ -2783,6 +2790,7 @@ 伺服器成員 接受 取消 + 好友請求已被取消。 呃,發送好友請求時出錯。您可以隨時在好友列表中再次嘗試。 呃,向 !!{name}!! 發送好友請求時出錯。您可以隨時在好友列表中再次嘗試。 好友請求失敗 @@ -3102,6 +3110,9 @@ 正在觀看 {username} 前往頻道 知道了 + 您的購買發生問題。請稍後再重試。 + 噢噢! + 無法連接至 Google Play 商店。請稍後再試一次。 授予臨時成員身分 綠色 灰色 @@ -3149,8 +3160,8 @@ 看起來太棒了! 瞭解更多 晚點吧 - 立即加成至等級 1,您的音訊品質即可從 96kbps 提升至 128kbps。 - 立即加成至等級 2,您的音訊品質即可從 128kbps 提升至 256kbps。 + 立即加成至等級 1,讓您的音訊品質彷彿大家身處在同一個房間。 + 立即加成至等級 2,讓您的音訊品質彷彿大家身處在同一個房間。 立即加成至等級 3,您的音訊品質即可從 256kbps 提升至 384kbps。 您知道可以透過加成改善音訊品質嗎? 您目前已達 100 台伺服器的上限 @@ -3201,6 +3212,7 @@ 從遊戲到音樂或到學習,總有您的去處。 在 Discord 上尋找您的社群 追蹤更新 + 尋找您的社群 搜尋社群 熱門社群 !!{username}!!,您可能會喜歡這些伺服器 @@ -3319,18 +3331,40 @@ 建立 {count} {number} + 但您可以試著寫寫看! + 此伺服器目前還沒有任何熱門訊息。 + 請重新載入頁面或參閱我們的[狀態頁面]({url})。 + 哎呀!您遇到了極珍稀的錯誤。 + 重新整理以查看最新消息 + 目前只有這樣!但等等,可能還有更多… + 在側邊欄中從 !!{channelName}!! 開啟訊息 + {maxReplies} 以上個回覆 {numReplies} - 頂端訊息 + 重新載入 + 熱門訊息 + 您已看完過去兩個禮拜的所有熱門訊息。 + 您已跟上最新進度 資料夾顏色 資料夾名稱 !!{folderName}!!,資料夾 {mentions} !!{folderName}!!,資料夾 {mentions},!!{expandedState}!! 未命名的伺服器資料夾 已儲存資料夾設定! + 首頁 我們正在對此介面進行 beta 測試,以幫助您瞭解您伺服器上正在進行的活動。 首頁 - !!{guildName}!! + 變更伺服器中的個人資料橫幅 + 點選以在此伺服器上編輯 [關於我] + 在此伺服器上編輯 [關於我] + 若空白,則將使用預設 [關於我]。 + 點選即可在此伺服器上新增 [關於我] !!{guildName}!! 的伺服器簡介 + 變更伺服器中的個人資料橫幅 + 刪除伺服器頭像 + 伺服器個人資料橫幅 + 重置為預設橫幅 需要更多?使用 Nitro 獲得完整的伺服器個人資料自訂 + 上傳伺服器個人資料橫幅 取得 [Discord Nitro](onAndMore),就能隨心化身為您喜愛的形象,在各個伺服器使用不同的頭像、橫幅與簡介,還能解鎖動態頭像並盡享其他更多好處! 藉著伺服器個人資料完整表達自我 邀請加入伺服器 @@ -3364,6 +3398,8 @@ 驗證連結已經過期。 驗證成功。 正在驗證您的請求。 + 檢視伺服器設定 + 伺服器目前很忙碌!考慮將此伺服器的預設通知設定改為 **僅限@提及** 以幫助您的成員。 通知 @everyone 也讓 @everyone 知道此活動即將開始。 $[告訴 @everyone 此舞台即將開始。](tooltipHook) [啟用](toggleClick) @@ -3587,6 +3623,8 @@ $[**!!{user}!!**](userHook) 對 $[**!!{target}!!**](targetHook) 進行變更 將社群伺服器的更新頻道設定為 **!!{newValue}!!** 社群伺服器更新頻道**已清除** + 將自訂邀請連結設定為 **!!{newValue}!!** + **已移除**自訂邀請連結 將伺服器驗證等級設定為**高** 將伺服器驗證等級設定為**低** 將伺服器驗證等級設定為**中** @@ -3746,7 +3784,6 @@ 我們強烈建議把這個選項設為僅在公開 Discord @mentions 的時候才發送通知。 由於伺服器的大小限制,成員不會取得 @mention 以外的推播通知。 停用探索 - 若停用成員必備條件,即代表人們可在不接受規定或不經過您手動批准的情況下,加入您的社群。 您確定嗎? 只有伺服器管理員才能啟用和停用探索功能。 已啟用管理所需的 2FA 要求 @@ -3799,6 +3836,10 @@ 停用社群伺服器後,您的伺服器也會從探索伺服器移除。 此伺服器已移出探索伺服器。 此伺服器並不符合以下規定,因此已自動移出探索伺服器。別擔心,再次通過後,就可以重新加入。 我們會每週重新計算是否符合要求。 + 在任何聊天室中,如按一下您伺服器的自訂表情符號或貼圖,將允許顯示資訊。使用者可透過顯示的資訊,看到您的伺服器並加入。 + 停用表情符號/貼圖資訊 + 啟用表情符號/貼圖資訊 + 點擊時顯示表情符號/貼圖資訊 透過探索伺服器,讓你的社群蓬勃發展 Discord 會在搜尋中向使用所選語言的使用者優先顯示這部伺服器。 列入[探索伺服器](onLinkClick)可讓任何人找到並加入您的伺服器。 @@ -3813,6 +3854,7 @@ 子類別 綽號 輸入綽號 + 在這個伺服器中新增 {count} 個大家都可用的自訂表情符號。有 Discord Nitro 的成員可使用 GIF 動畫。表情符號名稱至少要 2 個字元,只能包含數字、字母與底線。表情符號檔案大小不得超過 {maxSize} KB。 將您的伺服器加成至等級 {level},解鎖更多表情符號空位吧! 等級 {level} 表情符號遺失 將您的伺服器加成至等級 {level} 或購買等級以解鎖您的表情符號! @@ -3859,6 +3901,8 @@ 討論串的 1 週存檔選項 建立私人討論串 動態伺服器橫幅 + 伺服器的自訂邀請連結 + {bitrate} Kbps 音訊品質 +{adding} 伺服器表情符號空位 (總數為 {total}) +{adding} 自訂貼圖空位 (總數為 {total}) 所有成員的上傳限制為 {fileSize} @@ -4598,6 +4642,14 @@ !!{name}!! 表情符號 !!{name}!! 圖示 !!{name}!! 商標 + 什麼是頻道? + 頻道是您聊天、語音、玩遊戲,進行各式各樣活動的地方。每個伺服器都有一個頻道名單,您可以滑動瀏覽最新動態。 + 私人訊息 + 私人訊息和伺服器是分開的。您可以私下發送訊息與您的好友聊天,或是創建最多十人的群組。 + 仍然需要幫忙? + 找不到您要的答案嗎?想要瞭解更多資訊,[請前往我們的說明中心]({helpCenterUrl})。 + 什麼是伺服器? + 伺服器是一個讓您和好友消磨時間,認識他人的地方。大部分的伺服器都設為私人,僅能透過邀請加入。 在 !!{categoryName}!! 中 遊戲內語音設定 已在語音頻道中 @@ -4616,6 +4668,7 @@ 有興趣 不用了,謝謝 當直接上傳到 Discord + 大於 {maxSize}MB 的圖片將不會有預覽。 當連結貼在聊天時 顯示圖片、影片和有趣的貓咪梗圖 輸入裝置 @@ -4687,6 +4740,7 @@ 這個應用程式沒有指令。 這個應用程式在伺服器上沒有 Webhook。 您已達到權限覆寫的數量上限。 + 您的權限數量已達上限。移除 {removeCount} 位成員即可做出更多變更。 移除整合功能 您確定要移除 **!!{applicationName}!!** 嗎? 內部伺服器發生錯誤。 @@ -4846,6 +4900,7 @@ 我們來新增一些朋友吧! 邀請其他人 小提醒!您邀請的朋友將能夠查看先前的訊息歷史。 + 此頻道為私人頻道,只有選定的成員及身分組能檢視這個頻道。 搜尋好友 邀請已發送 !!{maxAge}!!,!!{maxUses}!! @@ -4856,6 +4911,7 @@ 或發送直播邀請連結給朋友 邀請加入直播 邀請到伺服器 + 邀請好友到 **!!{name}!!** 邀請網址 加入語音 歡迎來到您的新伺服器! @@ -5007,6 +5063,7 @@ 踢出 踢出 踢出成員 + 踢出、核准和拒絕成員 踢出 !!{user}!! 您確定要將 !!{user}!! 從伺服器中踢出嗎?他們只要收到新邀請,就可重新加入。 「!!{user}!!」已被踢出此伺服器。 @@ -6186,9 +6243,21 @@ 取消 !!{planPremiumType}!!? 取消將於您訂閱 Nitro 及伺服器加成時立即生效。更改過的 Discord Tag 將會被亂數取代。 算了,保留 Nitro 吧 + 算了,保留 Nitro 吧 您的 **2 次免費加成**和 **7 折加成折扣** 套用 {boostCount} 您的**七折加成折扣** + 2 次免費加成和 7 折優惠 + 在任何地方皆可使用自訂表情符號和貼圖 + 個人資料與自訂標籤 + 高解析度,60FPS 直播視訊通話 + 您已直播為期 {month} + 時數 + HD 影片直播 + 檔案的上傳容量增加至 100 MB + 大容量檔案 + 您已發送為期 {month} + 更大的檔案上傳量 在您所有的伺服器上存取**自訂表情符號**和**貼圖** 在您所有的伺服器上取得**自訂表情符號** **動態頭像**、**個人資料橫幅**和自訂 **Discord Tag** @@ -6309,15 +6378,21 @@ 生效中的伺服器加成 {numSubscriptions} 可使用 抱歉,我們目前不支援透過 !!{paymentGatewayName}!! 來取消已購買的加成。您可以透過 [!!{paymentGatewayName}!! 的訂閱管理]({subscriptionManagementLink}) 取消加成。 + 您確定要取消此伺服器加成嗎?我們會把這顆寶石打成碎片。 您的付款期間結束時,這會從相關的伺服器移除並從您的訂閱中取消,生效時間:**{endDate}**。 + 您確定要從庫存中取消伺服器加成嗎?我們會把這顆寶石打成碎片。 您的付款期間結束時,這會從相關的伺服器移除並從您的訂閱中取消,生效時間:**{endDate}**。 是的,取消加成 您的訂閱已過期。管理加成前請更新您的付款資訊。 此加成隨附於您的 Nitro 訂閱 取消加成 嘗試取消此加成時發生錯誤。 + **{subscriptionCount}** {subscriptionCount} 已取消 + 此伺服器加成訂閱,將在您的 Nitro 或 Nitro Classic 付款期間結束時取消,**{endDate}**。 您的訂閱變更如下: 取消伺服器加成 從一台伺服器取消伺服器加成 從庫存取消伺服器加成 加成等待取消 + 好了,我們準備好為您打碎這顆加成寶石了。 此加成的取消時間安排在:**{endDate}**。 **它被破壞前您還是可以繼續使用!** + 加成已取消! {date} 加成始於 {date} ({months}) 試圖加成時發生錯誤,請重試。 @@ -6389,13 +6464,18 @@ 檔案的上傳限制增加至 100 MB 使用伺服器橫幅向大家說明您的伺服器內容 強大的升級功能:檔案上傳容量更大、音訊品質提升,還有其他功能! + 強大的升級功能:動畫化伺服器圖示、額外討論串選項,還有其他功能! + 強大的升級功能:檔案上傳容量更大、伺服器橫幅、自訂身分組圖示,還有其他功能! + 強大的升級功能:自訂邀請連結、額外的表情符號空位,以及動態伺服器橫幅。 在伺服器中為每個身分組設定獨特的圖示 1080p/60fps 畫面分享 以 720p/60fps 進行畫面分享 上傳每個人都可以使用的自訂貼圖 可上傳多達 {numStickers} 個自訂貼圖及 {numEmojis} 個自訂表情符號 + 可上傳多達 {numStickers} 個自訂貼圖 保留時間更長的討論串存檔選項 建立私人討論串 + 使用自訂邀請連結,輕鬆增加新成員 目標:{levelName} 購買加成來協助解鎖 {levelName} 福利! 此伺服器已解鎖所有加成福利! @@ -6534,6 +6614,7 @@ 您的訂閱 此調整包含比例分配、折扣和退款。 這些是您目前的訂閱。帳款皆依同樣計費週期計算。 + {planName} 已取消 !!{planName}!! 點數 您註冊 !!{planName}!! 訂閱後,此點數即會生效。 此點數可以用在電腦版購買的 !!{planName}!! 訂閱。 @@ -6715,8 +6796,11 @@ 個人資料動作 透過 Discord Nitro 上傳屬於您自己的個性化橫幅,還能體驗其他更多功能! 經過時間 $[](renderTimeHook) + 建議最低大小及長寬比例是 600x240 及 5:2。可接受的文件類型包括 PNG、JPG 和動態 GIF。 告訴伺服器關於您的一些事 + 不儲存 是否儲存變更? + 您進行了變更,離開此頁面之前是否要儲存變更? Nitro 限定 預覽 使用者徽章 @@ -6877,6 +6961,7 @@ 取消禁言 取消「!!{user}!!」的禁言 將 !!{user}!! 移出討論串 + 移除自訂邀請連結 顯示嵌入內容並預覽貼至聊天室的網站連結 嵌入內容和連結預覽 在訊息上顯示表情符號反應 @@ -7013,11 +7098,13 @@ 所有伺服器成員的預設權限 身分圖示,{name} 選擇圖片 + 上傳小於 256 KB 的圖片或選擇此伺服器的自訂表情符號。建議圖片至少超過 64x64 像素。若成員擁有多個身分組,他們會看到最高階身分組的圖示。 了解更多 為{name}自訂身分組圖示。這是伺服器加成的特色之一。 表情符號 上傳圖片 瀏覽檔案 + 糟糕!檔案過大。請選擇不超過 256 KB 的 PNG 或 JPG 檔。 選擇 PNG 或 JPG 上傳 已複製身分 ID:{role} 成員們會使用他們在這名單上的最高階身分組的顏色。可拖曳身分組重新排列。 @@ -7093,6 +7180,7 @@ 允許成員分享的連結在這些頻道顯示內嵌內容。 允許成員分享的連結在此頻道顯示內嵌內容。 沒有找到權限 + 踢出將移除此伺服器的其他成員。遭踢出的成員再收到邀請便能重新加入。若伺服器啟用加入要求批准,此權限將能核准或拒絕成員的加入要求。 允許成員移除此伺服器的其他成員。踢出的成員再收到邀請便能重新加入。 允許成員變更這些頻道的名稱、詳細資訊及文字/語音設定,也允許成員刪除這些頻道。 (須為舞台版主) 允許成員設定主題以開啟舞台、啟用或停用發言,以及刪除舞台頻道。 @@ -7565,11 +7653,15 @@ 連接號是唯一允許使用的特殊字元。 在此新增標籤。 在探索伺服器中,您可以用名稱、描述和標籤來搜尋。最多可新增 10 項。 + 擁有 {count} 位以上成員的伺服器可加入探索伺服器。 + 讓您的社群迅速發揚光大 伺服器表情符號 關閉所有資料夾 將資料夾標記為已讀 + 將資料夾裡所有伺服器調為靜音 伺服器資料夾 資料夾設定 + 將資料夾裡所有伺服器解除靜音 伺服器分析 此伺服器目前已滿。 伺服器端靜音 @@ -7592,6 +7684,9 @@ 變更除錯登入將會離開 Discord 並重啟。 您確定要這樣做? 設定此連結為永不過期 設定狀態 + 您的伺服器沒有此功能的權限。 + 您沒有此功能的權限。 + 在設定自訂邀請連結前,您需先設定一個所有成員都能進入的文字頻道。 設定 進階 新增它! @@ -8417,6 +8512,9 @@ 尚未認領的帳號 解除拒聽 復原 + 移除最愛頻道 + 移除最愛私人訊息 + 移除最愛群組訊息 移除最愛 取消對焦到這位成員 抱歉,找不到您裝置上的應用程式來處理此連結: @@ -8815,6 +8913,10 @@ 您必須啟用按鍵發話才能在此頻道中發言。 必須按鍵發話 自訂邀請連結 + 別忘了,自訂邀請連結要在所有成員都能進入一個文字頻道的情況下才能打開。 + 自訂邀請連結({uses}) + 選擇特別的自訂邀請連結,讓您的伺服器更方便存取。 請注意,任何使用此連結的人都能存取您的伺服器。 + 敬請注意,如果我們發現濫用情形或智慧財產權的衝突時,我們可能會收回自訂邀請連結。 大家可以用 **!!{url}!!** 來造訪這個伺服器了 大家可以用 [!!{urlText}!!]({urlValue}) 來造訪這個伺服器了 您的-網址-在這 diff --git a/app/src/main/res/values/plurals.xml b/app/src/main/res/values/plurals.xml index 32b7ce3eda..4b29af8259 100644 --- a/app/src/main/res/values/plurals.xml +++ b/app/src/main/res/values/plurals.xml @@ -349,8 +349,8 @@ {count} messages - 1 message - {count} messages + 1 Message + {count} Messages {#} Unknown Player diff --git a/app/src/main/res/values/public.xml b/app/src/main/res/values/public.xml index 69b094ffb8..3b2c11dcd5 100644 --- a/app/src/main/res/values/public.xml +++ b/app/src/main/res/values/public.xml @@ -14728,9843 +14728,9902 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 85fff95d41..171fbda208 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -98,7 +98,8 @@ com.discord.app.AppScrollingViewBehavior This may take a moment. Actions - No recent messages + Check back in a bit + All channels are chilling {count} Active Now Many recent messages @@ -307,6 +308,7 @@ All App Directory Home App Directory Search + {categoryName} Apps No matches found in {categoryName} Try another search or $[see results from all categories](viewAllHook) No matches found @@ -316,7 +318,7 @@ Developer Resources Customize your server with apps Automate useful tasks or introduce a bit of delight - {categoryName} Apps + Top {categoryName} Apps Popular Now On the Rise Explore Collection @@ -331,6 +333,7 @@ Categories Popular Slash Commands Overview + Granted Permissions Supported Languages Links Privacy Policy @@ -853,6 +856,7 @@ Beta Bulgarian Billing + Accept the Terms of Service and Paid Services Terms to continue Accept the Terms of Service to continue Account Credit When you accept a gift while you have a running subscription, or accept a gift that differs from your current subscription, it will appear here as credit. @@ -920,7 +924,9 @@ Is this a gift? Legal Mumbo Jumbo I agree to the [Discord Terms of Service]({url}) + I agree to the [Discord Terms of Service]({termsURL}) and [Paid Services Terms]({paidURL}) I agree to the [Discord Terms of Service]({url}) and that my subscription will renew for **{rate}** on **{renewalDate}**. I can cancel anytime under User Settings > Subscriptions, and previous charges won’t be refunded unless required by law. + I agree to the [Discord Terms of Service]({termsURL}), [Paid Services Terms]({paidURL}), and that my subscription will renew for **{rate}** on **{renewalDate}**. I can cancel anytime under User Settings > Subscriptions, and previous charges won’t be refunded unless required by law. Change Payment Method Manage subscription in Google Play Manage Subscription @@ -937,6 +943,8 @@ These are your current subscriptions. They will be billed on the same billing cycle. You can update any subscription at any time. By purchasing a Discord subscription, you agree to our [Terms of Service]({termsUrl}) and [Privacy Policy]({privacyUrl}). Nitro and Server Boost are auto-recurring subscriptions. You authorize Discord to immediately charge the payment method provided at !!{price}!! and to continue to do so automatically monthly until you cancel. You may cancel anytime. By purchasing a Discord subscription, you agree to our [Terms of Service]({termsUrl}) and [Privacy Policy]({privacyUrl}). Nitro and Server Boost are auto-recurring subscriptions. You authorize Discord to immediately charge the payment method provided at !!{price}!! and to continue to do so automatically yearly until you cancel. You may cancel anytime. + By purchasing a Discord subscription, you agree to our [Terms of Service]({termsUrl}), [Paid Services Terms]({paidURL}), and [Privacy Policy]({privacyUrl}). Nitro and Server Boost are auto-recurring subscriptions. You authorize Discord to immediately charge the payment method provided at !!{price}!! and to continue to do so automatically monthly until you cancel. You may cancel anytime. + By purchasing a Discord subscription, you agree to our [Terms of Service]({termsUrl}), [Paid Services Terms]({paidURL}), and [Privacy Policy]({privacyUrl}). Nitro and Server Boost are auto-recurring subscriptions. You authorize Discord to immediately charge the payment method provided at !!{price}!! and to continue to do so automatically yearly until you cancel. You may cancel anytime. This payment source is invalid. Payment Methods Amount @@ -1106,10 +1114,13 @@ Swoosh. Notifications are a go! Output devices cannot be changed while using the browser. [Download](onDownloadClick) the desktop application to get full control over output devices. Discord Bug Hunter + Bug submitted Detailed description (optional) Issue name required Priority required + Failed to submit report Feature area + Bug reporter turned off What\'s the issue? Screenshot removed from report Priority @@ -1121,10 +1132,16 @@ Low (P2) **Not urgent and not important.** P3 allows us to acknowledge that something is an issue, but these kinds of issues do not need to be fixed until other more pressing concerns are dealt with. Very Low (P3) + Remove screenshot Select Feature Area + Something is broken on this screen Sending report Report sent + Submitting + Submitting Bug Submit a Bug Report + Turn this thing off for me + What did you expect to see? Build Override Apply Clear @@ -1328,16 +1345,6 @@ You will only be notified when you are mentioned because **!!{name}!!** is set to **Only @mentions**. Channel has been deleted. Channel header - Channel Info - Muting prevents unread indicators and notifications from appearing unless mentioned. - Name - Notifications - Details - Topic - Edit - Your settings - Hide Channel Information - Show Channel Information Your role does not have permission to access this channel. Channel Locked Permissions synced with category: **{categoryName}** @@ -1481,7 +1488,7 @@ Custom Presets Use Default - 529a53dafe2141ba8aa6495245a2e925 + bed4651917184236b9f8f74c5e37723b Slash command application {applicationName} {applicationName} application {applicationName} application selected @@ -2116,6 +2123,7 @@ Cancel Event This message will be deleted in all servers following this channel. It may take some time before it’s removed from all servers. Delete Post + Are you sure you want to delete this post? Delete Message Are you sure you want to delete this message? You can hold down shift when clicking **delete message** to bypass this confirmation entirely. @@ -2358,6 +2366,7 @@ Have feedback? [Take the survey]({surveyURL}) Catch some fish with your friends in our new game Fishington.io! Play Fishington with your friends! + Preview In Activity In !!{applicationName}!! Coming soon to mobile @@ -2547,6 +2556,7 @@ Maybe try mentioning a role or individual users instead? Send Now Examples + [attachment] Exit Stage Exit Full Screen Enable subtitles @@ -2951,13 +2961,22 @@ This channel isn’t fully built yet for Android devices. Log on to your desktop client for the full experience. Forum Channel Start discussions by topics + Guidelines + Create Guidelines + Help your members understand what this channel is for, and set rules to keep it civil! + Create Guidelines for this channel! + Show More + There’s a post that’s pinned already. Pinning this post will remove the existing pinned post. + Pin this post? Post {title}, {count} This post was archived by a moderator. Only moderators can unarchive it. There’s no one in this post. {count} + {count} New Enter a message… Post Settings - Enter a Title… + Start a conversation… + Title Typing… Older Posts Sort by: Latest Activity @@ -3359,28 +3378,35 @@ Anyone with access to this text channel will see the alert. Select a text channel Choose a channel to post the alert message to. The alert will contain the flagged message contents, user, and channel it was originally posted to. + Edit Channel Add Action Post Alert To Channel Then take these action(s) - Add Another Rule + Add Another {ruleName} Your message has been prevented from editing because it triggered AutoMod filters this community uses. reverted • [Learn More]({helpUrl}) Your message was not sent because it triggered AutoMod filters this community uses. Please add at least one action to this rule. + Filter Name (Optional) + Enter a name for this filter (optional) Keywords must be comma separated (Ex: cat, dog, tiger…) {keyword} has an invalid length. Keywords must be between {min} and {max} characters. Please enter at least one keyword. Please enter no more than {limit} keywords. Filter messages containing these terms or phrases from your server. No keywords have been added. - Custom Keyword Filter + Keyword Filter If these keywords are sent… {count} words Enter your keywords here! Filter messages containing malicious links from your server. - Spam Link Filter + Harmful Link Filter If harmful links are detected… + Channel: $[**!!{channelName}!!**](channelHook) + Rule: {ruleName} + has blocked a message + AutoMod Want this server to feel unique? Unlock custom server banners with **{boostsNeeded} more {boostsNeeded}.** Boost This Server You’ll also help unlock more customization features and utility upgrades for everyone in the server like: @@ -3873,6 +3899,11 @@ Your membership has been restarted! Search channels Monetize your server by offering exclusive channels and benefits. + Apply for Access + Only the server owner can apply for Premium Membership. Give ’em a heads up! + Application Pending + To apply, refer to the requirements below. Note that these are just the minimum requirements to apply, and acceptance is not guaranteed. + To learn more about Premium Membership, check out the FAQ. Get Started Advanced Basic Info @@ -3898,7 +3929,7 @@ Offer the opportunity to take this tier for a spin without upfront payment. You can set limits on how many free trials are available in the Advanced tab. Disabled Free Trial - TODO: Think of a tooltip + Offer different groups of tiers that users can subscribe to separately. Edit Image Upload Image We recommend an image that’s at least 1600px by 400px. You can upload a PNG or JPG under 10 MB. @@ -4137,10 +4168,10 @@ Set system channel flags to **!!{newValue}!!** Set the welcome notification channel to **!!{newValue}!!** **Disabled** the welcome notification messages - Set system channel welcome stickers to **!!{newValue}!!** - Set system channel welcome messages to **!!{newValue}!!** - Set system channel boost notifications to **!!{newValue}!!** - Set system channel server setup tips to **!!{newValue}!!** + Set system channel welcome stickers to **!!{newValue}!!** + Set system channel welcome messages to **!!{newValue}!!** + Set system channel boost notifications to **!!{newValue}!!** + Set system channel server setup tips to **!!{newValue}!!** $[**!!{user}!!**](userHook) made changes to $[**!!{target}!!**](targetHook) Set the Community server updates channel to **!!{newValue}!!** **Cleared** the Community server updates channel @@ -4268,7 +4299,7 @@ With name **!!{newValue}!!** $[**!!{user}!!**](userHook) updated the webhook $[**!!{target}!!**](targetHook) Setup rules for moderation in your server to automatically filter content and alert moderators so that you can keep your server safe around-the-clock - Automod + AutoMod The recommended minimum size is 960x540 and recommended aspect ratio is 16:9. [Learn more]({articleURL}). Community Settings Only server administrators are allowed to do this @@ -5246,6 +5277,9 @@ Uh-oh. Looks like you\'ve been banned. Accepting this invite will add **!!{username}!!** as your friend on Discord. Create an account and add **!!{username}!!** as your friend on Discord. + Download the Android App + Download the App + Download the iOS App The invite is invalid or has expired. Expires Failed to make an invite link. @@ -5258,6 +5292,7 @@ Invite Code Inviter Looks like you can\'t make an invite for this server. + You successfully created an account and joined **{guildName}**. Why, hello there. Resolving Invite Uses @@ -5631,6 +5666,7 @@ Hold to temporarily enable your microphone while in Push to Talk mode. Hold to temporarily enable your microphone while in Push to Talk mode. Other speakers who are not also transmitting with priority will temporarily have their volume lowered while you are speaking. Activate soundboard at mouse location + Hold to activate soundboard at mouse location Toggle your speaker\'s playback on and off. Also disables your microphone while deafened. Toggle to start/stop streaming in your current voice channel. Streams can only be started with this keybind if Discord recognizes the game you are currently playing. Toggle your microphone\'s transmission on and off. @@ -5647,6 +5683,7 @@ Push to Talk (Normal) Push to Talk (Priority) Activate Soundboard + Activate Soundboard (Hold) Toggle Deafen Toggle Screen Share Toggle Mute @@ -5791,6 +5828,9 @@ Select Language You can change this later. Hi! Select language + We lowered prices in Australia and accept payments in $AU. [Learn More]({helpCenterLink}) + G’day, indeed + [Learn More]({helpCenterLink}) **Hooray!** As a resident of {country}, you\'re now paying the discounted price of {newPrice} for Nitro! [Learn More]({helpCenterLink}). **Hooray!** As a resident of {country}, you can now get Nitro for a discounted price of {newPrice}! [Learn More]({helpCenterLink}). Announcing new Nitro pricing for our Aussie friends! @@ -5966,6 +6006,7 @@ Server Rules Short Answer Connections + Passed Verification Level This field is required Read and agree to the server rules To change this, [go to Moderation settings](onSettingsClick) @@ -6179,8 +6220,8 @@ Members with this permission can drag other members out of this channel. They can only move members between channels both they and the member they are moving have access. Move To User has been moved to the selected channel. - Alert Cleared - No Alert Showing + Alert Cleared + No Alert Showing New notification Remove %1$s More than %1$d new notifications @@ -6289,7 +6330,7 @@ I understand and agree with these terms. Continue to Discord To continue using Discord, please read and agree to our updated Terms of Service and Privacy Policy. - Terms of Service and Privacy Update + Terms of Service and Privacy Updates New Thread New Unreads Announcement Channel @@ -6429,6 +6470,7 @@ We suggest adding a phone to your 2 factor authentication settings as a backup. Add Phone Want to take full advantage of Discord with better performance, in-game overlay, and more? Get the desktop app! + We updated prices in {countryName}. You’re now paying less for Nitro. Well, it looks like Discord is not detecting any input from your mic. Let\'s fix that… together. Help! Well, it looks like Discord is not detecting any input from your mic. Let\'s fix that! @@ -6678,8 +6720,10 @@ Page {pageNumber} Page {page} of {totalPages} Previous + Slide {pageNumber} Page !!{currentPage}!! Page !!{currentPage}!! of !!{numPages}!! + [Paid Services Terms]({url}) {count} {count} Discord\'s Twitter should have more information. Partnered Server Owner @@ -6721,6 +6765,8 @@ M3.27,4.27 L19.74,20.74 Pause Connecting with your payment source + Please try to make the purchase again. + If you followed this link after trying to make a purchase on the desktop or mobile app, please go back and try again. Continue Cancel Payment Your payment for **!!{item}!!** has been canceled. @@ -6731,6 +6777,9 @@ Payment Canceled Payment Authentication Failed Payment Authenticated + Payment authorization link has expired. + Payment Authorized + Authorizing Currency Paying in Unable to confirm payment method @@ -6843,11 +6892,13 @@ Discord is unable to pin that message. You may have hit the limit of {maxPins} pins in channel #!!{channelName}!!. Discord is unable to pin that message. You may have hit the limit of {maxPins} pins in this channel. The Pin Broke + Pin Post Pinned Messages PROTIP: Users with \'Manage Messages\' can pin from the cog menu. You and !!{other}!! can pin a message from its cog menu. Any group member can pin a message from its cog menu. + Pinned Pins This channel is NSFW and due to its content its pins should not be viewed by anyone. Pins, unread @@ -7248,7 +7299,9 @@ Manage Nitro Your **!!{price}!!** subscription is past due. Please update your payment info or your subscription will end on **{endDate}**. Your subscription is past due. Please [update your payment info for !!{paymentGatewayName}!!]({paymentSourceLink}) or your subscription will end on **{endDate}**. + **Your payment is processesing.** Please be patient, this can take up to {maxProcessingTimeInDays} days. We will email you a confirmation when it’s complete. Boosts + Your **Nitro** subscription is prepaid through **{prepaidEndDate}**. You can extend your plan by editing your payment method. Your subscriptions will automatically renew on **{renewalDate}** and you\'ll be charged **!!{price}!!**. Your subscriptions will automatically renew on **{renewalDate}**. Please [visit your !!{paymentGatewayName}!! Subscription settings]({subscriptionManagementLink}) for more details. Your subscription will be upgraded on **{upgradeDate}** and you\'ll be charged an estimated price **!!{upgradePrice}!!**. After, it will renew on **{renewalDate}** and you\'ll be charged **!!{renewalPrice}!!**. @@ -7318,6 +7371,7 @@ Hold up! You need Nitro to get this loot. Show Subscription Details Trying to manage your Nitro subscription? Go to your [Subscriptions](onSubscriptionsClick) page. + By purchasing a Nitro subscription, you agree to our [Terms of Service]({termsURL}), [Paid Services Terms]({paidURL}), and [Privacy Policy]({privacyURL}). Payment will be charged to your Apple ID account at the confirmation of purchase. Subscription automatically renews unless it is canceled at least 24 hours before the end of the current period. Your account will be charged for renewal within 24 hours prior to the end of the current period. You can manage and cancel your subscriptions by going to your account settings on the App Store after purchase. Subscription Updates Thank you! Thanks for your feedback. We appreciate it! @@ -8490,6 +8544,7 @@ Viewer Join Viewer Leave Voice Disconnected + Open Soundboard Discord Soundboard Add Sound Browse @@ -8790,6 +8845,8 @@ This stream has been hidden. Your network connection may be causing a decrease in video and audio quality. To improve voice audio, disable the stream. Stream just started. Get in here! + Sends a desktop and/or mobile push notification when someone starts sharing their screen in your servers. + Enable Notifications for Screen Share Activity Participants without video are currently hidden. Would you like to show them? Playing !!{game}!! Stream HD resolutions at 60 frames per second, get access to chat perks, [and more with Discord Nitro!](onPressMore) @@ -9154,6 +9211,7 @@ Friend requests sent! Copied Command Feedback Sent! + Copied Post ID Friend invites revoked Gif Saved Copied ID @@ -9313,6 +9371,7 @@ Discord failed to unpin that message for some reason. Sorry about that. The Pin Is Stuck! Unpin Message + Unpin Post This will mark all your unmuted channels as read. Are you sure you want to continue? Mark all as read? You\'re all caught up!